Invariants / DC-LEDGER-08

DC-LEDGER-08

DC derived enforced

Conway 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

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

Cross-references

Strengthened in

Open obligation