Fixes variants:finding:cut-update-with-retry-ts.s3.identical-drops-writer-catalog and .identical-rule-undeclared.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
update and updateGlobal read the record and its content version from the
store, apply to a fresh copy, commit through the store's commitIf and run
again on a lost race, returning updated, declined or lostRace. A cache with
no store compares the held entry. put stays the blind write.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The single-file store reports a record with its content version (SHA-256 of
the persisted encoding, equal to the C# reference's on the content-version
vector), commits conditionally under its write lock, and stamps a write that
replaces a record strictly later than it.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
store.cc and versions.msgpack pin the content version of a stored record
(SHA-256 of its persisted encoding) for other runtimes to match.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>