Invariants / CN-PROTO-07

CN-PROTO-07

CN derived enforced

Receive-side agency closure: the receive bridge consumes only peer-originated ForkChoiceSignal and BatchDeliveryEvent values valid for the client-role N2N receive surface. Constructing or admitting locally-originated / client-output events into the receive reducer is unrepresentable in the public API.

Source

docs/planning/receive-side-bridge-invariants.md §1 (closure)

Cluster
PHASE4-N-H
Authority surface
receive-side mini-protocol event surface

Enforcement trace

Tests 3

  • receive_event_round_trips_through_pattern_match
  • receive_effect_round_trips_through_pattern_match
  • receive_error_round_trips_through_pattern_match

Cross-references

Evidence

  • ReceiveEvent enum has exactly 3 variants — all peer-originated. The exhaustive-match round-trip test will fail to compile if a fourth variant is added without explicit closure review.

  • ci_check_admitted_block_closure.sh forbids any locally-originated chain-sync/block-fetch variant name (RequestNext, RequestRange, ClientDone, FindIntersect) in events.rs production code.