- Generic SnapshotWriter[T]/SnapshotReader[T] over a value-agnostic raw layer;
SnapshotHolder[T] now RWMutex-guards munmap vs in-flight Get (race-free swap,
TestSnapshotHolder_SwapRace) — the drain grace is now just close-batching.
- ProjectionStore[T]: snapshot begin|chunk|end assembly → atomic swap, epoch-gated
delta overlay, tombstones, atomic epoch sidecar (ordered before the swap),
cold-start reopen, mandatory ProjectionTransform[T]. Future-epoch deltas are
dropped by contract (recover via next snapshot), not buffered.
- Shared bus-framing constants so producer + consumer agree.
- Bump slask-finder / go-cart-actor / backoffice pointers; refresh status.md +
catalog-projection.md to the finished state.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>