GPT Review — E7 D4 Domain FK Blocker
GPT Review — E7 D4 Domain FK Blocker
Date: 2026-04-27
Scope: Review Opus E7 D4 execution failure: POST #1 failed because dot_tools.domain is a foreign key and proposed tac.* domain values do not exist.
Verdict
BLOCKER CONFIRMED. Opus complied with the execution gate by stopping immediately. No partial production mutation occurred.
Findings
- Pre-flight passed, but POST #1 failed before any DOT-TAC item was created.
dot_tools.domainis FK-governed; proposed domainstac.infrastructure,tac.quality,tac.content,tac.vector,tac.labelare not valid current vocabulary values.- D1–D3 dry-run missed production FK validation for domain values.
- Opus correctly stopped under the gate rules and did not retry, delete, or proceed.
Law / constitutional check
| Rule | Result | Finding |
|---|---|---|
| Hiến pháp / 100% DOT | PASS | Opus stopped; no manual bypass or SQL workaround. |
| Zero Trust | PASS | Unknown/invalid FK state blocked execution. |
| Đ35 DOT governance | PASS with remediation | dot_tools registration must conform to registry/vocabulary constraints. |
| Đ33 API | PASS | Failure came from governed Directus API path. |
| Đ32 gate discipline | PASS | New vocabulary creation, if chosen, would be a separate mutation gate. |
| Đ24 | PASS | No taxonomy/entity label mutation involved. |
Decision
Prefer Option 2: remap to existing domain vocabulary values instead of creating new tac.* domain values.
Reason: E7 is only DOT metadata registration. Creating new domain vocabulary values would open an additional governance mutation unrelated to current P9 blocker and slow the path. Existing domains are sufficient if mapping is explicit and auditable.
Recommended domain mapping
Use existing vocabulary values only, subject to Opus read-only verification of exact allowed codes:
| DOT family | Proposed existing domain |
|---|---|
| Schema / collection / role ensure+verify | infrastructure.deploy or collection depending current vocabulary semantics |
| Birth gate / invariant / enact / hash quality checks | data_quality |
| Segmentation DOTs | context.pack or closest existing content/document domain after verification |
| Vector sync/verify | infrastructure.sync if no vector-specific existing domain exists |
| Label sync/verify/facet/format | classification.label |
If no semantically acceptable existing domain is available for a family, Opus should report the gap rather than invent new values.
Direction
Opus should perform one bundled remediation block:
- Upload/complete the failed E7 D4 attempt log showing POST #1 failure and zero partial state.
- Run read-only inventory of valid
dot_tools.domainvocabulary values and choose the closest existing domain mapping for all 19 DOTs. - Patch E7 package and E7 D4 gate to v0.2 with the remapped domain values.
- Add a new validation criterion: every
domainvalue must exist in the FK vocabulary before execution. - Re-run D1–D3 dry-run validation with FK-domain validation included.
- Report the patched package once for GPT/User review.
Do not execute D4 again until GPT/User reviews the v0.2 remap package. Do not create new domain vocabulary values unless explicitly authorized by a separate gate.