DC-PROD-01
DC derived enforcedProducer-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