KB-2EDC
11 — Static UI Preview Deploy Report (DEPLOYED, HTTP 200)
3 min read Revision 1
registries-pivotui-previewdeployedstatichttp-200reversibleno-db-mutation2026-05-31
title: 11 — Static UI Preview Deploy Report (Branch I) date: 2026-05-31 status: DEPLOYED · HTTP 200 · zero DB/Directus/Nuxt mutation · reversible url: https://vps.incomexsaigoncorp.vn/ui-preview/registries-pivot/v1/
11 — Static UI Preview Deploy Report (Branch I)
Deployed
- URL:
https://vps.incomexsaigoncorp.vn/ui-preview/registries-pivot/v1/→ HTTP 200 (11,337 bytes). - Files:
index.html(self-contained, data-driven; embeds the contract inline as fallback +fetch('mock-data.json')) andmock-data.json(the data contract, live values) → HTTP 200. - Host path:
/opt/incomex/docker/nginx/static/ui-preview/registries-pivot/v1/(owner uid 501), served by the existing nginxlocation /ui-preview/(default.conf:118; host dir mounted ro at/usr/share/nginx/static). No nginx change. - Method:
tar czf - registries-pivot | ssh contabo "tar xzf - -C /opt/incomex/docker/nginx/static/ui-preview".
Safety (all conditions met)
- No production Nuxt touched (the SSR app
incomex-nuxtis untouched; this is a static sibling under/ui-preview/). - No PG / Directus / Qdrant mutation.
- Clearly marked DRAFT (amber banner: "mock data, not wired to production PG … for design review only").
- Rollback:
ssh contabo "rm -rf /opt/incomex/docker/nginx/static/ui-preview/registries-pivot"(one command).
Contents (8 sections, all rendered from the contract, no frontend count math)
- Root summary (leaf 160 · net_gap 148 · drift 3 · unverified 5 · 21/160 backed · FAILED pill · PIV-500 PIVOT_MISSING).
- Drilldown tree (PIV-001→PIV-101 level rows; note: flat in PG today, wiring proposed).
- Count-integrity FAILED drift table (CAT-006 +146 / CAT-007 −15 / CAT-023 +17, source_model-aware badges).
- Orphan/phantom warning (leaf orphans 0; rollup CAT-DOT 140/CAT-COL 20/CAT-SPE 1; phantom = LAW_DEFINITION_GAP unconfirmed).
- Missing-pivot warning (139 PIVOT_MISSING + 5 unmeasured, examples listed; PIV-500 gated).
- Label/grouping required (dot_tool 309 > resolved ceiling 30 from display_policy; 50=MAX note).
- Pin column (registry_pin proposed; global/user scope; "never a localStorage array").
- Leaf substrate panel (
fn_registries_pivot_node_substrate('CAT-006'): registry 309 / files 163 / pivot 309).
No-hardcode posture of the preview
Every number comes from the embedded contract / mock-data.json (mirrors PG) — no number inline in
templates; counts shown as PIVOT_MISSING where the contract says so. It is a faithful stand-in for the
eventual Đ28 render-shell; it does not compute any count.
Next
Link from the _master ui-preview governance index (optional, additive). Replace mock with live API
responses only at macro M9 (after M2/M8). This preview is not production and is not a route cutover.