09 — Route & UI Structure Recommendation (recursive drill-down)
title: 09 — Route & UI Structure Recommendation date: 2026-05-30
09 — Route & UI Structure Recommendation
Decision tension
Mission: new canonical /knowledge/registries-pivot. Prior council + GPT: don't add a third counting page; converge.
Reconciliation (recommended)
/knowledge/registries-pivot = convergence target, not a third permanent surface: (1) it is the new canonical OS Agency surface (render-shell over doc-07 recursive contract; single truth = Pivot); (2) /knowledge/registries redirects here after parity (phantom rows + Nuxt gap-math retired); (3) /knowledge/pivot redirects or survives as a "Pivot counting reference" view. Net counting surfaces do NOT increase → satisfies both. Which legacy route redirects vs. survives-as-tab is a GPT/User ratification item (doc 11). Routing not implemented; rollback = remove route + redirects (Điều 30).
NOT a flat dashboard — recursive registry drill-down
Preserves old-registry thinking: count>1 ⇒ inner layer; drill until singular; final layer = object's DB/relationships. Depth varies (doc 07).
Layout: Top summary (root child-summary, pivot-sourced: Objects* · Registries 169 · Species 42 · Collections 168 · DOT 309 · Pivots(active) · Drift* · Stale 3 · Orphans*; *=PIVOT_MISSING) → toolbar (search/filter level·species·owner·status/breadcrumb) → MAIN recursive drill (one panel per layer, depth not fixed: root→registry_group→registry→group_layer(…n…)→item→substrate; each row: label · count[pivot_code chip] · child-summary cells · status/drift/birth/IU/DOT badges · ▸ if has_children; ▸ expands the NEXT layer the BACKEND declares via next_pivot_code/drilldown_query_ref — UI doesn't know it in code) → DETAIL leaf substrate (db_table·pk/code·registry·birth·IU/profile·KG·DOTs·events·owner·audit·URL) → footer (last_refreshed · counting-contract link).
Drill examples (real pivots)
dot_tools 309 ▸ group (PIV-104,16) ▸ published category (v_pivot_dot_by_category,23) ▸ tool ▸ substrate. meta_catalog 169 ▸ by level (PIV-101) ▸ by species/level (PIV-201..206) ▸ row ▸ substrate. checkpoint_sets 2 ▸ set ▸ substrate (shallow). entity_audit_queue 1 → leaf.
Status & evidence
Badges fresh/stale(amber)/drift(red)/unknown — PG-derived. Count chip shows pivot_code → click → pivot_query evidence. Child-summary per layer (doc 07§C/doc08). OS-Agency standard; reuse registries.vue cards + pivot.vue table primitives.