KB-2E18

Process/Workflow Axis RP Pilot — 06 RP Pivots & Layer Model

4 min read Revision 1
process-axisregistries-pivotpivotslayer-model2026-06-04

06 — Registries-Pivot Process Pivots & Layer Model

Pivot map PIV-340..353 (LIVE in v_axis_process_pivots, report-only)

Counts are live as of 2026-06-04. Classification follows the AX-TOPIC convention (FINAL_COMPUTABLE = directly countable now; CANDIDATE = depends on axis ratification / unborn objects; NEEDS_LAW = undefined equation).

pivot name source count class parent canon?
PIV-340 Process objects — Total (governed) workflows 2 CANDIDATE — (L1 root) register
PIV-341 DOT-contained (Type 1) dot_tools(triggered) 57 CANDIDATE PIV-340 register
PIV-342 Automated multi-component (Type 2) job_queue pipelines 1 CANDIDATE PIV-340 register
PIV-343 Human-in-the-loop (Type 3) workflows(human steps) 2 CANDIDATE PIV-340 register
PIV-344 Process candidates (implicit) job_queue pipelines 1 CANDIDATE PIV-340 register
PIV-345 Process components (steps) workflow_steps 70 FINAL_COMPUTABLE PIV-340 =PIV-005
PIV-346 Process triggers trigger_registry 107 FINAL_COMPUTABLE PIV-340 =PIV-015
PIV-347 Process queue/jobs job_queue 13 FINAL_COMPUTABLE PIV-340 NEW (no prior pivot)
PIV-348 Process event types event_type_registry 45 FINAL_COMPUTABLE PIV-340 NEW
PIV-349 Governance gaps (unowned) gov_gap view 4 CANDIDATE PIV-340 register
PIV-350 Health/SLA issues (stuck jobs) job_queue queued 7 CANDIDATE PIV-340 register
PIV-351 Parent-child relations (sub-wf) workflows.parent 0 CANDIDATE PIV-340 register
PIV-352 Runs in progress job_queue leased/in_progress 0 FINAL_COMPUTABLE PIV-340 NEW
PIV-353 Overdue/stuck/failed job_queue queued + dead_letter 7 CANDIDATE PIV-340 register

Why report-only (NOT yet in pivot_definitions canon)

Inserting into pivot_definitions fires trg_pivot_def_refresh + birth side-effects (the lineage proved each pivot insert births an unretirable row). Canonizing 14 pivots = 14 unretirable births + a law-ratified equation set. That is owner-gated (Điều-32/law). The pilot therefore exposes PIV-340..353 as a live read-only view (zero births, DROP-reversible), apply-packaged for canon insert when the owner ratifies. This mirrors exactly how AX-TOPIC handles PIV-320..332 via v_axis_topic_pivots.

Layer model (dynamic depth, per layer-definition canon)

  • L1 root: PIV-340 "Process objects — Total" (the aggregate node).
  • L2: by type (Type 1/2/3 = PIV-341/342/343) ∪ by lifecycle (candidate/active/deprecated) ∪ by domain (workflow_categories tree).
  • L3+: process parent-child graph (sub-workflows via parent_workflow_id) → component drill (steps → DOTs → triggers → jobs → events).
  • Final substrate: for a node with count=1 or no further grouping_dimension → fn_process_node_substrate(process_code) returns steps/DOTs/triggers/queues/events/IU-SOP/governance/logs/health.

No hardcoded depth: a Type-3 workflow with sub-workflows drills deeper than a Type-1 DOT; the resolver decides has_children from workflow_steps/parent_workflow_id/workflow_step_relations, never from naming.

Reconciliation with existing pivots

Legacy PIV-004 (workflows), PIV-005 (steps), PIV-006 (change_req), PIV-010 (tasks), PIV-015 (triggers), PIV-021 (comments), PIV-007/104 (DOT) remain the direct table pivots. PIV-340..353 are the axis aggregate family that groups and cross-references them under the process lens. PIV-347/348/352 are genuinely NEW surfaces (job_queue/events/runs had no pivot before).

Back to Knowledge Hub knowledge/dev/reports/architecture/process-workflow-axis-registries-pivot-birth-governance-ui-pilot-2026-06-04/06-registries-pivot-process-pivots-layer-model.md