DC-LEDGER-08
DC derived enforcedConway cert-state accumulation is a closed, total, era-versioned transition: for each block at track_utxo, certificates decode through the era-correct closed grammar (Conway via the completed single decode_conway_certs retaining all owner payloads, tags 0..18) selected by explicit era dispatch — never the Shelley 6-variant decoder on Conway bytes, never reduced into the 7-variant Shelley Certificate, never with payload fields dropped. Every certificate resolves to an owner-tagged disposition: it mutates B4-owned CertState (delegation/pool), or it is owner-tagged to ConwayGovState and routed out-of-mutation-scope (observed, not swallowed, not applied), or it is a structured reject (NotValidInEra for removed tags 5/6, Malformed for bad CBOR, UnsupportedUntilStateOwner only for genuinely-ownerless cases — unreachable on the real corpus). Composite certs (tags 10/12/13) carry both a B4-owned mutation and an owner-tagged governance effect; both are represented. No certificate is flattened to neutral because there is nowhere to put it (the owner exists), decode-dropped, or apply-swallowed; a decode or apply error propagates as a structured LedgerError and halts the block transition. Incomplete or best-effort accumulation is a forbidden fail-open. (Wiring the owner-tagged ConwayGovState effects into applied governance state is PHASE4-B5, not B4.)
- Source
Cardano ledger spec (Conway CDDL certificate tags 0..18; delegation/pool state transitions); IDD fail-fast + closed-surface doctrine
- Cluster
- CL-LEDGER-VERDICT
- Authority surface
- BLUE Conway cert-state accumulation
Enforcement trace
Code
Tests 16
- each_tag_retains_owner_payloads
- drep_grammar_total
- conway_cert_action_total
- apply_outcome_agrees_with_action
- removed_tag_rejects_as_era_invalid
- drep_registration_is_owner_tagged_not_applied
- era_dispatch_conway_accumulates_via_conway_path
- era_dispatch_shelley_accumulates_via_shelley_path
- conway_decode_error_is_fail_closed
- conway_unknown_tag_is_fail_closed
- conway_removed_tag_is_fail_closed
- conway_apply_error_is_fail_closed
- conway_governance_cert_routed_out_of_scope
- positive_synthetic_cert_state_accumulates
- cert_state_replay_byte_identical
- adversarial_no_false_accept