 Ruben FiszelandClaude Opus 5
|
4df59fbc79
|
docs: condense the patch rollback invariant to four lines
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 17:41:04 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
8f027091eb
|
fix: give a refused patch back field by field, not all or nothing
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 17:11:30 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
f8ebd281c8
|
docs: condense the AsOf invariant to four lines
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 16:56:59 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
aa2d6043e1
|
fix: count an outside write for read ordering even when it changes nothing on screen
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 16:36:21 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
da588bf8ed
|
fix: tell a failed refresh from an absent editor, and a patch's value from a newer one
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 16:18:53 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
8a948f127b
|
fix: let an outside discard snapshot when it was asked for, not after its wait
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 16:01:43 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
a3b9a9370d
|
fix: have a live editor say whether it dealt with the row, not just that it answered
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 15:44:17 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
f28a6845e0
|
fix: give a deploy, an item deletion and a draft discard their own transitions
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 15:26:33 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
184af46829
|
fix: let a deployed item's editor settle its own row instead of discarding it
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 15:04:35 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
b4ed4f52c5
|
fix: re-read a live editor before a deploy discards the draft it made
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 14:50:47 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
994b8dcae1
|
fix: keep an unsent row on its own baseline, and let one editor own one delete
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 14:31:52 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
6fde8e9dce
|
fix: re-issue a draft delete the server never received instead of assuming it landed
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 14:16:11 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
e226143f4c
|
fix: open an item on the row its syncer could not send
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 14:02:16 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
c5312f2a19
|
fix: drop only a refused payload on adoption, never one that never reached the server
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 13:51:14 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
978d8b5813
|
fix: drop the payload the server refused when a read adopts a fresh baseline
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 13:39:16 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
15a9cacf01
|
fix: mark a read's row baseline after its own flush, not before
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 13:26:04 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
b4a89a3b16
|
docs: say handed over, not landed, for the row-baseline ordering token
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 13:12:13 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
d491693a8a
|
fix: let an unasked read move the deployed side under a conflict without answering it
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 12:41:05 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
a3e0e6e80d
|
fix: order a read's row baseline against every writer, and spare a conflicted holder
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 12:27:34 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
a0077ce5e9
|
fix: measure a discard against what moved under it, not against the value
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 12:08:22 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
c9a3fcbda2
|
fix: let a discard asked for before the first read throw away what it turns up
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 11:59:00 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
b884cc92f8
|
refactor: reshape the item store's command layer so the races cannot be written
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 11:44:19 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
8455c7da3a
|
fix: tag which patch owns a field rather than inferring it from the value
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 11:44:14 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
8bfaae1def
|
refactor: take one request-time snapshot per command instead of four by hand
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 11:39:57 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
bc2e51c514
|
refactor: take a read's row and its sync baseline together, ordered
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 11:37:40 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
2fab8c8aff
|
refactor: derive the deployed baseline instead of overlaying it by hand
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 11:35:51 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
04eed3f58a
|
fix: three concurrency holes in the item store's command layer
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 11:30:55 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
b33f70e77f
|
fix: keep the row baseline a read that started earlier would rewind
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 11:01:36 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
899899b284
|
docs: condense the discard invariant to four lines
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 10:50:07 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
a68b19130f
|
fix: grey the draft banner's Discard while a command is in flight, like Save
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 10:31:53 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
8a6fa9b8a4
|
fix: measure a queued discard against the value it named, not a write count
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 10:31:53 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
6cbf34c045
|
fix: discard the value as of the click, not as of its turn
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 10:14:03 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
89170ab042
|
fix: keep an in-flight patch's fields on every write of the deployed side
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 10:02:37 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
1a50765295
|
fix: let an outside write that lands during a discard keep the item
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 09:46:12 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
47b6934266
|
fix: leave a command's own value replacement out of the edit count
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 09:33:02 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
d17f60945a
|
fix: count a re-read's edits from before its row went out
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
|
2026-09-15 09:19:05 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
718a7b516e
|
fix: send a held item's queued row before re-reading it
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
|
2026-09-15 09:11:41 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
8478b4ea98
|
refactor: write the item a panel config stands for without becoming it
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
|
2026-09-15 00:45:39 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
866050aaf6
|
fix: carry the stamp with a value handed between entries
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
|
2026-09-14 20:49:41 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
2bedaf1afe
|
fix: ignore an ask older than the one that already holds, its value included
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
|
2026-09-14 20:39:50 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
6e98542839
|
refactor: stamp every ask of an item so the one asked last holds
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
|
2026-09-14 20:27:04 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
8d0966d902
|
fix: keep a parked draft from outranking a discard asked after it
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
|
2026-09-14 20:13:20 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
4ea45a83aa
|
fix: hold a discard superseded by a later draft, whether or not the move lands
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
|
2026-09-14 20:00:03 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
226cf97d1f
|
fix: let the ask that came last hold, a draft rewritten unchanged included
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
|
2026-09-14 19:40:23 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
2d48f7f0f9
|
fix: let the last outside write at a key win over a discard and a parked draft
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
|
2026-09-14 19:29:13 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
4ffa65538f
|
fix: let a discard asked before a move lands win over the edits it drops
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
|
2026-09-14 19:12:23 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
984e958a72
|
fix: keep an outside draft written to an editor still loading behind a move
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
|
2026-09-14 18:49:21 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
aca3aef0ec
|
fix: keep a draft written at a key while a save is moving onto it
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
|
2026-09-14 18:36:44 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
981ba6f882
|
fix: name the item on screen in the drawers' title, anchor and picker
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
|
2026-09-14 18:22:19 +02:00 |
|
 Ruben FiszelandClaude Opus 5
|
a043f76f0c
|
fix: carry a run-as-only edit onto the entry a move replaces it with
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vn1jCHUcAdaG9C4NsUehF
|
2026-09-14 18:22:19 +02:00 |
|