openmixer — generated API reference
    Preparing search index...

    Function factCasesOf

    • GENERATE the persistence obligation from CHANNEL_CONTRACT: one FactPersistenceCase per (fact, kind) pair the contract actually declares — every kind in kinds, crossed with the fact's own persisted bit. This is the enumeration a hand-written suite would otherwise keep in step by hand; a fact or a kind added to the contract widens the list with NO edit here.

      Deliberately NOT scoped to ChannelSnapshotJson the way persistedSnapshotFields is: a fact persisted on a bus/matrix/group kind rides a SIBLING snapshot section (buses, matrix, dcas, muteGroups) or a bespoke field. This names WHICH (fact, kind) pairs the contract obligates, never WHERE the value lives — locating it is a consumer concern, because the contract has no single vocabulary for "which snapshot section" yet. The generator SURFACES that gap rather than papering over it.

      Its consumer is the TEST TIER, and that is the point rather than a shortfall: this is task #92's "generate the obligations" — the positive obligations a client must satisfy, derived instead of transcribed. It is not a contract COLUMN, so the connector gate (contract-connector-conformance.test.ts) does not govern it; that gate asks whether a DECLARATION is read by production, and this is a derivation whose whole job is to be asserted against.

      RESCUED: written 2026-08-07 on feat/generate-the-persisted-obligation, found unmerged 2026-08-11 in a worktree inside a job tmp directory. Re-applied against current main rather than merged — the branch was 176 commits behind.

      Parameters

      Returns readonly FactPersistenceCase[]

      every declared (fact, kind) pair, each carrying its own persisted bit