KB-5A5E

Registries-Pivot — UI Spec (canonical)

3 min read Revision 1
registries-pivotuispecrender-shellpreview-v2dieu282026-05-31

title: Registries-Pivot — UI Spec (canonical) date: 2026-05-31 status: DRAFT (design review) — render-shell gated RG8 preview_url: https://vps.incomexsaigoncorp.vn/ui-preview/registries-pivot/v2/ prev_preview: https://vps.incomexsaigoncorp.vn/ui-preview/registries-pivot/v1/

Registries-Pivot — UI Spec

Purpose

The auto PG-reflection screen: one canonical /knowledge/registries-pivot showing layer / species / total / ± / orphan / phantom-candidate / verify / drift / warn / next-action — every count pivot-backed or explicitly PIVOT_MISSING. Converges /knowledge/registries (legacy Đ28) onto /knowledge/pivot's clean render-shell. No 3rd page.

Live preview

Sections (= component map for the Nuxt shell)

Root summary · disagreeing-totals · count-integrity (FAILED honest) · drift (source_model) · missing-pivot · drilldown (parent_code, count>1 ⇒ child layer) · label grouping (50=MAX ceiling, PG-resolved) · pin column (registry_pin, scoped) · orphan/phantom warnings (candidate, never asserted) · leaf substrate (fn_registries_pivot_node_substrate; file path vs PG table) · API endpoints · legacy violation warning.

Hard rules (Đ28)

Render-only templates; counts from views/pivots via Directus/API (the pivot-query.get.ts pattern, §0-AV); no business logic, no hardcode, no client count math, no localStorage pins. Status shown honestly; PIVOT_MISSING explicit; net_gap = live moving target (CAT-023).

Tokens

--g:#639922 --a:#ef9f27 --r:#e24b4a (OS-Agency; matches master canvas + v1).

Gating

Static preview = safe now (deployed). Render-shell on the real route = RG8 (after six views + pivot bundle + API). Route cutover/retire legacy = RG9 (after acceptance green + CI gate).

See report pack: knowledge/dev/reports/architecture/registries-pivot-macro2-3-combined-ui-api-legacy-acceptance-2026-05-31/.