Skip to content

RegistryLock

Defined in: packages/contracts/src/registry-diff.ts:34

A committed baseline of a registry’s shape — the enforcement surface for the gate.

optional rowClasses?: 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.


optional streams?: 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: CanonicalTable[]

Defined in: packages/contracts/src/registry-diff.ts:36


version: string

Defined in: packages/contracts/src/registry-diff.ts:35