Checkpoint — RP Layer Graph + Count Contract Finalize 2026-06-03
Checkpoint — RP Layer Graph + Count Contract Finalize (MCP-readable short proof)
Date: 2026-06-03
Macro: REGISTRIES_PIVOT_DYNAMIC_LAYER_GRAPH_AND_COUNT_CONTRACT_FINALIZE
Final status: PARTIAL
Execution mode: EXECUTION_MODE (read query_pg RO; write ssh contabo → docker psql workflow_admin superuser)
Live mutation: YES — exactly ONE additive read-only view (v_registries_pivot_node_contract). 0 base-table / 0 count mutation: pivot_definitions byte-identical pd_hash=1e31696f3cb47d244c578bd9390ca56d (37 rows, 0 children) before AND after.
Layer definition readback
PASS — layer-definition-dynamic-drilldown-canon-2026-06-03.md searchable + fully readable via MCP. No repair needed.
Parent graph
APPLY-READY (rehearsed-clean LIVE in BEGIN..ROLLBACK): 13 edges → 37 flat roots → 24 roots / 6 parents / 0 dangling / 0 inactive-parent; entry hash == exit hash (net 0). v_registries_pivot_tree renders the hierarchy correctly once committed. Commit = operator (the UPDATE fires the designed full count-refresh = "count content", which §6 keeps out of graph-metadata apply).
PIVOT_MISSING (surfaced, held)
PIV-500 grand total (needs pivot-engine extension for cross-table/view-backed counts); PIV-30x orphan(59)/phantom(289)/drift(3 rows)/system_issues(open 207,940); PIV-31x IU(219)/KG(2,259). PIV-304 unmanaged = CANDIDATE (needs ratified law def; not faked).
Backend contract
LIVE. Existing (REUSE): v_registries_pivot_tree, v_living_lists, v_count_integrity, v_count_drift, fn_registries_pivot_node_substrate, pivot_count/query/matrix. NEW (applied): v_registries_pivot_node_contract (26-col §8 node contract; data-driven hierarchy; no Nuxt math/depth).
UI handoff
Complete — preserves old /knowledge/registries column/layer drill. L1 = 6 composition (atom 69 / molecule 48 / compound 33 / material·product·building 0→PIVOT_MISSING) + Species(42)/DOT(309)/Collections(168) + OS-Agency cols (orphan/phantom/unmanaged/sys-issues/drift). L2 = DOT-by-Nhóm (⚠ published-only Σ16 vs total 309) / loài drill. L3 = fn_registries_pivot_node_substrate terminus.
Pin / label / grouping
Design-clear, next-phase, non-blocking. registry_pin not born → pin_state=PIN_REGISTRY_MISSING (honest). Auto-group threshold = 50/species, PG-config.
Registries-Pivot done enough?
YES at contract + apply-ready-graph tier. Backend graph is data-driven (parent_code), NOT naming-convention; no reliance on dot-pivot-update.
Exact remaining blocker
Operator commits the 13-edge parent_code wiring (owner accepts the designed count-refresh side-effect) → tree hierarchical live. Then aggregate pivots need pivot-engine extension + ratified orphan/phantom/unmanaged defs.
Next macro
REGISTRIES_PIVOT_PARENT_GRAPH_COMMIT_AND_AGGREGATE_PIVOTS
Reports
knowledge/dev/reports/architecture/registries-pivot-dynamic-layer-graph-count-contract-finalize-2026-06-03/ (docs 00–12). This checkpoint is the MCP-readable short proof and may be used as SSOT.