RegistryLock
Defined in: packages/contracts/src/registry-diff.ts:34
A committed baseline of a registry’s shape — the enforcement surface for the gate.
Properties
Section titled “Properties”rowClasses?
Section titled “rowClasses?”
optionalrowClasses?:RegistryRowClasses
Defined in: packages/contracts/src/registry-diff.ts:49
Each entry’s row classification (ADR-0052), keyed by registry key; null = unclassified. A SIBLING of
tables, deliberately not a field of CanonicalTable: the canonical table shape is what
fingerprintRegistry hashes, and that hash is PERSISTED as the local store’s cache key — so folding
classification into it would make merely classifying a table wipe every store’s read cache. The lock
still records it, so an un-enrolment (a class removed or changed) is a reviewable diff.
Optional because a committed lock is JSON on disk: one written before this field existed simply has no
rowClasses, and the diff then reads the whole baseline as unclassified — so adopting classification
against an old lock is a set of compatible declarations, never spurious risk. buildRegistryLock
always populates it.
streams?
Section titled “streams?”
optionalstreams?:RegistryEventStreams
Defined in: packages/contracts/src/registry-diff.ts:62
Each registered Event stream (ADR-0053 decision 1), keyed by Event-stream name → a canonical hash of its
payload schema AND its identity declaration. A SIBLING of tables for the same reason rowClasses is:
the canonical table shape is what fingerprintRegistry hashes and that hash is the local store’s
PERSISTED cache key, so folding an Event stream into it would make registering one wipe every store’s read
cache — for a lane that touches no synced table, no local schema and no apply function.
Optional because a committed lock is JSON on disk: one written before this field existed simply has no
streams, and the diff then reads the whole baseline as having none — so adopting the Event lane against
an old lock is a set of compatible additions, never spurious risk. buildRegistryLock always
populates it.
tables
Section titled “tables”tables:
CanonicalTable[]
Defined in: packages/contracts/src/registry-diff.ts:36
version
Section titled “version”version:
string
Defined in: packages/contracts/src/registry-diff.ts:35