03 — P1 DOT Spec/Admission & Reuse-First Proof — 2026-06-22
03 — P1 DOT Spec/Admission & Reuse-First Proof — 2026-06-22
Reuse-first search (registry scanned BEFORE proposing any new DOT)
dot_tools = 309 rows (live). Search for register/collection/schema/table_registry/catalog/vocab/preflight families returned 47 candidates. Reuse decisions for each C1 capability:
| C1 capability needed | Existing DOT candidate(s) | Registry evidence | Decision | Reason |
|---|---|---|---|---|
| schema ensure | DOT_SCHEMA_ENSURE, DOT_SCHEMA_TABLE_REGISTRY_ENSURE |
active; file_path=/opt/incomex/dot/bin/dot-schema-* |
REUSE (operator-run) | exact-fit governed ensure family |
| collection register | DOT_COLLECTION_REGISTER, DOT_COLLECTION_CREATE |
active; /opt/incomex/dot/bin/dot-collection-* |
REUSE (operator-run) | governed Directus collection path |
| table_registry ensure | DOT_SCHEMA_TABLE_REGISTRY_ENSURE |
active | REUSE (operator-run) | canonical registry ensure |
| DOT registration | DOT-REGISTER (dot-dot-register) |
active; bin/dot/dot-dot-register.ts; trigger_type=on-deploy |
REUSE (operator-run) | the ONLY lawful registrar |
| catalog sync | [DOT-REG] … -> AD flows + refresh_meta_catalog_from_pivot |
flows active | REUSE | CDC sync after registry write |
| vocab build (C1) | — none C1-specific | dot_c1_rows=0 |
NEW (Path A) | needs R_C1+cser-v1 manifest; author spec, register via DOT-REGISTER |
| vocab verify (C1) | producer/verifier precedent DOT_KG_EXPLAIN/_VERIFY |
contracts=2 | NEW (Path A) | paired verifier per precedent |
| preflight (C1) | dispatcher route + fn_preflight_guard |
live | REUSE+EXTEND | bind C1 contract; no new primitive |
| bad-input harness | live dispatcher fail-closed | proven (file 09) | REUSE | dispatcher already fail-closes |
| evidence readback | query_pg + KB |
read-only | REUSE | no new DOT |
| rollback/no-state | DOT-062 retire family (precedent) |
catalog | REUSE/EXTEND | retire-not-delete |
Rejected as wrong-fit: generic DOT_SCHEMA_ENSURE as a C1 vocab creator (it is a schema-ensure primitive, not a vocab authority); dot_iu_create_collection/fn_iu_collection_create (IU axis, not C1 governance vocab); domain *_VERIFY from other axes.
P1 admission status
The only genuinely new DOTs are the C1 vocab build/verify pair (+ C1 preflight/rollback bindings). Per the macro, new DOTs must be born/admitted/registered only through the governed DOT lifecycle — i.e. authored as specs and registered via DOT-REGISTER (on-deploy).
This macro did NOT author them into the runtime, because:
- Registration requires the on-deploy registrar, which has no execution channel here (file 02).
- Authoring a spec file is possible only into the docs channel (
/opt/incomex/docs/mcp-writes), which is not runtime registration and must not masquerade as one. - Inventing a new birth path is explicitly forbidden by the macro.
Therefore P1 produces a reuse-first plan (reuse the 5 registrar/ensure DOTs as-is; add ~2 C1 DOTs via Path A at operator deploy time) but no runtime admission. No orphan DOT was created (file 12). ⇒ The lawful next action is operator-run registration (file 14).