KB-17C6

09 — Technical Addendum SCAFFOLD: Issue / Event / Notification (2026-06-01)

3 min read Revision 1
one-roof-governancescaffoldissue-eventnotificationregister-before-emitdieu45system-issuesevent-outboxtrack-t7design-only2026-06-01

09 — Technical Addendum SCAFFOLD: Issue / Event / Notification

SCAFFOLD only. No SQL, no event code. Frames future T7.

Purpose

Frame the future design of how governance issues and events are registered, emitted, coalesced, and notified — under Đ45's register-before-emit rule, reusing existing issue/event substrate rather than building a new one.

Controlling inputs

  • Concept canon doc 01 (anti-spam; detection obligation) and doc 02 (Đ37 hub references for SIV).
  • Round-4 doc 08 (SB-4: no governance/coverage/axis/orphan/anarchy/island/exception event-type domain; mother.* rows active=false; system_issues.issue_type free-text, no CHECK).
  • Registries-Pivot patched doc 09 (notification/cleanup-trigger contract; reuse thiếu_quan_hệ/sai_lệch_dữ_liệu, coalesce_key idempotent, event_outbox emit).
  • This package doc 03 §3.4 (SB-4); doc 04 (T7).

Current blocker status

OPEN. No governance event-type domain registered; mother.*/governance.* events dormant (active=false); issue types are free-text. Nothing may be registered live or emitted until designed, gated, and approved.

Exact scope of the future design (T7)

  • Register-before-emit design (Đ45): a GOV-SIV governance / integrity event-type domain in event_type_registry, defined as data before any emit.
  • Reuse existing issue types: thiếu_quan_hệ (orphan), sai_lệch_dữ_liệu (drift); reuse system_issues + event_outbox + coalesce_key idempotency; do not invent a parallel issue store.
  • Anti-spam coalesce/cooldown/summary/emit-ceiling (shared with T6).
  • Define the issue→event→notification flow and the owner-routing (who is notified per responsibility-scope, M-DEF-3).

Dependencies

  • Feeds and is fed by T6 (coverage scanner emits these events).
  • Reuses GOV-SIV. Owner-routing depends on SB-2 owner edge (T4) and, for IU, OP-B.

Known constraints

  • Register before emit (Đ45) — no ad-hoc event names.
  • Reuse existing issue/event taxonomy; extend by data, not by a new table.
  • Idempotent coalescing; anti-spam mandatory.

Forbidden implementation shortcuts

  • ❌ Registering event types live; ❌ emitting any event; ❌ activating dormant mother.* rows.
  • ❌ A free-text issue type that bypasses register-before-emit.
  • ❌ A parallel notification island.

Acceptance criteria for the future detailed design

Governance event-type domain designed as register-before-emit reuse; orphan/drift reuse confirmed; coalesce/anti-spam specified; owner-routing defined; no registration/emit; no-island attestation.

Where future detailed docs must be added

This package (e.g. 09a-issue-event-notification-design.md). Pointer added here.

What old docs must NOT be used as controlling input

  • Pre-Round-4 event wording where it conflicts.
  • Registries-Pivot ship reports as a governance event spec (reference only).
Back to Knowledge Hub knowledge/dev/reports/architecture/one-roof-governance-technical-addendum-and-implementation-index-2026-06-01/09-technical-addendum-issue-event-notification-scaffold.md