KG/dot-kg Discovery — 09 Registries-Pivot / UI Impact
09 — Registries-Pivot / UI Impact (Workstream H)
How AX-PROCESS and the UI should surface discovery outputs. PATCH-READY (backend views live; Nuxt redeploy operator-gated). No Nuxt count math; no fake official process.
9.1 What AX-PROCESS should display
A new Process Discovery lens, report-only, sourced entirely from the live views:
- Discovered candidates —
v_process_discovery_candidates(17): member_count, producer/verifier split, orphan count, sub-domains. - Evidence score —
v_process_discovery_quality_score: confidence_score (0–100) + the 5 signal flags. - Birth readiness —
v_process_discovery_birth_ready_queue: readiness_band + birth_gate_status + blockers string. - Orphan components —
v_process_discovery_orphan_components(84): the 18 KG producers etc., with orphan_class. - Drift signals —
v_process_discovery_drift_signals: component/trigger/route hashes (vs baseline, once persisted). - Health — per-candidate runtime evidence (today: 0 for all DOT families; 1 run for cut).
Separation: candidate surface (these views, with warning flags) vs official surface (born processes only — currently none). A candidate must never render as official.
9.2 Proposed API additions (h3 / Nuxt server routes)
| route | source view | returns |
|---|---|---|
GET /api/process-discovery |
v_process_discovery_birth_ready_queue |
all 17 candidates + score + gate |
GET /api/process-discovery/:candidate |
…_candidates ⋈ …_quality_score |
one candidate detail |
GET /api/process-discovery/:candidate/evidence |
…_evidence_graph filtered |
component nodes for the candidate |
GET /api/process-discovery/orphans |
…_orphan_components |
all orphaned components + class |
GET /api/process-discovery/birth-ready |
…_birth_ready_queue WHERE gate='BIRTH_READY_PENDING_OWNER' |
only birth-ready (today: job:cut) |
GET /api/process-discovery/drift |
…_drift_signals |
hashes for drift monitoring |
All counts/scores computed in PG; Nuxt renders the contract only (consistent with the layer-definition canon: "Nuxt/UI chỉ render contract; không tự tính count, status, depth, grouping, orphan, phantom, drift").
9.3 UI components (proposed)
ProcessDiscoveryPanel— candidate list with confidence bars + readiness chips (verified=green, strong-structural=amber, weak/not-a-process=grey).CandidateEvidenceGraph— producer/verifier pair view; orphaned producers flagged red.OrphanComponentsTable— the 84 orphans, filterable by class; headline KPI "18 KG producers invisible to inventory."BirthReadyQueue— the gate, with the blocker string per candidate.DriftMonitor— hash-change log (needs baseline table first).
9.4 Fix to the existing inventory (recommended, small)
v_axis_process_inventory should widen its trigger filter to include on-demand, or add an explicit coverage='producer_uncounted' flag, so the 18 KG producers (and ~30 on-demand DOTs system-wide) stop being silently dropped. This is a one-view change, additive, owner-notify-only — surfaced by the discovery engine but fixed in the inventory.
9.5 What is NOT proposed
- No Nuxt-side counting/scoring. - No official-process rows for unborn candidates. - No taxonomy node. - No
pivot_definitionsinsert (report-only via views, avoiding unretirable births). - No redeploy performed (operator-gated).
9.6 Status
RP/UI impact defined and backend-live: the 6 views are the contract; 6 routes + 5 components are patch-ready; the inventory fix is a one-view follow-up. Deploy is operator-gated.