09 — Issue / Event Type Gap (Q9)
09 — Issue / Event Type Gap (Q9)
Checks each requested type against (a) system_issues live vocabulary (issue_class/issue_type, no CHECK enum → free text), (b) event_type_registry (40 rows), and (c) whether any matching event was ever emitted in event_outbox (179,672 rows). Nothing was registered or emitted by this audit.
Live system_issues vocabulary (issue_class / issue_type · count)
null / template_gap= 181,378 (dominant) ·data_fault / thiếu_quan_hệ= 606 ·dieu22_sec4_2 / silent_fail= 546 ·null / collection_onboarding_gap= 345 ·orphan_file / dot_bug= 167 ·sync_fault / (null)= 141 ·null / kb_pg_sync_drift= 84 ·null / hc_finding_sql= 72 ·render_fault / (null)= 14 ·hardcode_violation= 11 ·data_fault / thiếu_mã_định_danh= 9 ·null / apr_legacy_unmapped= 8 ·hc_finding_builtin5 ·sync_fault / sai_lệch_dữ_liệu= 2 ·verify_failed / verify_failed= 2 ·render_fault / lỗi_lớp_2= 2 ·compliance_debt / paired_audit_retrofit_pending= 1 ·null / apr_phantom_applied= 1 · + singletons.
Live event_type_registry (40) relevant slice
- domain
system:issue_opened(active),issue_resolved(active),issue_archived(active),red_zone_violation(active=false). - domain
mother:proposal.created/approved/rejected,output.created/failed,config.created,factory.registered,governance.blocked/unblocked— ALLactive = false(dormant). - domains
iu/piece/staging: active but unrelated to grouping/pivot.
Requested-type coverage
| Requested type | In system_issues vocab? |
In event_type_registry? |
Ever emitted (event_outbox)? |
Owner (rec) | Registration needed? |
|---|---|---|---|---|---|
pivot_missing |
No | No | No | GOV-SIV | Yes |
count_integrity_failed |
No (verify_failed is generic, 2 rows) |
No | No | GOV-SIV | Yes |
classification_required |
No (collection_onboarding_gap adjacent, 345) |
No | No | GOV-COUNCIL/SIV | Yes |
grouping_policy_missing |
No | No | No | GOV-COUNCIL | Yes |
grouping_invariant_failed |
No | No | No | GOV-SIV | Yes |
phantom_candidate |
No (only post-hoc apr_phantom_applied=1) |
No | No | GOV-SIV (after P1) | Yes (blocked on Đ31 phantom clause) |
orphan_detected |
Partial — present as data_fault/thiếu_quan_hệ (606) + thiếu_mã_định_danh (9) |
No (issue-only, no event type) | issues yes; no dedicated event | GOV-SIV | event type optional; issue types exist |
unclassified_object |
No (collection_onboarding_gap nearest) |
No | No | GOV-COUNCIL | Yes |
group_too_large |
No | No | No | GOV-COUNCIL | Yes (pairs with threshold P2) |
stale_label |
No | No | No | GOV-SIV/Đ24 | Yes |
pin_policy_violation |
No | No | No | GOV-COUNCIL | Yes (pairs with pin P-PIN) |
Findings
- Orphan + drift are the only requested concepts already represented — orphan via the two
data_faulthalves (615 rows total), drift viasync_fault/sai_lệch_dữ_liệu. Everything else is absent from both the issue vocabulary and the event registry. - Phantom exists only as an after-the-fact
apr_phantom_applied(1 row, null class) — there is no detection type; that is exactly the LAW_DEFINITION_GAP (doc 01/08). - Zero relevant events ever emitted. A targeted
event_outboxscan forpivot|count|integrity|classif|orphan|phantom|pin|group|label|threshold|grouping+ allmother.*returned 0 rows. The dormantmother.*/governance.*types have never fired. issue_type/issue_classhave no CHECK enum → new issue types are insertable without schema change. However, governance discipline (Đ45 "register-before-emit") andevent_type_registry(which DOES gate events) require types to be registered first, approval-gated. So registration is a governance act, not a schema barrier.
Allowed to emit?
system_issuesrows: any A-tier scan/audit DOT (GOV-SIV) may raise issues read-only — but should only emit registered types.event_outboxevents: gated byevent_type_registry; emitting an unregistered type violates Đ45. The dormantmother.*/governance.*types must be activated (approval-gated) before use.
Registration plan (NOT executed)
Approval-gated (Đ45 register-before-emit): INSERT issue types pivot_missing, count_integrity_failed, classification_required, grouping_policy_missing, grouping_invariant_failed, phantom_candidate/phantom_confirmed (after P1), unclassified_object, group_too_large (with P2), stale_label, pin_policy_violation (with P-PIN); register event_type_registry rows (e.g. count_integrity.*, classification.*, pin.*) and activate the dormant mother.*/governance.* lane. Owner: GOV-SIV (health types) + GOV-COUNCIL (policy/event lane). This audit registered nothing.