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)
axis_registryrow AX-PROCESS = CANDIDATE (birth-free; axis_registry has no triggers; ON CONFLICT DO NOTHING).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).v_axis_process_inventory— 60 rows (2 Type-3 workflow_definition + 1 Type-2 implicit pipeline + 57 Type-1 dot_contained).v_axis_process_candidates— 58 rows (1 pipeline STRONG + 57 DOT MODERATE).v_axis_process_governance_gap— 4 rows (process_axis + 2 process_definition + 1 process_candidate; all OWNER_MISSING).v_axis_process_pivots— PIV-340..353 (14 rows; live counts).
Apply protocol (executed)
- Pre-check: axis_registry triggers = 0; baseline births captured.
- Rehearsal:
BEGIN; <body>; <verify>; ROLLBACK;→ all CREATE/INSERT succeeded, births before==after, views returned sane data, then rolled back (nothing committed). - 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. - 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_definitionsinsert (PIV-340..353 stay as a view → avoids 14 unretirable births + unratified equations). - No
approval_requestsinsert (each births +action='add'auto-approves) → ownership bootstrap queued as a named request codeAXR-PROCESS-OWNER, not a row. - No
governance_object_ownershipinsert (no faked ownership). - No process born into
workflows; nojob_workflowtable; 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.