09 — Technical Addendum SCAFFOLD: Issue / Event / Notification (2026-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.*rowsactive=false;system_issues.issue_typefree-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/integrityevent-type domain inevent_type_registry, defined as data before any emit. - Reuse existing issue types:
thiếu_quan_hệ(orphan),sai_lệch_dữ_liệu(drift); reusesystem_issues+event_outbox+coalesce_keyidempotency; 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).