cultcache-py: update-with-retry (update-with-retry-py) #172

Merged
libby merged 6 commits from golden-write/update-with-retry-py into main 2026-11-14 03:21:37 +00:00
Member

cultcache-py: CultCache.update and update_global become update-with-retry to the semantics of the C# CultCache.Update (#168, #170): content version (SHA-256 of the record's re-encoded stored bytes, pinned by the C#-written vector in tests/vectors/content-version), conditional commit (read, commit_if on the single-file store), re-run on a lost race, typed updated | declined | lost-race result, bounded attempts; the blind update is replaced in place. Every replacing write through the single-file store is re-stamped later than the record it replaces, per variants:ruling:py-rs-update-follow-csharp-restamp; the JSONL store refuses update. cultmesh-py's put_raw_message publishes the stamp the store wrote.

Spec variants:cut_spec:cut-update-with-retry-py.r2, reports .h1 and .h2, Soul verdict variants:verdict:cut-update-with-retry-py.s1, follow-up variants:follow_up:update-with-retry-py.

🤖 Generated with Claude Code

cultcache-py: CultCache.update and update_global become update-with-retry to the semantics of the C# CultCache.Update (#168, #170): content version (SHA-256 of the record's re-encoded stored bytes, pinned by the C#-written vector in tests/vectors/content-version), conditional commit (`read`, `commit_if` on the single-file store), re-run on a lost race, typed updated | declined | lost-race result, bounded attempts; the blind update is replaced in place. Every replacing write through the single-file store is re-stamped later than the record it replaces, per `variants:ruling:py-rs-update-follow-csharp-restamp`; the JSONL store refuses update. cultmesh-py's put_raw_message publishes the stamp the store wrote. Spec `variants:cut_spec:cut-update-with-retry-py.r2`, reports `.h1` and `.h2`, Soul verdict `variants:verdict:cut-update-with-retry-py.s1`, follow-up `variants:follow_up:update-with-retry-py`. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Replaces the blind update and update_global with update(document, key, apply, max_attempts) over store read and commit_if;
push and push_all restamp a replacing write later and report the stamp.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
cultcache-py: strict stored_at shape, range edges refuse, mesh publishes the stored stamp, home-swap guard pinned (update-with-retry-py s1 fixes)
Some checks failed
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Has been cancelled
cb6e044c0f
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
cultmesh-py: replicated put logs the stored stamp; cultcache-py: bound stamp offset minutes, pin shape (update-with-retry-py s2 fixes)
Some checks failed
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Has been cancelled
172ad6d87d
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
cultmesh-py: subscriber notification carries the stamp the cache holds (update-with-retry-py s3 fix)
Some checks failed
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Has been cancelled
744b21ba52
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
libby force-pushed golden-write/update-with-retry-py from 744b21ba52
Some checks failed
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Has been cancelled
to 6e56d87d11
Some checks failed
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Has been cancelled
2026-11-13 23:03:01 +00:00
Compare
libby force-pushed golden-write/update-with-retry-py from 6e56d87d11
Some checks failed
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Has been cancelled
to b2f87cab7e
Some checks failed
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Failing after 27m40s
2026-11-14 00:54:25 +00:00
Compare
ci: rerun after run 930 failed with no log access
All checks were successful
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Successful in 34m15s
f0c2eca095
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
libby merged commit c77d734da5 into main 2026-11-14 03:21:37 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/CultLib!172
No description provided.