05 — P3 DOT_C1 Registration / Catalog / Handbook Proof — 2026-06-22
05 — P3 DOT_C1 Registration / Catalog / Handbook — 2026-06-22
What registration requires
A dispatchable DOT_C1_* needs all of:
- a
dot_toolsrow (catalog), - a
dot_agent_api_contractrow withfixture_ref,output_namespace LIKE 'DRYRUN-NS:%',no_mutation_assertion=true, and a non-NULLendpoint_ref(a real no-mutation endpoint), - CAT-006 / meta-catalog sync, handbook/ledger entry.
The endpoint_ref requirement is structural: the dispatcher refuses DRY_RUN if endpoint_ref IS NULL ("DRY_RUN requires a real no-mutation endpoint"). The only bound DOT today, DOT_KG_EXPLAIN, points at http://incomex-agent-api-executor:8090/dispatch — a deployed microservice (incomex-agent-api-executor, Up 2 weeks, healthy). A C1 contract would need that executor to implement a C1 no-mutation route — i.e., application deployment, not a DB write.
Why P3 could not be done via a governed path here
- No governed registrar function. Function scan:
INSERT INTO dot_agent_api_contract→ 0 functions; the existing 2 contracts came from operator migrationDOT_AGENT_API_CONTRACT_DISPATCHER_2026_06_04. - The registrar is
DOT-REGISTER(on-deploy CLI) — no execution channel here (file 02). - No registrar Flow —
[DOT-REG]flows are CDC syncs to Agent Data, not creators. - Doing the inserts manually with the admin token / PG password = forbidden manual registry insertion (and the executor route still would not exist).
Live registry readback (unchanged — 0 mutations)
| surface | before | after |
|---|---|---|
dot_tools |
309 | 309 |
dot_agent_api_contract |
2 (DOT_KG_EXPLAIN, DOT_KG_EXPLAIN_VERIFY) |
2 |
DOT_C1_* in dot_tools |
0 | 0 |
| C1 contracts | 0 | 0 |
Result
P3 = no DOT_C1_ registered*. No orphan DOT created (nothing partially written). The expected DOT_C1 set (SCHEMA_ENSURE/VOCAB_BUILD/VOCAB_VERIFY/PREFLIGHT/BAD_INPUT_HARNESS/EVIDENCE_READBACK/ROLLBACK_CHECK) remains a plan to be realized by the operator registrar + executor deployment. ⇒ contributes C1_DRYRUN_CAPABILITY_LOCKED_OPERATOR_ACTION_REQUIRED (precise sub-cause C1_DRYRUN_HOLD_C1_DOT_REGISTRATION_FAILED / …_DOT_REGISTRAR_NOT_EXECUTABLE).