07 — UI Philosophy: Old Registries Alignment
07 — UI Philosophy — Old Registries Alignment
Principle: preserve the old /knowledge/registries concept
Simple column / layer drill, click-to-drill, count+status+warning per row. Not a new unrelated UI. The new /knowledge/registries-pivot is the same concept made PG-pivot-automatic.
What Nuxt does (render-shell only — Điều 28)
- Reads
v_registries_pivot_node_contract+v_registries_pivot_tree+v_living_lists+fn_registries_pivot_node_substrate. - Renders rows verbatim. No count math. No layer/depth logic. No hidden hardcoded pivots.
- Drill = follow
child_pivot_codes/drilldown_query_ref; leaf = callfn_registries_pivot_node_substrate(node_code). - A node with
count_status=PIVOT_MISSING→ render aPIVOT_MISSINGbadge (never blank, never invented number). count > 1 AND has_children→ expandable column; else render list rows or substrate.
Layer 1 (top, pinned) — the reflection summary
Composition layers (6, fixed order, no alphabetical sort): atom (69 / 1,999,579) · molecule (48 / 775) · compound (33 / 423) · material (0 → PIVOT_MISSING row, honest) · product (0) · building (0). Plus meta rows: Species (PIV-016=42) · DOT Tools (PIV-007=309) · Collections (PIV-009=168). Plus OS-Agency columns: orphan (birth_orphan=59) · phantom (289) · unmanaged (PIVOT_MISSING) · system issues (open 207,940, PIVOT_MISSING until PIV-313) · drift (3). Columns: Lớp / Phân loại / Tổng / Số loài / Mồ côi / (+OS-Agency).
Layer 2 examples (click an L1 row)
- Total atoms → by loài:
PIV-201rows (atom species breakdown). - DOT Tools → by Nhóm:
PIV-104/v_pivot_dot_by_category→ pivot(8), uncategorized(4), Giám sát(2), Vòng đời(2). ⚠ surface the published-only note (Σ16 vs total 309). - Loài → theo Lớp:
PIV-103.
Layer 3 → final substrate example
Click a single object → fn_registries_pivot_node_substrate(code) → its meta_catalog identity + record/actual/orphan + pivot backing; deeper = the real table row + relations (v_kg_edges_all, iu_relation). This is the "DB/relationship của chính nó" terminus, not a UI page.
Hard rules carried to implementation
- L1/L2/L3 are UX labels; depth is data (
parent_code), never alevel===Nbranch inweb/. - Fixed L1 order; traffic-light status from
warning_flags/drift_status. drill_overloadon a pivot is law-valid (Điều 26 td-matrix ladder), not an error badge.species='species'governed-meta rows are not orphans.