Skip to content

CanonicalTable

Defined in: packages/contracts/src/fingerprint.ts:27

columns: CanonicalColumn[]

Defined in: packages/contracts/src/fingerprint.ts:32


consistencyGroup: string | null

Defined in: packages/contracts/src/fingerprint.ts:52

Consistency group (ADR-0009 decision 2). Part of the fingerprint because it decides which subscription-state row a table persists under: moving a table between groups must shift the fingerprint (forcing a cache rebuild + subscription reset) and surface in the diff gate. null = the default singleton group.


key: string

Defined in: packages/contracts/src/fingerprint.ts:28


localPrimaryKey: string[] | null

Defined in: packages/contracts/src/fingerprint.ts:31


managedFields: object[]

Defined in: packages/contracts/src/fingerprint.ts:45

applyOn: string[]

field: string

strategy: string


mode: string

Defined in: packages/contracts/src/fingerprint.ts:29


primaryKey: string[]

Defined in: packages/contracts/src/fingerprint.ts:30


projection: { journalTable: string | null; omitColumns: string[]; overlayTable: string | null; syncedTable: string | null; } | null

Defined in: packages/contracts/src/fingerprint.ts:33


retention: string

Defined in: packages/contracts/src/fingerprint.ts:59

Retention (ADR-0021). Part of the fingerprint because it changes the cluster DDL — an ephemeral table’s whole cluster is emitted as TEMP/pg_temp — so flipping persistent↔ephemeral must force a cache rebuild + subscription reset. (Subscription timing is NOT included: it is pure runtime orchestration over identical tables and needs no rebuild.)


shape: { electricTable: string | null; rowFilter: CanonicalRowFilter | null; shapeKey: string; tableName: string; } | null

Defined in: packages/contracts/src/fingerprint.ts:39