Invariants / DC-PROD-01

DC-PROD-01

DC derived enforced

Producer-mode evidence log emits a closed ProducerLogEvent vocabulary: handshake_ok, slot_tick, leader_elected, block_forged, block_served, peer_chain_tip_observed, slot_missed{reason: closed_enum}, coordinator_shutdown{reason: closed_enum}. No free-form reason strings; no key material; no path strings. Socket addresses MUST NOT appear inside the replayable event stream — PeerId is an opaque u64 (coordinator-internal counter); socket addresses are RED operational metadata, surfaced separately and excluded from replay-equivalence comparison. Mirrors the LiveLogEvent / AdmissionLogEvent precedent established in N-L / N-M while remaining a distinct vocabulary.

Source

docs/planning/phase4-n-q-invariants.md §1 (I11); §2 (N9, N12, N13, N15)

Cluster
PHASE4-N-Q
Introduced in
PHASE4-N-Q

Enforcement trace

Tests 5

  • event_kinds_are_distinct_and_stable
  • json_serialization_round_trips_byte_identical_for_replay
  • no_string_fields_in_any_variant
  • slot_missed_reason_serializes_to_stable_strings
  • produce_mode_starts_runs_three_slots_and_exits_via_max_slots

CI 0

no CI script — gap

Cross-references