KB-3B68

02 — Parent Graph Edge Set and Validation

3 min read Revision 1
registries-pivotparent-graphedge-setvalidation2026-06-03

02 — Parent Graph Edge Set and Validation

The 13 edges (child → parent), validated against live data

# child parent reason layer effect
1 PIV-101 PIV-001 Danh mục theo Lớp → meta_catalog Total L2 group under L1 catalog total
2 PIV-102 PIV-001 Danh mục theo Loại quản lý → meta_catalog Total L2 group
3 PIV-106 PIV-001 Lớp × Loại quản lý → meta_catalog Total L2 matrix group
4 PIV-201 PIV-101 L2 Atom theo loài → theo Lớp L3 drill under L2
5 PIV-202 PIV-101 L2 Molecule L3 drill
6 PIV-203 PIV-101 L2 Compound L3 drill
7 PIV-204 PIV-101 L2 Material L3 drill
8 PIV-205 PIV-101 L2 Product L3 drill
9 PIV-206 PIV-101 L2 Building L3 drill
10 PIV-104 PIV-007 DOT theo Nhóm → DOT Tools Total L2 group under DOT total
11 PIV-105 PIV-009 Collections theo Phân loại → Collections Total L2 group
12 PIV-103 PIV-016 Loài theo Lớp → Loài Total L2 group under species total
13 MTX-L2-ATOM MTX-L1-OVERVIEW L2 matrix → L1 matrix overview matrix drill

Validation (all live, all PASS)

  • Parents exist + active: the 6 distinct parents — PIV-001, PIV-007, PIV-009, PIV-016, PIV-101, MTX-L1-OVERVIEW — all present, all is_active=true.
  • Children exist + active: all 13 present and active; each child assigned exactly once (no duplicate assignment).
  • No cycle: PIV-101 is a child of PIV-001 and the parent of PIV-201..206 → a clean 2-level chain PIV-201 → PIV-101 → PIV-001 (PIV-001 has no parent). A recursive ancestry walk reported 0 looped paths.
  • No dangling edge: every parent_code resolves to an existing code (0).
  • No inactive-parent edge: 0.
  • No self-edge: 0.

Expected counts after wiring

  • roots 37 → 24; children 0 → 13; parents 0 → 6.
  • parent rollup: PIV-001=3, PIV-101=6, PIV-007=1, PIV-009=1, PIV-016=1, MTX-L1-OVERVIEW=1 (Σ=13).

Nodes intentionally left as roots (correct, not gaps)

The remaining 24 roots are top-level registry totals (one per source_object: PIV-002..006, 008, 010..021, 207, 015, plus MTX-L1-OVERVIEW). They would sit under a future PIV-500 grand total (PIVOT_MISSING, doc 05). Until PIV-500 is ratified, each is a legitimate independent L1 total. PIV-207 (approval_requests, giám_sát) and PIV-014 (entity_dependencies, giám_sát) are monitoring totals — candidates for a future giám_sát parent, deferred (no count change needed now).

Rehearsal (fresh BEGIN..ROLLBACK, net-0) — re-proven this macro

ENTRY parent_code-hash = 66c0692600dc6a0a1589f00e75862f03
AFTER: roots 24 | children 13 | parents 6 | dangling 0 | inactive_parent 0 | self_edge 0 | cycles 0
has_children (node contract) = 6
ROLLBACK
POSTROLLBACK parent_code-hash = 66c0692600dc6a0a1589f00e75862f03   ← identical ⇒ reversible
Back to Knowledge Hub knowledge/dev/reports/architecture/registries-pivot-parent-graph-commit-and-aggregate-pivots-2026-06-03/02-parent-graph-edge-set-and-validation.md