02 — First-Pass Verification Summary (verified vs corrected)
02 — First-Pass Verification Summary
Every claim below was re-queried live this pass (not copied from the first pass). Verdict column: ✅ verified exact · 🔧 corrected/sharper · ⚠️ stale-but-directional.
A. Registry counts — re-queried live (single UNION SELECT)
| Object | First pass | Live (2026-05-30) | Verdict |
|---|---|---|---|
| normative_registry | 47 | 47 | ✅ |
| law_catalog | 5 | 5 | ✅ |
| governance_registry | 9 | 9 | ✅ |
| pivot_definitions | 37 | 37 | ✅ |
| pivot_results | 126 | 126 | ✅ |
| dot_tools | 309 | 309 | ✅ |
| dot_iu_command_catalog | 54 | 54 | ✅ |
| dot_operations / dot_domains / dot_domain_rules | 20/46/67 | 20/46/67 | ✅ |
| meta_catalog | 169 | 169 | ✅ |
| collection_registry | 168 | 168 | ✅ |
| table_registry | 21 | 21 | ✅ |
| information_unit | 219 | 219 (law_unit 187 + design_doc_section 32) | ✅ |
| iu_relation | 60 | 60 | ✅ |
| universal_edges | 2199 | 2199 | ✅ |
| v_kg_edges_all | 2259 | 2259 | ✅ |
| approval_requests | 211 | 211 | ✅ |
| apr_approvals | 42 | 42 (ai_council 28 + human 14) | ✅ |
| workflow_change_requests | 3 | 3 | ✅ |
| event_type_registry | 40 | 40 | ✅ |
| iu_outbound_route | 15 (all dry_run) | 15 / 15 dry_run=true | ✅ |
| ui_pages | 37 | 37 | ✅ |
| entity_species | 42 | 42 | ✅ |
| workflows / workflow_steps | 2 / 70 | 2 / 70 | ✅ |
| job_dead_letter / iu_route_dead_letter | 0 / 0 | 0 / 0 | ✅ |
| birth_registry | 954,161 | 959,372 | 🔧 first pass stale (high-churn) |
| event_outbox | 165,403 | 166,422 | 🔧 first pass stale (firehose) |
26/28 counts verified exact. The 2 misses are append-heavy tables (birth_registry, event_outbox) whose hand-pinned numbers drift continuously — a structural argument for pivot-counting, not hand-counts.
B. DOT breakdown — re-queried live
dot_tools: total 309, tier A=60 / B=230 / null=19; paired_dot not-null=131; operation filled=50; coverage_status null=103; status active=291 / published=16. → all 9 figures match the first pass exactly. ✅
C. Law layer — re-queried live (full normative_registry dump)
- Article numbers present: 0, 0-B, 0-G, 0-H, 0-SML, 1–19, 22, 24, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 43, HP.
- Absent: 20, 21, 23, 25, 27, 40, 42, 44, 45. Mandatory Đ23 / Đ44 / Đ45 confirmed NOT in normative_registry. ✅
- Retired→amended children present via parent_code: 22→22-V1P1, 32→32-V1P1, 33→33-V2P1, 35→35-V5P2, HP→HP-V4P6P3; NRM-LAW-34 (Workflow) = only
draft. ✅ - Đ45 enacted confirmed via KB:
enactment_approved=true, user_approval_date=2026-05-26, BAN HÀNH. So Đ45 is a genuinely-enacted law absent from the PG metadata SoT. ✅ - law_catalog (5 rows): dieu26/28/29/30/31. dieu28 = "Luật Khai Sinh" → birth_registry (mislabel: article 28 is the Display/Nuxt law; "Khai Sinh" is Đ0-G). dieu30 v1.0 vs normative v1.2; dieu31 v1.3 vs normative v1.2. Stale/divergent confirmed. ✅
D. Pivot defect — re-queried live (pivot_definitions filter_spec)
- PIV-104
source_object=dot_tools,filter_spec={"filters":[{"op":"=","field":"status","value":"published"}]}, groups by category. Since only 16 dot_tools arepublished, PIV-104's grouped view sees 16/309 → non-representative. Defect confirmed exactly. ✅ - PIV-001/007/008/207 are pure-total (
filters:[],metrics:[{op:count}]) — confirmed canonical total pivots for meta_catalog/dot_tools/ui_pages/approval_requests. ✅
E. Count-integrity — re-queried live (KEY CORRECTION)
v_registry_countscross_check LỆCH confirmed on CAT-006 (record 309 vs count_b 163), CAT-007 (37 vs 52), CAT-023 (959,372 vs 943,726), CAT-ALL (1,661,264 vs 1,919,748), CAT-CMP, CAT-MOL, CAT-MAT. ✅ drift is real.- 🔧 CORRECTION:
trg_auto_sync_registry_countsonmeta_cataloghastgenabled='O'(ENABLED). The first pass said "reportedly DISABLED" (from a stale KB s146 report). Falsified. Re-enabling it is therefore a no-op; the LỆCH cause lies elsewhere (stored meta_catalog.record_count vs the view's recomputed count_b/count_c). See doc 05. - 🔧 SHARPER: CAT-DOT record_count=307, CAT-006 record_count=309 — two meta_catalog rows count the same
dot_toolstable and disagree by 2 (CAT-DOT orphan_count=140). Dual-count is worse than "two CATs, same number." See doc 06.
F. UI Preview — re-queried (KB + first-pass live fetch)
review-log.md(rev 4) still says "19 UI surfaces across 4 groups" while live manifest = 61 items / 16 groups. Drift confirmed directly this pass. ✅information_unit.unit_kind∈ {law_unit, design_doc_section} only — nouikind; surfaces are not IUs. ✅- CAT-007 'page' LỆCH (37 vs 52) adds a second UI inventory mismatch beyond ui_pages(37)-vs-manifest(61).
Net
First pass is accurate and trustworthy on structure and the reuse-first thesis. The corrections are integrity refinements (trigger status, dual-count magnitude, churn-table staleness) and one completeness gap (missed prior reports) — none reverse a recommendation; one (trigger) redirects a remediation.