KB-4713

Process/Workflow Axis RP Pilot — 10 Safe Live Artifacts

3 min read Revision 1
process-axislive-artifactsrollback2026-06-04

10 — Safe Live Artifacts Report

Live mutation: YES — 6 additive, reversible objects. 0 births (commit-txn before==after = 1,158,082). Rehearsed BEGIN/ROLLBACK net-zero before commit.

Objects committed (2026-06-04, role directus)

  1. axis_registry row AX-PROCESS = CANDIDATE (birth-free; axis_registry has no triggers; ON CONFLICT DO NOTHING).
  2. fn_process_node_substrate(text) — LANGUAGE sql STABLE; DAG-aware resolver returning jsonb (steps/types/relations/change_requests/linked_task + null IU/owner/health gaps + birth_state).
  3. v_axis_process_inventory — 60 rows (2 Type-3 workflow_definition + 1 Type-2 implicit pipeline + 57 Type-1 dot_contained).
  4. v_axis_process_candidates — 58 rows (1 pipeline STRONG + 57 DOT MODERATE).
  5. v_axis_process_governance_gap — 4 rows (process_axis + 2 process_definition + 1 process_candidate; all OWNER_MISSING).
  6. v_axis_process_pivots — PIV-340..353 (14 rows; live counts).

Apply protocol (executed)

  1. Pre-check: axis_registry triggers = 0; baseline births captured.
  2. Rehearsal: BEGIN; <body>; <verify>; ROLLBACK; → all CREATE/INSERT succeeded, births before==after, views returned sane data, then rolled back (nothing committed).
  3. Commit: BEGIN; births_before; <body>; births_after; COMMIT; → births_before==births_after (1,158,082); post-commit axes=2, proc_views=4, AX-PROCESS=CANDIDATE.
  4. Independent verification via read-only MCP role (query_pg): AX-PROCESS=CANDIDATE; pivots=14; inventory=60; gov_gap=4; candidates=58; fn_process_node_substrate('WF-002')→ "Quy trình xử lý đơn hàng xuất khẩu (60 bước)" / BORN. PASS.

Rollback (one-liner, fully reversible)

DROP VIEW IF EXISTS v_axis_process_pivots;
DROP VIEW IF EXISTS v_axis_process_governance_gap;
DROP VIEW IF EXISTS v_axis_process_candidates;
DROP VIEW IF EXISTS v_axis_process_inventory;
DROP FUNCTION IF EXISTS fn_process_node_substrate(text);
DELETE FROM axis_registry WHERE axis_code = 'AX-PROCESS';

Local SQL body: /tmp/process_axis_body.sql.

What was deliberately NOT done (owner-gated)

  • No pivot_definitions insert (PIV-340..353 stay as a view → avoids 14 unretirable births + unratified equations).
  • No approval_requests insert (each births + action='add' auto-approves) → ownership bootstrap queued as a named request code AXR-PROCESS-OWNER, not a row.
  • No governance_object_ownership insert (no faked ownership).
  • No process born into workflows; no job_workflow table; cut_pipeline NOT registered.
  • AX-PROCESS left CANDIDATE (never auto-active).

Forbidden-action audit: CLEAN

No RP cleanup · no dot-pivot-update execution · no birth/pre-birth/gov-gate alteration · no faked approval/ownership · no active process · no unretirable process births · no hardcoded levels · no single special-case · no IU edit · no workflow execution · no engine build.

Back to Knowledge Hub knowledge/dev/reports/architecture/process-workflow-axis-registries-pivot-birth-governance-ui-pilot-2026-06-04/10-safe-live-artifacts-report.md