feat(state): Cloudflare-canonical exact-review records (state-repo retirement, phase 1) - #866
Merged
Merged
Conversation
Store canonical exact-review records in Durable Object SQLite with digest and monotonic revision fences, chunking above 1.5 MiB, and tombstones. Make POST acceptance atomically write canonical rows plus a record_tuple append-window entry, then terminalize immediately with a do-txn receipt. Delete the structurally broken 380-line Worker git writer: recursive tree reads always truncated on the 39.5 GiB state repository, so it never committed once. Make the materializer drain record_tuple appends into git as a projection with tuple atomicity and chooseRecordTupleWinner semantics. Add authenticated record get/list endpoints, migrate pre-deploy pending plans, and prune receipts after seven days. The git state repository is now a projection for these records, not the authority. This is phase 1 of full GitHub-storage retirement.
Contributor
|
ClawSweeper status: review started. I am starting a fresh review of this pull request: feat(state): Cloudflare-canonical exact-review records (state-repo retirement, phase 1) This is item 1/1 in the current shard. Shard 0/1. This placeholder means the worker is alive and reading the current context. I will edit this same comment with the actual review when the claws are done clicking. Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted. |
steipete
added a commit
that referenced
this pull request
Jul 26, 2026
…ples (#867) #866 overlaid tuple paths onto existing git state before validation, so an items→closed section move tripped the both-primaries check inside the whole-cycle transaction, wedging all projections (live failure since 07:04Z, 813 rows blocked, item openclaw-openclaw/113989); fix tombstones displaced primaries + stale sidecars, coalesces by highest revision, normalizes wedged payloads, isolates invalid tuples to durable dead-letters with bounded retries so cycles keep committing, keeps re-drains idempotent, adds canonical DO tombstones for section moves.
This was referenced Jul 26, 2026
8 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
record_tupleappend-window entry when POST acceptance succeeds, then terminalize immediately with ado-txnreceipt.record_tupleappends into git as a projection, preserving tuple atomicity andchooseRecordTupleWinnersemantics.The git state repository is now a projection for these records rather than the authority. This is phase 1 of full GitHub-storage retirement.
Proof