docs(adr-002): the surrogate is a hash of the normalized record, resolved via a maintained index
Decided: hash the record (coord tuple minus _Measure), not the cell — it is already ADR 001's atomicity unit and what record_versions is keyed by, so one identity serves addressing and staleness. Resolution is a maintained index in DataStore, which already interns names and already keeps a (Symbol,Symbol) secondary index that makes invalidation tractable. Records the three ways this breaks silently: a per-process-seeded hasher, a derived Hash with no stability guarantee, and a width chosen for convenience rather than for the consequence of a collision. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EoW5BB87ZZdm96SvBTWawH
This commit is contained in:
+1
-1
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user