Checkpoint — DOT Runner / Dry-Run / Registration Readiness 2026-06-04
Checkpoint — DOT Runner / Dry-Run / UI / Registration Readiness (short SSOT)
Date: 2026-06-04 · Macro: DOT_PROCESS_DISCOVERY_RUNNER_DRYRUN_UI_AND_REGISTRATION_READINESS
Final status: PARTIAL — all safe branches LIVE; true DRY_RUN of the agent_api pilot blocked on a missing agent_api plan-only contract.
Execution mode: EXECUTION_MODE. RO=query_pg; RW=ssh contabo→docker exec -i postgres psql -U directus; KB=upload_document; staging=/opt/incomex/docs/mcp-writes.
Live mutation: YES (birth-free)
birth_registry 1,158,319 before == after; trigger_guard_alerts 129 unchanged. Additive only. MCP read-back PASS.
Runner discovery — REFINES prior "no runner exists"
Runners exist; just not for the agent_api subset:
- job:cut →
iu-cutter-v0.6+o7_live_dryrun_runner.py: realMode.DRYRUN, RO, kill-switch, 366/366 tests = TRUE_DRY_RUN_RUNNER_EXISTS (why it is the only verified candidate). - dot_iu_command_run → working plan/apply/verify runner, gate refusals fire (command-keyed, no process_run_id).
- dot-hc-executor → generic bash executor
--dry-runforsystem_health_checks(Đ22 §4.3). - DOT_KG agent_api (12, incl. EXPLAIN pilot) → BLOCKED_BY_MISSING_AGENT_API_CONTRACT (no dispatcher binds DOT code→agent_api; MOCK_ONLY_POSSIBLE).
- DOT_KG pg_function (14) → RUNNER_CAN_BE_IMPLEMENTED_NOW (function_name unregistered; invocation=REAL_RUN, gated off). KG engine mix 12/10/14.
Runner implementation: LIVE
fn_process_dryrun_prepare_pair — plan/verify-only, fail-closed (refuses unless execute=false/real=false/dry_only=true; refuses unknown DOT, missing fixture, non-DRYRUN-NS: output), writes SIMULATED_DRY_RUN only, idempotent, cannot execute a DOT. + staged CLI reference plan_only_runner.example.sh.
KG fixture: STAGED + BOUND
FIXTURE:dot:kg:explain:v1 (sha256 4ecd33b7…), output ns DRYRUN-NS:dot:kg:explain. Synthetic-but-grounded (D1 cluster); no production KG touched.
No-execute test: PASS
1 run + 2 components SIMULATED_DRY_RUN; idempotent (same run UUID on re-call); KG pair usage_count=0 / last_executed=NULL unchanged; 0 event_outbox; births unchanged. v4: dot:kg = runner_contract_missing / blocked_no_runner_contract_fixture_ready, fixture_ready+no_execute_tested=true.
True dry-run: NOT EXECUTED (pilot) — exact blocker
agent_api pilot pair has no plan-only contract → improvising = MOCK = fake → refused. 0 DRY_RUN rows, 0 REAL_RUN rows. Capability exists for job:cut (not re-run; already verified).
v4 views: LIVE
v_process_discovery_{runner_status, dryrun_readiness, candidate_status_v4, birth_readiness_v4}. Invariant held: dry-run/simulated/no-execute ≠ verified; verified_candidates_v3 = only job:cut.
RP/UI: patch-ready
7 routes; verified badge only from v3; no Nuxt math; operator-gated.
Registration readiness
- job:cut = READY-PENDING-OWNER (only owner blocks; Điều 37).
- dot:kg = NOT READY (agent_api contract + real correlated run +
process.*activation + owner + 10-def split at birth).
Next macro
DOT_AGENT_API_PLAN_ONLY_CONTRACT_IMPLEMENTATION. Parallel: DOT_KG_TRUE_DRY_RUN_ONE_PAIR · PROCESS_DISCOVERY_V4_UI_DEPLOY · PROCESS_REGISTRATION_CANDIDATE_PREP_FOR_JOB_CUT.
Exact blocker
A registered agent_api plan-only contract for DOT_KG_EXPLAIN(+_VERIFY) binding FIXTURE:dot:kg:explain:v1 → DRYRUN-NS: output → verifier-checkable result, with no-mutation invocation. Then upgrade observation SIMULATED→DRY_RUN. No engineering blocker on observation/correlation/v4.
Artifacts
Staged /opt/incomex/docs/mcp-writes/dot-runner-dryrun-2026-06-04/{v4_apply.sql,v4_rollback.sql,dot_kg_explain_fixture_v1.json,plan_only_runner.example.sh}. Report dir …/dot-process-discovery-runner-dryrun-ui-registration-readiness-2026-06-04/ (docs 00–14).
Continues checkpoint-dot-wrapper-correlation-harness-2026-06-04.md.