KB-3181

Checkpoint — DOT Runner / Dry-Run / Registration Readiness 2026-06-04

4 min read Revision 1
dot-runnerdry-runcheckpointregistration-readiness2026-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:cutiu-cutter-v0.6 + o7_live_dryrun_runner.py: real Mode.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-run for system_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:v1DRYRUN-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.

Back to Knowledge Hub knowledge/dev/reports/architecture/checkpoint-dot-runner-dryrun-registration-readiness-2026-06-04.md