Topic Promotion Governed Activation — 06 Issue/Event/Log Boundary (2026-06-03)
06 — Objective E: Issue / Event / Log Boundary — PASS
Artifact: sql/E_issue_event.sql.
Payload shaping for ALL detector types
v_drift_event_mapmaps each of 10 detector_codes → a governance event_type (coverage.scan_completed / candidate.scan_completed / input.untrusted_source / handoff.object_born).v_drift_issue_payloadjoins open drift state → event map → event_type_registry; shapes safe_payload, canonical_address, actor_ref='gov:drift-scanner', source_system='governance_clone', stream/lane, type_active/emit_blocked.
Live: 41 shaped, 41 blocked, 0 emittable (candidate.scan_completed=1, coverage.scan_completed=38, input.untrusted_source=2).
Clone-local log (no external dispatch)
governance_event_log (clone-local, NOT event_outbox) snapshotted 41 shaped payloads with emitted=false, blocked_reason='event_type_inactive (governance disabled)'. 41 logged, 0 emitted.
Fail-closed proof (rollback-only inserts to event_outbox)
Trigger trg_event_outbox_type_validate → fn_event_type_validate rejects unknown→inactive→stream→lane. 1 active(false) gov type coverage.scan_completed → REJECT "is inactive". 2 unknown type → REJECT "unknown". 3 stream mismatch → REJECT (inactive fires first — more conservative). event_outbox gov stays 0.
No dispatcher
event_outbox only has the validate trigger (no NOTIFY/dispatch). Emission needs (a) a gov event type active=true and (b) a process reading the outbox — neither exists.
Production MUST keep disabled until ratified
1 all 5 gov event_type_registry rows active=false. 2 no outbox dispatcher/worker for governance. 3 governance_event_log stays log-only. 4 value activation + ownership ratification gated on ospa≥1 + human L2/L4.
Verdict
PASS. All detector payloads shaped, logged clone-locally, provably non-emitting; fail-closed on inactive/unknown/mismatched types.