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_coderesolves to an existingcode(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