Invariants / DC-CONS-17
DC-CONS-17
DC derived enforcedBlock bytes delivered via producer-side block-fetch Block{bytes} are byte-identical to AcceptedBlock.as_bytes() for the AcceptedBlock that cleared self_accept. The producer-side server never re-encodes.
- Source
docs/planning/phase4-n-a-successor-invariants.md §1 (I-1)
- Cluster
- PHASE4-N-G
- Authority surface
- producer-side block-fetch wire-byte transmission
Enforcement trace
Code
Tests 5
- producer_block_fetch_serve_block_bytes_equal_accepted_block_as_bytes
- session_transcript_served_block_bytes_equal_admitted_accepted_block_bytes
- n_r_b_partial_overlap_from_endpoint_not_in_snapshot_yields_no_blocks
- n_r_b_partial_overlap_to_endpoint_not_in_snapshot_yields_no_blocks
- n_r_b_partial_overlap_both_endpoints_fabricated_yields_no_blocks
Cross-references
Strengthened in
Evidence
End-to-end transcript test session_transcript_served_block_bytes_equal_admitted_accepted_block_bytes asserts every Block{bytes} payload in a corpus-driven transcript equals the admitted AcceptedBlock.as_bytes() at its (slot,hash) key.
CI gate ci_check_block_fetch_server_closure.sh enforces that producer_block_fetch_serve sources Block{bytes} only through served.range_bytes (positive grep).