DC-CONS-18
DC derived enforcedHeader bytes announced via chain-sync RollForward{header,tip} are the header sub-segment of the AcceptedBlock whose body bytes are subsequently servable via block-fetch. block_body_hash applied to the served body MUST equal the body-hash field of the announced header.
- Source
docs/planning/phase4-n-a-successor-invariants.md §1 (I-2)
- Cluster
- PHASE4-N-G
- Authority surface
- producer-side chain-sync RollForward header projection
Enforcement trace
Code
Tests 5
- producer_chain_sync_serve_roll_forward_header_equals_accepted_block_header_bytes
- session_transcript_announced_header_matches_served_body_recipe
- accepted_block_header_bytes_equals_validator_split_on_corpus
- forge_block_accepts_empty_mempool
- unsigned_header_preimage_matches_decode_block_extraction_for_corpus
Cross-references
Strengthened in
Evidence
End-to-end transcript test session_transcript_announced_header_matches_served_body_recipe asserts the rolled header bytes equal accepted_block_header_bytes over the same AcceptedBlock the matching block-fetch range subsequently serves.
The single canonical header splitter is enforced by ci_check_no_parallel_header_splitter.sh; the GREEN adapter imports accepted_block_header_bytes (positive grep in ci_check_broadcast_to_served_purity.sh).