Rust: a cache must pull its stores before it writes (cache-must-pull-before-write) #133
Loading…
Reference in a new issue
No description provided.
Delete branch "libby/cache-must-pull-before-write-rs"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes follow-up
cultlib-gaps:follow_up:cache-must-pull-before-write.A cache attached to a populated store that never pulled held an empty image, so
put_prepared_batchreplaced the store with only its new keys (data loss, predates bytes-after).require_loadednow also refuses while the cache is unpulled: never pulled, or a store attached after the last pull. A cache with no stores needs no pull. Refusal isCultCacheLoadRefused, as for a refused load.Tests: wipe reproduced first (single-file and redb), then gate across batch, put, put_raw_envelope and delete; pull lifts it; late attach closes it. 36 existing tests pulled after attach as the rule now requires.
Parity: C# and Python write staged records onto the store (read from source). TS does NOT: pushAll replaces the file, so CultMesh.createNode(pullOnStart:false) then flush() wipes it (follow-up ts-flush-replaces-store). A cache that pulled but is stale still wipes in Rust (follow-up rs-batch-merges-onto-store). Soul: three integration tests, is_writable and the changelog were fixed in
d1a028f6.🤖 Generated with Claude Code