KB-1879

RP Dynamic Drill — 06 Render Model

2 min read Revision 1

06 — Render Model (Track E)

Generic across all axes. drill.vue branches ONLY on PG-provided drill_action.

Components (ui-package/components/registries-pivot/)

  • NodeCard.vue — renders any universal-contract row; shows count, candidate/official + governance badges, warnings; emits drill only when drill_action==='DRILL'.
  • FinalSubstratePanel.vue — renders the fn_rp_node_substrate envelope (rows, source tables, provenance, raw payload); shows NEEDS_SUBSTRATE_WRAPPER honestly when unavailable.
  • DrillTrail.vue — breadcrumb of the drill path.
  • WarningBadge.vue / CandidateOfficialBadge.vue / GovernanceStatusBadge.vue — status chips.
  • JSONDebugPanel.vue — operator raw-payload view.

Render rules (all from PG fields, zero Nuxt logic)

condition renders
drill_action==='DRILL' ChildrenGrid (drill while count>1 & has_children)
drill_action==='SHOW_SUBSTRATE' FinalSubstratePanel (real PG substrate)
drill_action==='NEEDS_GROUPING' NEEDS_GROUPING / NEEDS_AXIS_RULE badge
owner_blocker / governance blocked GovernanceStatusBadge (BLOCKED_AUTHORITY / READY)
lifecycle_status candidate CandidateOfficialBadge = CANDIDATE
node missing NODE_NOT_FOUND

The page contains NO count math, NO axis switch for business rules, NO naming-convention parsing.

Back to Knowledge Hub knowledge/dev/reports/architecture/registries-pivot-dynamic-drill-ui-pg-structure-proof-2026-06-05/06-render-model.md