E7 dot-register v2 Package v0.2 — 19 DOT-TAC-*
E7 — dot-register v2: Register 19 DOT-TAC-* Tools (v0.2)
Phase: P9 Entry Gate, E7 Trạng thái: DRAFT v0.2 — Domain FK remediated. D2 re-run PASS 11/11. Phiên: S183 | Ngày: 2026-04-27 Source: P8 v0.4 §3.2 (19 DOTs) v0.1 blocker: domain FK "tac.*" invalid → remapped to existing vocabulary. Failed attempt:
reports/p9-e7-d4-failed-attempt-log-2026-04-27.mdScope: D1–D3 doc/read-only. D4 register = production mutation, needs gate riêng.
1. Mục tiêu
Register 19 DOT-TAC-* vào dot_tools qua Directus API. 11 fields per DOT.
2. Phases
| Phase | Scope | Mutate? | Status |
|---|---|---|---|
| D1 Design | 19 payload JSON | ❌ | ✅ v0.2 |
| D2 Dry-run | Validate 11 fields + FK domain + paired_dot | ❌ | ✅ 11/11 PASS |
| D3 Verify | Cross-check vs P8 §3.2 | ❌ | ✅ 7/7 paired |
| D4 Register | POST 19 items | ✅ | v0.1 FAIL → v0.2 ready |
3. Pre-checks
- DOT-TAC-* in dot_tools: 0 items ✅ (re-confirmed after v0.1 fail)
- dot_tools schema 11 fields: confirmed ✅
- Directus API: responding ✅
- Domain FK vocabulary: 25 distinct values inventoried ✅
4. 19 DOT Payloads (v0.2 — FK-valid domains)
Shared: coverage_status = "partial", _dot_origin = "dot-dot-register|E7|S183", status = "active".
B-tier (7)
| # | code | name | domain | operation | trigger_type | paired_dot | cron |
|---|---|---|---|---|---|---|---|
| 1 | DOT-TAC-SCHEMA-ENSURE | TAC Schema Ensure | infrastructure.schema | ensure | on-deploy | DOT-TAC-SCHEMA-VERIFY | null |
| 2 | DOT-TAC-COLLECTION-REGISTER | TAC Collection Register | collection | register | on-deploy | DOT-TAC-COLLECTION-VERIFY | null |
| 3 | DOT-TAC-ROLE-ENSURE | TAC Role Ensure | infrastructure.deploy | ensure | on-deploy | DOT-TAC-ROLE-VERIFY | null |
| 4 | DOT-TAC-BIRTH-GATE | TAC Birth Gate | data_quality | gate | event | DOT-TAC-BIRTH-VERIFY | null |
| 5 | DOT-TAC-SEGMENTER | TAC Segmenter | kb | segment | on-demand | DOT-TAC-SEG-VERIFY | null |
| 6 | DOT-TAC-VECTOR-SYNC | TAC Vector Sync | infrastructure.sync | sync | cron | DOT-TAC-VECTOR-VERIFY | null |
| 7 | DOT-TAC-LABEL-SYNC | TAC Label Sync | classification.label | sync | on-demand | DOT-TAC-LABEL-VERIFY | null |
A-tier (12)
| # | code | name | domain | operation | trigger_type | paired_dot | cron |
|---|---|---|---|---|---|---|---|
| 8 | DOT-TAC-SCHEMA-VERIFY | TAC Schema Verify | infrastructure.schema | verify | cron | null | 0 7 * * * |
| 9 | DOT-TAC-COLLECTION-VERIFY | TAC Collection Verify | collection | verify | cron | null | 30 7 * * * |
| 10 | DOT-TAC-ROLE-VERIFY | TAC Role Verify | infrastructure.deploy | verify | cron | null | 45 7 * * * |
| 11 | DOT-TAC-BIRTH-VERIFY | TAC Birth Verify | data_quality | verify | cron | null | 0 6 * * * |
| 12 | DOT-TAC-SEG-VERIFY | TAC Segmentation Verify | kb | verify | cron | null | 0 8 * * * |
| 13 | DOT-TAC-DAILY-INVARIANT | TAC Daily Invariant | data_quality | check | cron | null | 0 3 * * * |
| 14 | DOT-TAC-ENACT-GATE | TAC Enactment Gate | governance.approval | gate | event | null | null |
| 15 | DOT-TAC-HASH-DRIFT | TAC Hash Drift Check | data_quality | check | cron | null | 0 4 * * 0 |
| 16 | DOT-TAC-VECTOR-VERIFY | TAC Vector Verify | infrastructure.sync | verify | cron | null | null |
| 17 | DOT-TAC-LABEL-VERIFY | TAC Label Verify | classification.label | verify | cron | null | 0 9 * * * |
| 18 | DOT-TAC-LABEL-FACET-VERIFY | TAC Label Facet Verify | classification.label | verify | on-demand | null | null |
| 19 | DOT-TAC-LABEL-FORMAT-VERIFY | TAC Label Format Verify | classification.label | verify | on-demand | null | null |
5. D2 Dry-run (v0.2 — with FK validation)
| # | Check | Result |
|---|---|---|
| 1 | Total payloads = 19 | ✅ |
| 2 | All codes unique | ✅ |
| 3 | All codes start DOT-TAC- | ✅ |
| 4 | B-tier paired_dot ≠ null (7/7) | ✅ |
| 5 | A-tier paired_dot = null (12/12) | ✅ |
| 6 | Paired_dot refs valid A-tier code (7/7) | ✅ |
| 7 | Cron format valid | ✅ |
| 8 | All 11 fields present | ✅ |
| 9 | No collision with existing dot_tools | ✅ |
| 10 | Cross-check P8 §3.2 | ✅ |
| 11 | All domain values ∈ FK vocabulary | ✅ |
D2 v0.2: PASS 11/11
6. D3 Paired Consistency
| B-tier DOT | Paired A-tier DOT | Match? |
|---|---|---|
| DOT-TAC-SCHEMA-ENSURE | DOT-TAC-SCHEMA-VERIFY | ✅ |
| DOT-TAC-COLLECTION-REGISTER | DOT-TAC-COLLECTION-VERIFY | ✅ |
| DOT-TAC-ROLE-ENSURE | DOT-TAC-ROLE-VERIFY | ✅ |
| DOT-TAC-BIRTH-GATE | DOT-TAC-BIRTH-VERIFY | ✅ |
| DOT-TAC-SEGMENTER | DOT-TAC-SEG-VERIFY | ✅ |
| DOT-TAC-VECTOR-SYNC | DOT-TAC-VECTOR-VERIFY | ✅ |
| DOT-TAC-LABEL-SYNC | DOT-TAC-LABEL-VERIFY | ✅ |
D3: PASS 7/7
7. Domain Mapping (v0.1 → v0.2)
| v0.1 (invalid) | v0.2 (FK-valid) | DOTs |
|---|---|---|
| tac.infrastructure | infrastructure.schema | SCHEMA-ENSURE, SCHEMA-VERIFY |
| tac.infrastructure | collection | COLLECTION-REGISTER, COLLECTION-VERIFY |
| tac.infrastructure | infrastructure.deploy | ROLE-ENSURE, ROLE-VERIFY |
| tac.quality | data_quality | BIRTH-GATE, BIRTH-VERIFY, DAILY-INVARIANT, HASH-DRIFT |
| tac.quality | governance.approval | ENACT-GATE |
| tac.content | kb | SEGMENTER, SEG-VERIFY |
| tac.vector | infrastructure.sync | VECTOR-SYNC, VECTOR-VERIFY |
| tac.label | classification.label | LABEL-SYNC, LABEL-VERIFY, LABEL-FACET-VERIFY, LABEL-FORMAT-VERIFY |
8. Scope Exclusions
dot_tools INSERT (19) ✅ | taxonomy_facets ❌ | taxonomy_labels ❌ | entity_labels ❌ | system_issues ❌ | P9 ❌ | DOT scripts ❌ | cron activation ❌ | domain vocabulary creation ❌
9. P8 §3.2 Note
Header "8B + 11A" editorial mismatch. Actual table: 7B + 12A = 19. Payload follows table.
Patch log
v0.1 → v0.2
| # | Issue | Fix |
|---|---|---|
| 1 | domain FK "tac.*" invalid | ✅ Remapped to 7 existing domains |
| 2 | D2 missing FK validation | ✅ Criterion #11 added |
| 3 | Failed attempt not logged | ✅ Log uploaded KB |
E7 v0.2 | S183 | 2026-04-27 | Opus 4.6 D1–D3 PASS. D4 ready (gate in D4 execution gate doc v0.2).