Commit Graph
14816 Commits
Author SHA1 Message Date
Ruben FiszelandClaude Opus 5 7166b32b41 fix: gate every send on the conflict, not just the replays
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-16 01:02:50 +02:00
Ruben FiszelandClaude Opus 5 0d4cbe5a88 fix: let go of the value once it is back on the deployed one
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-16 00:47:26 +02:00
Ruben FiszelandClaude Opus 5 72cad65b99 fix: keep a refused payload until the user answers it, never send it meanwhile
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-16 00:32:01 +02:00
Ruben FiszelandClaude Opus 5 a73c2be1b6 refactor: have a read ask who owns the value, not what moved since
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-16 00:07:20 +02:00
Ruben FiszelandClaude Opus 5 ec157d628c fix: persist the row a live item keeps, not the value handed to it
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 23:16:14 +02:00
Ruben FiszelandClaude Opus 5 e58ba737e4 fix: count rows, not seeds, and seed a mirror the live item took from
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 22:54:54 +02:00
Ruben FiszelandClaude Opus 5 d902638c71 fix: keep an edit this read's own retry got refused
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 22:24:44 +02:00
Ruben FiszelandClaude Opus 5 112d95ba5e fix: do not conflict against an autosave that landed during the reopening read
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 22:12:03 +02:00
Ruben FiszelandClaude Opus 5 a1b85111de fix: clear only the mirrors after a clear-all, never discard a second time
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 22:04:12 +02:00
Ruben FiszelandClaude Opus 5 ca5912c8b6 fix: hold a waiting row across a read, guard learn, keep a kept draft masked
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 21:49:49 +02:00
Ruben FiszelandClaude Opus 5 59c6f4da3c fix: stop a stale discard's retry when recovery turned up another draft
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 21:31:16 +02:00
Ruben FiszelandClaude Opus 5 a717649b29 fix: decide row ownership inside the discard, after the load queued ahead of it
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 21:16:34 +02:00
Ruben FiszelandClaude Opus 5 a5a4f25751 fix: do not let a clean editor acknowledge a row it never knew of
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 21:00:05 +02:00
Ruben FiszelandClaude Opus 5 6e0a9a96b3 fix: report a draft an editor kept rather than calling the discard done
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 20:47:42 +02:00
Ruben FiszelandClaude Opus 5 44004e5c33 fix: raise a conflict for an unsent payload meeting a draft it never saw
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 20:34:43 +02:00
Ruben FiszelandClaude Opus 5 860b63b2ea fix: give a baseline-less payload a baseline before letting it go out
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 20:23:09 +02:00
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