Skip to content

v0.1.1: explicit concurrent-writer contract

Choose a tag to compare

@ikorfale ikorfale released this 31 Aug 15:02
· 4 commits to main since this release

This bounded increment turns the previously untested concurrent-writer limitation into an explicit contract and regression test.

Evidence on Linux/Python 3.12:

  • python3 -m unittest -v test_durable_state.py: 6 tests passed in 0.481s.
  • Eight synchronized writer processes each submitted a distinct 128 KiB generation; all exited 0, the final file exactly matched one submitted payload, and no completed-process temp files remained.
  • Real CLI dogfood wrote a 50-byte JSON state file with mode 0600.
  • Negative case: 64 MiB + 1 byte stdin exited 2 and created no destination.

Concurrent writers are deliberately last-replacement-wins with unspecified ordering. This is not read-modify-write protection and does not prevent lost updates. Power-loss durability, NFS, full disks, ACLs/xattrs, and symlink policy remain untested/unsupported boundaries.