cultcache-py: single-file store lock, fsync and unique staging; msgpack hard; slot-nil reader #16
Loading…
Reference in a new issue
No description provided.
Delete branch "libby/cultcache-py-store-lock"
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?
Brief B of the 2026-11-06 parity audit (Python CultCache store).
<path>.lock(flock; LockFileEx whole-file on Windows), as cultcache-ts store-file.ts; staged file<path>.tmp-<pid>-<uuid>, fsync before replace, directory fsync after.Tests:
python -m unittest discover -s testsin packages/cultcache-py: Ran 175 tests, OK (166 before). New tests fail when the rule breaks (checked by mutation: lock disabled -> 3 failures; fsync removed -> 2; fixed staged name -> 1; nullable nil removed -> 1 failure + 14 errors).A write waits while a flock holder and the real TypeScript withStoreWriteLock (koffi, node 24) hold the lock.
Not run: a Rust holder (no harness; fs2 lock_exclusive is flock on Unix, which the flock holder stands in for) and the Windows LockFileEx path (no Windows here; the ctypes code is unexercised).
🤖 Generated with Claude Code