Handoff to Opus New Session — IU-0 Pack 2A Core PASS + Next Work
HANDOFF TO OPUS NEW SESSION — IU-0 Pack 2A Core PASS + Next Work
Date: 2026-05-04 Audience: Opus 4.6 new session From: GPT-5.5 Thinking / Incomex Hội đồng AI Status: Pack 2A core PASS. Do not open Pack 2B yet.
0. Role split
- User: quyết định các vấn đề lớn/rủi ro thật.
- GPT: điều hành chiến lược, kiểm luật/hiến pháp, chốt gate kỹ thuật.
- Opus/Ocus: soạn thiết kế, chỉ huy Claude Code/Agent, upload KB.
- Claude Code/Agent: chỉ chạy runtime/VPS khi có prompt rõ và được approve.
Nguyên tắc điều hành: không giao lắt nhắt. Làm gói lớn vừa đủ, đọc đúng tài liệu, upload kết quả, báo cáo. Không tự mở execution ngoài scope.
1. Bối cảnh tổng thể
Mục tiêu gốc là Đ38/TAC pipeline. Trong quá trình làm Đ38 phát hiện thiếu schema chuẩn cho mọi loại thông tin, nên mở Đ44/IU-0 để xây hạ tầng information_unit — “miếng thông tin”.
Đường chiến lược:
- Đ44/IU-0 tạo schema và hạ tầng miếng thông tin.
- Khi miếng thông tin dùng được tối thiểu, quay lại Đ38/TAC.
- Đ38/Đ39 Text-as-Code sau này phải link được luật ↔ quy trình ↔ DOT/code ↔ DB object ↔ IU slice, để tránh lỗi tìm sai tài liệu/quy trình như vừa xảy ra.
TD liên quan đã tạo:
knowledge/dev/laws/dieu44-trien-khai/td/td-iu0-text-as-code-information-unit-process-linking-gap-2026-05-04.md
Thông điệp TD: gốc rễ là chưa có IU/Text-as-Code chính thức để liên kết law/process/code ở cấp miếng thông tin. Vì vậy hiện tại vẫn phụ thuộc search keyword và tài liệu dài.
2. Roadmap tổng thể hiện tại
Roadmap đến khi “miếng thông tin” dùng được:
- Track 0 — Orphan/Ghost Vector Root Cause: DONE.
- Track A — Legacy Vector Stabilization: DONE.
- IU-0 baseline 07/07b/07c: DONE.
- Pilot Round 1 read-only + writable slices: DONE.
- Pack 1 — Minimal DB foundation: DONE/PASS.
- Điều 20 — Design Before Execution + Context Graph Gate: DONE/BAN HÀNH.
- Pack 2 Readiness: DONE/PASS.
- Pack 2A — Governance registration: CORE PASS.
- Next: closure + QT-003R process addendum.
- Then: F6 — birth path for IU data rows, blocking before Pack 2B.
- Pack 2B — Minimal CRUD Pilot: NOT OPEN.
- Later: extend 3–5 docs, outbox/vector, minimum production use, return Đ38/TAC.
Current position: Pack 2A core completed; before Pack 2B; need closure and process documentation.
3. What was done before Pack 2A
Pack 1 DB foundation — DONE/PASS
Created real PG objects:
information_unitunit_version- vocab pilot rows
- birth gate L1/L2 triggers
- updated_at trigger
- indexes/FK
- 14/14 smoke tests PASS
- test data cleaned; both tables had 0 rows before Pack 2A
Key evidence:
knowledge/dev/laws/dieu44-trien-khai/reports/iu0-pack1-execution-report.mdknowledge/dev/laws/dieu44-trien-khai/reviews/gpt-review-iu0-pack1-execution-report-2026-05-04.md
Pack 2A design evolution
Important design docs:
knowledge/dev/laws/dieu44-trien-khai/design/12-iu0-pack2a-dot-governance-registration-execution-pack.mdrev4knowledge/dev/laws/dieu44-trien-khai/design/12a-iu0-pack2a-description-birth-contract-decision-note.mdknowledge/dev/laws/dieu44-trien-khai/design/12b-iu0-pack2a-context-graph-gate-application.mdknowledge/dev/laws/dieu44-trien-khai/design/12c-iu0-pack2a-birth-process-classification.md
Why this took time:
- Initial raw SQL idea was blocked by Đ4/Đ35/Đ36.
- Description/Birth contract had to comply with Đ3/Đ4.
- Điều 20 now requires Context Graph Gate before design.
- Process Resolver discovered QT-001/QT-002 and later birth-procedures v3.0.
4. Pack 2A execution result — CORE PASS
Report:
knowledge/dev/laws/dieu44-trien-khai/reports/iu0-pack2a-dot-governance-registration-report.md
Opus assessment:
knowledge/dev/laws/dieu44-trien-khai/reviews/opus-assessment-pack2a-registration-report-2026-05-04.md
GPT review:
knowledge/dev/laws/dieu44-trien-khai/reviews/gpt-review-pack2a-registration-report-and-next-directive-2026-05-04.md
Result
| Object | Before | After |
|---|---|---|
information_unit in collection_registry |
MISSING | COL-176, observed, native, pilot, primary |
unit_version in collection_registry |
MISSING | COL-177, observed, native, pilot, primary |
birth_registry for COL-176/177 |
MISSING | Auto-created, species=collection, composition=molecule |
| HC-REG gap | 2 tables missing | Cleared for IU tables |
What Agent did correctly
- Preflight: IU rows = 0/0.
source_kind nativeaccepted.- Registered both collections via
dot-collection-register --cloud. - Used descriptions from file 12 rev4, following Đ3 form.
- Verified via internal DOT stdout and external queries.
- Ran
dot-collection-health: no IU-specific finding. - Obeyed all prohibitions.
Prohibitions obeyed
- No raw SQL write/delete.
- No DDL.
- No IU production rows.
- No CRUD.
- No Directus exposure.
- No vector/outbox/Qdrant.
- No Pack 2B/2C.
- No admin fallback.
5. Phase 5 STOP — trigger registry scanner issue
Phase 5 tried:
dot-schema-trigger-registry-ensure --cloud
It failed because SSH key /root/.ssh/contabo_vps is missing/incorrect. Agent correctly STOPPED and did not workaround.
This is not blocking Pack 2A core.
Analogy: birth certificate/registry filing succeeded; the later “trigger scanner” used to sync trigger metadata into trigger_registry has a broken SSH key.
TD created:
knowledge/dev/laws/dieu44-trien-khai/td/td-pack2a-trigger-registry-sync-tooling-ssh-key-2026-05-04.md
Do not fix F7 now unless User/GPT explicitly prioritizes it. It is follow-up tooling debt.
6. Critical follow-ups / gates
F6 — BLOCKING before Pack 2B
Birth path for IU data rows must be designed before creating any IU rows.
Pack 2B cannot open until F6 is resolved.
Options to design later:
- QT-002 birth-first for IU data rows; or
- Đ44-specific birth path integrating Pack 1 IU birth gates with birth_registry.
F7 — non-blocking tooling debt
dot-schema-trigger-registry-ensure SSH key dependency. Logged TD.
F8 — non-blocking cleanup
Duplicate trigger trg_iu_birth_gate_layer2 on information_unit. Cleanup only under separate design.
F9 — dependent on F6
unit_version has no birth_gate triggers. This belongs to future IU data-row birth design, not Pack 2A closure.
7. Important process discovery: QT-003R
Existing process docs:
knowledge/ops/processes/birth-process-v1.md— QT-001 and QT-002.knowledge/dev/architecture/birth-procedures.md— v3.0 with QT-001, QT-002, QT-003, QT-005, QT-006.
Pack 2A is not QT-001 and not QT-002.
It is closest to a subtype of QT-003:
QT-003R — Retroactive Collection Registration Before First Use
Definition:
- PG table/collection exists already.
- It has 0 rows.
- It is missing registry/governance registration.
- Must be registered before first data row.
- If rows >0 → STOP and reclassify into QT-001/backfill.
GPT analysis:
knowledge/dev/laws/dieu44-trien-khai/reviews/gpt-analysis-need-qt003r-retroactive-collection-registration-2026-05-04.md
Next Opus task should include this.
8. Documents Opus new session should read first
Read these, in order. Do not search broadly before reading them.
Immediate evidence
-
Pack 2A report:
knowledge/dev/laws/dieu44-trien-khai/reports/iu0-pack2a-dot-governance-registration-report.md -
GPT review of report + next directive:
knowledge/dev/laws/dieu44-trien-khai/reviews/gpt-review-pack2a-registration-report-and-next-directive-2026-05-04.md -
Existing closure, if present:
knowledge/dev/laws/dieu44-trien-khai/reviews/iu0-pack2a-closure-and-next-gates-2026-05-04.md -
File 12 rev4:
knowledge/dev/laws/dieu44-trien-khai/design/12-iu0-pack2a-dot-governance-registration-execution-pack.md
Process context
-
Birth process v1:
knowledge/ops/processes/birth-process-v1.md -
Unified birth procedures v3.0:
knowledge/dev/architecture/birth-procedures.md -
GPT analysis QT-003R:
knowledge/dev/laws/dieu44-trien-khai/reviews/gpt-analysis-need-qt003r-retroactive-collection-registration-2026-05-04.md
TD / structural lessons
-
Text-as-Code/IU linking gap TD:
knowledge/dev/laws/dieu44-trien-khai/td/td-iu0-text-as-code-information-unit-process-linking-gap-2026-05-04.md -
Trigger scanner TD:
knowledge/dev/laws/dieu44-trien-khai/td/td-pack2a-trigger-registry-sync-tooling-ssh-key-2026-05-04.md
Roadmap context
-
Roadmap position:
knowledge/dev/laws/dieu44-trien-khai/reviews/gpt-roadmap-position-iu0-miếng-thông-tin-2026-05-04.md -
Pack 1 execution report:
knowledge/dev/laws/dieu44-trien-khai/reports/iu0-pack1-execution-report.md
9. Next work for Opus new session
Do NOT dispatch Claude Code. Do NOT open Pack 2B.
Make one consolidated package, not microtasks:
A. Create/refresh Pack 2A closure/handoff
Target:
knowledge/dev/laws/dieu44-trien-khai/reviews/iu0-pack2a-closure-and-next-gates-2026-05-04.md
If this file already exists, update/rewrite it to include current final state.
Must include:
- Pack 2A core PASS.
- COL-176 =
information_unit. - COL-177 =
unit_version. birth_registryauto-created COL-176/COL-177.dot-collection-healthno IU-specific findings.- Phase 5 trigger registry sync STOP is F7 technical debt, not Pack 2A blocker.
- F6 blocks Pack 2B.
- Hard stop: no CRUD/vector/outbox/Directus/Pack2B.
B. Create QT-003R process addendum draft
Target:
knowledge/dev/laws/dieu44-trien-khai/design/12d-iu0-pack2a-qt003r-process-addendum.md
Must include:
-
Summary of existing taxonomy:
- QT-001 = entity/data rows already exist → backfill.
- QT-002 = new data rows → birth-first.
- QT-003 = collection declaration.
- QT-005 = governance_role upgrade/downgrade.
- QT-006 = deletion/death.
-
New subtype:
- QT-003R = retroactive collection declaration before first use.
- Existing table/collection, 0 rows, missing governance registry.
- Register via legal DOT before first data row.
- If >0 rows → STOP, reclassify to QT-001.
-
Pack 2A as worked example:
information_unitandunit_versionalready existed from Pack 1.- 0 rows.
- registered as COL-176/COL-177.
- no data-row birth/backfill yet.
-
Avoid process explosion:
- Do not create new top-level process if it is a variant of existing QT.
- Use suffix variants like QT-003R when domain is same but timing differs.
-
Scan for near-cases to include under existing QT taxonomy:
- Existing collection with >0 rows and no registry → QT-001/backfill.
- Existing collection with 0 rows and no registry → QT-003R.
- New collection before use → QT-003.
- New data row → QT-002.
- Governance role change → QT-005.
- Delete/retire entity → QT-006.
- Existing registered collection missing description/provenance → handle under Description Governance/H11, not a new birth process.
- Tool registry exists but scanner/sync broken → TD/tooling repair, not new birth process.
-
Proposed wording for canonical process doc patch:
- propose where to insert QT-003R into
knowledge/dev/architecture/birth-procedures.md. - do not patch canonical doc yet unless GPT/User approve.
- propose where to insert QT-003R into
C. State next recommended gate after closure
After closure + 12d, next strategic task is F6 design package:
Pack 2B Birth Path Design for IU data rows
But do not start it until GPT/User asks.
10. Things not to do
- Do not dispatch Claude Code.
- Do not run
dot-schema-trigger-registry-ensureagain. - Do not fix SSH key now.
- Do not open Pack 2B.
- Do not create IU rows.
- Do not CRUD.
- Do not touch vector/outbox/Qdrant.
- Do not expose Directus.
- Do not patch canonical
birth-procedures.mdwithout review. - Do not create a brand-new top-level process if QT-003R under QT-003 covers it.
11. Handoff summary in one sentence
Pack 2A successfully registered the two IU tables into governance as COL-176/COL-177 using legal DOT tools; the next Opus job is to close Pack 2A properly and draft QT-003R so future agents know how to handle “table already exists, 0 rows, missing registry” without rediscovering this case.