Commit Graph
14800 Commits
Author SHA1 Message Date
Ruben FiszelandClaude Opus 5 d1f57d5bd3 fix: count rows and values from one instant, and call a stale re-read failed
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 20:11:22 +02:00
Ruben FiszelandClaude Opus 5 8f70a64d50 fix: credit only a row the live item actually wrote
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 19:59:29 +02:00
Ruben FiszelandClaude Opus 5 d53075edef fix: let a caller declare the row it wrote for a value it handed in
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 19:48:22 +02:00
Ruben FiszelandClaude Opus 5 45add0a4c0 fix: weigh rows appearing during a read against the values that account for them
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 19:33:36 +02:00
Ruben FiszelandClaude Opus 5 f753d993ff fix: only call a read stale when no newer value came with the row
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 19:17:39 +02:00
Ruben FiszelandClaude Opus 5 47afd85bcc fix: never write from a read another editor's row landed during
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 19:01:44 +02:00
Ruben FiszelandClaude Opus 5 03b62f46db fix: carry a discard's original snapshot through its recovery retry
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 18:43:05 +02:00
Ruben FiszelandClaude Opus 5 514685b65f fix: tell a stale live owner from an absent one on an outside discard
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 18:32:41 +02:00
Ruben FiszelandClaude Opus 5 0a940168ad fix: enforce the stale gate in save, refresh and outside discard
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 18:17:32 +02:00
Ruben FiszelandClaude Opus 5 73e09b7dab fix: stop an editor acting on a baseline its failed re-read left behind
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 17:59:04 +02:00
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