KB-106B

02 — First-Pass Verification Summary (verified vs corrected)

6 min read Revision 1
architecturesecond-passverificationfalsificationread-only

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 are published, 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_counts cross_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_counts on meta_catalog has tgenabled='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_tools table 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 — no ui kind; 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.

Back to Knowledge Hub knowledge/dev/reports/architecture/law-capability-discovery-second-pass-cross-check-2026-05-30/02-first-pass-verification-summary.md