The provenance verdict for ANY contract's declaration, from its presentation columns alone —
the one precedence, so a second contract cannot grow a second reading of the same two columns.
Control answers FIRST: a fact carried by a toggle, an enum, a scribble string or a readout has
no travel to declare, and calling that a gap would make the ledger unable to reach zero. Only
a fact that could carry a number is asked where its travel comes from.
channelCensus deliberately does NOT call this — it resolves through boundsOf, which
is what actually decides whether a consumer can reach bounds. The two are pinned together by
contract-census.test.ts's cross-check arm: if this precedence and the resolver's ever
disagree, the census has stopped deriving and started restating.
The provenance verdict for ANY contract's declaration, from its presentation columns alone — the one precedence, so a second contract cannot grow a second reading of the same two columns.
Control answers FIRST: a fact carried by a toggle, an enum, a scribble string or a readout has no travel to declare, and calling that a gap would make the ledger unable to reach zero. Only a fact that could carry a number is asked where its travel comes from.
channelCensus deliberately does NOT call this — it resolves through
boundsOf, which is what actually decides whether a consumer can reach bounds. The two are pinned together bycontract-census.test.ts's cross-check arm: if this precedence and the resolver's ever disagree, the census has stopped deriving and started restating.