cultcache-rs: update-with-retry (update-with-retry-rs) #171

Merged
libby merged 6 commits from golden-write/update-with-retry-rs into main 2026-11-14 00:54:02 +00:00
Member

cultcache-rs: CultCache::update is 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. Every replacing write through the single-file store's push, push_all and commit_if is re-stamped later than the record it replaces, per variants:ruling:py-rs-update-follow-csharp-restamp; the exact-envelope CAS family and redb stores are unchanged.

Breaking: CacheBackingStore::push and push_all return the stored_at they wrote; Huginn's test stores break at its next rev bump (CHANGELOG). New dependency: sha2 0.10 (already in the cultnet-rs and cultmesh-rs locks).

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

🤖 Generated with Claude Code

cultcache-rs: CultCache::update is 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. Every replacing write through the single-file store's `push`, `push_all` and `commit_if` is re-stamped later than the record it replaces, per `variants:ruling:py-rs-update-follow-csharp-restamp`; the exact-envelope CAS family and redb stores are unchanged. Breaking: `CacheBackingStore::push` and `push_all` return the stored_at they wrote; Huginn's test stores break at its next rev bump (CHANGELOG). New dependency: sha2 0.10 (already in the cultnet-rs and cultmesh-rs locks). Spec `variants:cut_spec:cut-update-with-retry-rs.r1`, reports `.h1` and `.h2`, Soul verdict `variants:verdict:cut-update-with-retry-rs.s1`, follow-up `variants:follow_up:update-with-retry-rs`. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
cultcache-rs: state the version's minimal-encoding condition; correct Huginn store and lockfile counts
Some checks failed
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Has been cancelled
b402dfa1d0
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
ci: rerun after the runner cap cancelled run 902 at the 30-minute mark
Some checks failed
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Has been cancelled
25661000d0
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
libby force-pushed golden-write/update-with-retry-rs from 25661000d0
Some checks failed
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Has been cancelled
to 84d64d339a
All checks were successful
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Successful in 33m5s
2026-11-13 23:03:00 +00:00
Compare
libby merged commit afab2d5a12 into main 2026-11-14 00:54:02 +00:00
libby deleted branch golden-write/update-with-retry-rs 2026-11-14 00:54:03 +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!171
No description provided.