KB-5009

03 — Live RP State and Blockers

3 min read Revision 1
registries-pivotlive-stateblockers2026-06-03

03 — Live RP State and Blockers (verified 2026-06-03, prod directus)

pivot_definitions

  • 37 rows, 35 active, 2 inactive (PIV-020 _uncategorized, MTX-TEST).
  • parent_code NULL on ALL 37 (with_parent=0) → tree FLAT.
  • 11 distinct registry_group. Codes: MTX-L1-OVERVIEW/L2-ATOM/TEST, PIV-001..021, PIV-101..106, PIV-201..206, PIV-207 (NEW: approval_requests, giám_sát — not in the 05-31 wiring plan).
  • PIV-500 / PIV-30x / PIV-31x DO NOT EXIST (codes jump 021→101) → confirmed PIVOT_MISSING.

Live counts (pivot grand totals, group_values='{}')

PIV-001 meta_catalog=169; PIV-007 dot_tools=309; PIV-009 collection_registry=168; PIV-016 entity_species=42. v_pivot_by_level: atom=69 (1,999,579 records), molecule=48 (775), compound=33 (423). material/product/building = 0 rows (no entities at those levels yet → L1 will show those rows as 0/PIVOT_MISSING, honestly).

Count integrity (live, v_count_integrity over 160 leaf rows)

  • 160 leaf rows; 21 pivot_backed; 3 drift rows; orphan_sum=0 (leaf grain); record-surplus(phantom-side)=21,182; actual-surplus(unregistered)=15.

System-wide count sources (for PIV-30x/31x)

system_issues=208,634 (open 207,940); IU=219; iu_relation=60; KG edges=2,259; birth_orphan=59; birth_phantom=289; birth_registry=1,131,984.

Backend objects LIVE

v_registries_pivot_tree (skeleton: node_code/parent_code/is_root/has_children — correct, but flat because parent_code NULL), v_living_lists, v_count_integrity, v_count_drift, fn_registries_pivot_node_substrate. NEW this macro: v_registries_pivot_node_contract (26-col §8 contract) — LIVE.

Triggers on pivot_definitions

  • trg_after_pivot_definitions_changetrg_pivot_def_refreshAFTER, STATEMENT-level, runs refresh_meta_catalog_from_pivot() + refresh_pivot_results(). Fires on any parent_code UPDATE = full count-cache refresh (≈600ms). This is why parent_code COMMIT is NOT "graph-metadata only" and is operator-gated.
  • trg_birth_pivot_definitions (FOR EACH ROW, INSERT) — births new rows.
  • trg_matrix_config_changed (FOR EACH ROW) — flags needs_refresh.

Safety classification

  • No RP cleanup mutation needed for the layer engine (parent_code wiring is plain graph data, orthogonal to the 3 composition mismatches).
  • dot-pivot-update remains INVALID and was not used (not needed — wiring is a normal UPDATE / operator step, not a DOT).
  • Global guard fn_assert_safe_for_dot_action untouched / not weakened.
  • This macro proceeds without resolving global hygiene blockers (54 iu_cmd orphans, 6 phantoms, 16 FS files) — all Track B / non-RP.

Execution mode: EXECUTION_MODE

Write channel confirmed live (ssh contabo → docker psql, workflow_admin superuser). Used only for: (a) net-zero BEGIN..ROLLBACK rehearsal, (b) one additive read-only view.

Back to Knowledge Hub knowledge/dev/reports/architecture/registries-pivot-dynamic-layer-graph-count-contract-finalize-2026-06-03/03-live-rp-state-and-blockers.md