GPT Directive to Opus — P3D Pack 1 IU Contract + TAC-IU Reconciliation
GPT Directive to Opus — P3D Pack 1: IU Canonical Contract + TAC↔IU Reconciliation
Date: 2026-05-10 Issuer: GPT-5.5 Thinking / Incomex Hội đồng AI Receiver: Opus Workstream: P3D_INFORMATION_UNIT_TEXT_AS_CODE Pack: P3D_PACK_1_IU_CANONICAL_CONTRACT_AND_TAC_IU_RECONCILIATION Mode: DESIGN + READ-ONLY INVENTORY ONLY
0. Mission
Design Pack 1. Do not implement.
Pack 1 must decide the relationship between two existing systems:
-
TAC model:
tac_publicationtac_logical_unittac_unit_versiontac_publication_member- current proof: 3 publications / 86 units / 0 drift.
-
Native IU model:
information_unitunit_version- Pack 22 create/gateway runtime
- Pack 23 edit/save/policy runtime.
The output must tell future packs whether TAC and IU should merge, bridge, or evolve, and define the canonical IU contract that future text-as-code packs will implement.
1. Read first
Mandatory:
knowledge/dev/laws/dieu44-trien-khai/reviews/gpt-review-p3d-step1-reauthored-spec-and-pack1-directive-2026-05-10.md
knowledge/dev/laws/dieu44-trien-khai/requirements/p3d-information-unit-text-as-code-requirements-spec.md
knowledge/dev/laws/dieu44-trien-khai/reports/p3d-information-unit-text-as-code-step1-spec-recovery-report.md
knowledge/dev/laws/dieu44-trien-khai/ssot/p3d-iu-text-as-code-completed-state-and-remaining-work-2026-05-10.md
knowledge/dev/laws/dieu44-trien-khai/ssot/p3d-iu-text-as-code-discrepancy-resolution-addendum-2026-05-10.md
knowledge/dev/laws/dieu44-trien-khai/ssot/p3d-iu-text-as-code-final-baseline-patch-2026-05-10.md
Foundation docs to verify exact contract details:
knowledge/dev/laws/dieu44-trien-khai/design/04-information-unit-profile-schema.md
knowledge/dev/laws/dieu44-trien-khai/design/07-iu0-index-and-core.md
knowledge/dev/laws/dieu38-trien-khai/P5-schema-draft-v0-2.md
knowledge/dev/laws/dieu38-trien-khai/tham-khao/p7a-segmentation-reference-76-units.md
knowledge/dev/laws/dieu43-system-context-law.md
Runtime reports to avoid rebuilding:
knowledge/dev/laws/dieu44-trien-khai/reports/22-pack-closure-iu-native-create-and-gateway.md
knowledge/dev/laws/dieu44-trien-khai/reports/23-p3c2-iu-apply-edit-functions-report.md
knowledge/dev/laws/dieu44-trien-khai/reports/23-p3c3-iu-natural-save-router-report.md
knowledge/dev/laws/dieu44-trien-khai/reports/23-p3c4-iu-policy-and-agent-context-report.md
knowledge/dev/laws/dieu44-trien-khai/reports/23-p3d1-notification-schema-functions-report.md
knowledge/dev/laws/dieu44-trien-khai/reports/23-p3d2-notification-triggers-report.md
2. Required output 1 — Pack 1 design
Create:
knowledge/dev/laws/dieu44-trien-khai/design/p3d-pack1-iu-canonical-contract-and-tac-iu-reconciliation-design.md
Required sections:
A. Executive decision
Recommend one path:
MERGE: TAC rows eventually become native IU rows; TAC tables may become views/projections.BRIDGE: TAC and IU remain separate with governed bindings/edges.EVOLVE: native IU evolves to subsume TAC semantics while preserving compatibility.HYBRID: staged bridge now, future merge/evolve later.
Do not leave the recommendation ambiguous. If choosing HYBRID, define phase boundaries clearly.
B. Inventory comparison
Compare TAC and native IU concepts:
identity
canonical_address
publication membership
render_order
parent/section hierarchy
unit version
content/body
content hash
lifecycle_status
review_state
owner/domain metadata
birth registry / gateway
notification/event integration
vector boundary
C. Do-not-rebuild constraints
List all existing runtime that Pack 1 must preserve:
- TAC 3 pubs / 86 units / 0 drift.
fn_iu_creategateway.fn_iu_apply_edit_draft,fn_iu_edit,fn_iu_save.require_reviewpolicy.- IU notification runtime.
- event_outbox published display.
- DOT-119 v2/no-clobber.
D. Exact UMC / contract verification
Re-read P38-XC and IU-0 docs. Produce exact UMC/core list with source citation paths. If the re-authored spec’s 16-concept list differs from exact P38-XC/IU-0 evidence, state the difference and propose correction.
E. Canonical IU contract v1
Define contract fields/concepts as:
- Existing in native IU now.
- Existing in TAC now.
- Existing in both but named differently.
- Missing and required for future packs.
- Deferred/non-goal.
Use a table.
F. Reconciliation option analysis
For MERGE / BRIDGE / EVOLVE / HYBRID, analyze:
benefits
risks
migration complexity
compatibility with current TAC reader
compatibility with fn_iu_create/gateway
compatibility with Pack 23 edit/save runtime
impact on render_order and publication membership
impact on vector boundary
impact on event emission
rollback risk
G. Recommended architecture
Define recommended architecture with phase plan:
- Phase 1: design-only / no mutation.
- Phase 2: read-only inventory proof.
- Phase 3: optional pilot/staging migration or binding proof.
- Phase 4: implementation pack, after GPT/User review.
H. Acceptance criteria for Pack 1 implementation later
Must include at least:
- All 86 TAC units accounted for.
- Round-trip 0 drift preserved after any future migration/binding.
- No direct-write into
information_unitorunit_version. fn_iu_creategateway remains canonical create path.- Pack 23 edit/save functions remain valid or have explicit compatibility patch plan.
render_orderpreserved.- Vector boundary stays one unit/version per chunk.
- Event emission path can attach
event_domain='information_unit'later.
I. Open questions and decisions needed
List decisions for GPT/User review.
J. Next pack recommendation
After Pack 1 design, recommend whether next step should be:
- read-only inventory prompt;
- implementation prompt for bridge/mapping;
- or further design clarification.
3. Required output 2 — Optional read-only inventory prompt
Create if useful:
knowledge/dev/laws/dieu44-trien-khai/prompts/p3d-pack1-readonly-inventory-prompt.md
Purpose: allow Codex/Claude Code to inspect live schemas and counts only.
Must check at most:
tac_publication columns/counts
tac_logical_unit columns/counts/sample canonical addresses
tac_unit_version columns/counts/hash/lifecycle distribution
tac_publication_member render_order continuity
information_unit columns/counts/sample canonical addresses
unit_version columns/counts/version_seq/lifecycle/content_hash distribution
existing FK/constraints/indexes relevant to TAC/IU
fn_iu_create/fn_iu_save/fn_iu_apply_edit_draft existence/signatures
Hard boundary: read-only only.
4. Required output 3 — Pack 1 report
Create:
knowledge/dev/laws/dieu44-trien-khai/reports/p3d-pack1-iu-canonical-contract-and-tac-iu-reconciliation-report.md
Report fields:
phase_status=PASS|PARTIAL|BLOCKED
mode=DESIGN_ONLY
recommended_path=MERGE|BRIDGE|EVOLVE|HYBRID
read_only_inventory_prompt_created=true|false
implementation_allowed=false
runtime_checkpoint_dependency=PENDING|PASS|NOT_REQUIRED_FOR_DESIGN
no_mutation_performed=true
next_required_action=<specific>
5. Hard boundaries
- No DB mutation.
- No DDL.
- No INSERT/UPDATE/DELETE.
- No migration.
- No new bridge table yet.
- No new view yet.
- No vector table.
- No parent-child table.
- No event trigger.
- No Nuxt code.
- No Directus mutation except KB document writes.
- No DOT-119 execution/rewrite.
- Do not run old DOT-119 v1.
- Do not clobber
fn_birth_registry_autov2. - Do not direct-write
information_unitorunit_version. - Do not add “Thông tin” filter.
6. Final response expected from Opus
Return only:
- Design path.
- Inventory prompt path, or
not_createdwith reason. - Report path.
- Recommended reconciliation path.
- Top 10 implementation constraints.
- Next required action.
7. Important note
Runtime checkpoint is still pending. That does not block Pack 1 design. It blocks implementation. Any implementation prompt after Pack 1 must require checkpoint PASS or equivalent read-only evidence.