KB-E997
03 — Law Cross-Check Matrix (4-angle)
5 min read Revision 1
architecturesecond-passlawscross-checknormative-registrylaw-catalog
03 — Law Cross-Check Matrix
Each mandatory law cross-checked from 4 angles: (A) KB search, (B) normative_registry live, (C) law_catalog live, (D) prior reports/handoffs. Columns: KB? · NRM? · LC? · status · first-pass captured? · missed content.
Legend: NRM = normative_registry; LC = law_catalog; ✓ present, — absent.
| # | Law | KB | NRM | LC | Status | 1st-pass captured | Missed / note |
|---|---|---|---|---|---|---|---|
| 1 | HP Constitution | ✓ | ✓ NRM-CON-HP-V4P6P3 (v4.6.3 enacted; v4.6.2 retired) |
— | enacted | yes | — |
| 2 | Đ0-G Birth | ✓ | ✓ NRM-LAW-00G v1.0 |
(dieu28 row mislabels "Khai Sinh"→birth) | enacted | yes | LC mislabel = Đ0-G content tagged as dieu28 |
| 3 | Đ23 DOT Scanning | ✓ dot-scanning-system.md (rev4; header v2.0 / first pass said v2.1) |
— | — | enacted/frozen (KB) | yes (flagged absent) | minor version label drift v2.0↔v2.1 |
| 4 | Đ26 Pivot/Đếm | ✓ | ✓ NRM-LAW-26 v4.0 |
✓ dieu26 "Luật Đếm" v2.1.1→meta_catalog |
enacted | yes | LC version v2.1.1 vs NRM v4.0 (drift) |
| 5 | Đ28 Display/Nuxt | ✓ | ✓ NRM-LAW-28 v2.0 |
✓(MISLABELED "Luật Khai Sinh" v1.0→birth_registry) | enacted | yes | LC dieu28 row is wrong law |
| 6 | Đ30 Rollback | ✓ | ✓ NRM-LAW-30 v1.2 |
✓ dieu30 v1.0 |
enacted | yes | LC v1.0 vs NRM v1.2 (drift) |
| 7 | Đ31 Integrity | ✓ | ✓ NRM-LAW-31 v1.2 |
✓ dieu31 v1.3→system_issues |
enacted | yes | LC v1.3 vs NRM v1.2 (drift, opposite direction) |
| 8 | Đ35 DOT Governance | ✓ v5.2 FINAL (S178 Fix15) | ✓ NRM-LAW-35-V5P2 (base 35 retired) |
— | enacted | yes | origin report S178 not cited (doc 10) |
| 9 | Đ36 Collection | ✓ v5.0 DRAFT 30% (v4.0 enacted) | ✓ NRM-LAW-36 v4.0 |
— | enacted v4.0 | yes | — |
| 10 | Đ37 Governance Org | ✓ v3.3 (S165 restored 2,297→15,148 chars) | ✓ NRM-LAW-37 v3.3 |
— | enacted | yes | S165 restore + Đ37-bootstrap not cited |
| 11 | Đ38 Normative/IU | ✓ v2.3 | ✓ NRM-LAW-38 v2.3 |
— | enacted | yes | S164 (14 DOT) / S150+ bootstrap not cited |
| 12 | Đ39 KG | ✓ v2.3 | ✓ NRM-LAW-39 v2.3 |
— | enacted | yes | — |
| 13 | Đ43 System Context | ✓ v1.2 FINAL | ✓ NRM-LAW-43 v1.2 |
— | enacted | yes | — |
| 14 | Đ44 IU profile/schema | ✓ design pack (v0.1.2 controlled DRAFT) | — | — | DRAFT (not enacted) | yes (flagged absent, correctly) | — |
| 15 | Đ45 Event/Queue | ✓ v1.0 BAN HÀNH 2026-05-26 (enactment_approved=true) |
— | — | enacted | yes (flagged absent) | enacted law invisible to PG law-queries |
Cross-check conclusions
- 15/15 mandatory laws independently re-located. No mandatory law silently missing. First-pass law index = verified.
- Three laws enacted/active but NOT in normative_registry: Đ23 (frozen), Đ45 (enacted 2026-05-26), Đ44 (controlled DRAFT — correctly absent). Anyone
SELECT … FROM normative_registry WHERE status='enacted'silently misses Đ23 and Đ45. → RECONCILE (doc 11). - law_catalog (5 rows) is stale AND wrong — not merely "version drift": its
dieu28row maps article 28 (Display/Nuxt) to birth_registry with name "Luật Khai Sinh" (that is Đ0-G). Citing law_catalog for law metadata is unsafe. → DEPRECATE / RECONCILE; treat normative_registry as the single law-metadata SoT. - Articles never registered (beyond mandatory): 20, 21, 25, 27, 40, 42. Not on the mandatory list; flagged for completeness only — may be unallocated/reserved numbers. No evidence they are enacted-but-hidden.
Angle-D (prior reports) law provenance — newly surfaced this pass
- Đ37 v3.3 was restored in S165 (KB integrity check; 12 TĐ confirmed). Đ37/38 bootstrap (S150+, OR v7.35): normative_registry grew 39→47 articles; bootstrap trigger gate. Đ38 got 14 normative DOTs in S164 (DOT total 265 then → 309 now). Đ35 v5.2 came from S178 DOT Repair Governance (Council 9.2/10). S165-KB restored cut Đ35/Đ36 files and established the reference-table/config-table anti-hardcode pattern. None of these change the 15-law set; they are the history behind already-captured laws and are logged here so the provenance is not forgotten.