KB-52A4

Checkpoint — DOT agent_api Contract / Dispatcher 2026-06-04

4 min read Revision 1
dot-agent-apicontractdispatchercheckpoint2026-06-04

Checkpoint — DOT agent_api Contract / Dispatcher (short SSOT)

Date: 2026-06-04 · Macro: DOT_AGENT_API_CONTRACT_DISPATCHER_TRUE_DRYRUN_UI_REGISTRATION Final status: PARTIAL — all safe branches LIVE; true DRY_RUN blocked on a missing agent_api invocation endpoint. Execution mode: EXECUTION_MODE. RO=query_pg(context_pack_readonly); RW=ssh contabo→docker exec -i postgres psql -U directus; KB=upload_document; staging=/opt/incomex/docs/mcp-writes/dot-agent-api-contract-2026-06-04/.

Live mutation: YES (birth-free)

birth_registry 1,163,392 before == after across the committed apply + write test (session-start→apply drift 1,158,336→1,163,392 was background, excluded from the local guard). trigger_guard_alerts=129 unchanged. Additive only. MCP read-back PASS.

Runner pattern status

9-rule Runner Safety Contract extracted from iu-cutter-v0.6 / dot_iu_command_run / dot-hc-executor and reused. Only the execution body is non-reusable (agent_api has no endpoint).

agent_api contract status: LIVE

dot_agent_api_contract generic registry (keyed by dot_code; CHECKs: no_mutation_assertion=true, output_namespace LIKE 'DRYRUN-NS:%', mode=DRY_RUN⇒endpoint_ref NOT NULL). Pilot pair bound: DOT_KG_EXPLAIN (PLAN_ONLY producer) + DOT_KG_EXPLAIN_VERIFY (VERIFY_ONLY verifier), endpoint_ref NULL.

Dispatcher status: LIVE

fn_process_agent_api_dispatch — generic, fail-closed, cannot execute a DOT, never writes DRY_RUN/REAL_RUN. 5/5 refusals proven (REAL_RUN, DRY_RUN-no-endpoint, unknown-dot, no-correlation, non-dry-run runtime).

KG binding status: complete

Fixture FIXTURE:dot:kg:explain:v1 + output ns DRYRUN-NS:dot:kg:explain + producer/verifier schemas all bound. Only the live endpoint is missing.

No-execute test status: PASS

2 prepared SIMULATED_DRY_RUN runs+components; idempotent (re-call same UUID, 0 rows); births unchanged; pilot usage_count/last_executed NULL; 0 DRY_RUN/0 REAL_RUN; 0 events.

True dry-run result: NOT EXECUTED — exact blocker

No agent_api invocation endpoint exists (endpoint_ref NULL; host dispatcher grep empty). Faking = MOCK = forbidden. 0 DRY_RUN rows.

v5 / UI status: LIVE / patch-ready

5 v5 views live. dot:kg: runner_contract_missing → plan_only_tested (contracts 2, endpoints 0, dispatcher true, prepared_obs 2). job:cut: verified_candidate preserved. Invariant: verified_candidates_v3 = only job:cut. 5 /process-discovery/* routes patch-ready (no Nuxt math; verified badge only from v3; operator-gated deploy).

job:cut registration prep: DONE (owner pending)

verified_candidate, 8 members, VERIFIED_PENDING_OWNER, owner_missing. Registration-readiness packet authored; no birth/canon/approval. Only owner blocks.

dot:kg owner/event prep: DONE (sequenced)

Chain: endpoint → real run → owner registration → 10-law-def split → process.* activation. 7 process.* events all inactive (do-not-activate this macro).

D1/D2 expansion readiness: DONE

KG D1 cluster refinement + dot-kg D2 SOP expansion + family diagram identified; runner-free, owner-free.

Next macro

PRIMARY DOT_AGENT_API_PLAN_ONLY_ENDPOINT_IMPLEMENTATION. Parallel: PROCESS_DISCOVERY_V5_UI_DEPLOY · JOB_CUT_PROCESS_REGISTRATION_CANDIDATE_PREP · INFORMATION_PIECE_D1_D2_EXPANSION_ON_KG_DOT.

Exact blocker

A registered, no-mutation agent_api invocation endpoint for DOT_KG_EXPLAIN(+_VERIFY) consuming FIXTURE:dot:kg:explain:v1, writing only to DRYRUN-NS:dot:kg:explain, returning a verifier-checkable output — bound as dot_agent_api_contract.endpoint_ref, mode→DRY_RUN. No engineering blocker on contract/dispatcher/observation/v5.

Artifacts

Apply /opt/incomex/docs/mcp-writes/dot-agent-api-contract-2026-06-04/v5_apply.sql · Rollback …/v5_rollback.sql · Report dir knowledge/dev/reports/architecture/dot-agent-api-contract-dispatcher-dryrun-ui-registration-2026-06-04/ (docs 00–15). Continues checkpoint-dot-runner-dryrun-registration-readiness-2026-06-04.md.

Back to Knowledge Hub knowledge/dev/reports/architecture/checkpoint-dot-agent-api-contract-dispatcher-2026-06-04.md