IU-0 Pilot Planning Pack
IU-0 Pilot Planning Pack
Trạng thái: PLANNING — chưa thực thi, chờ User/GPT review Phiên: S191 (2026-05-03) Baseline: IU-0 Modular v2 (07/07b/07c) — 3/3 PASS Ràng buộc: Không DDL/code/P44-6. Không tạo IU table/collection thật. Không đụng legacy vector.
1. Mục tiêu pilot
Kiểm chứng 4 giả thuyết thiết kế IU-0 trước khi mở rộng:
| # | Giả thuyết | Đo bằng |
|---|---|---|
| H1 | Slice editing giảm token ≥50% per edit | Token count trước/sau |
| H2 | MUP Tier 0 (15 elements) đủ để unit tồn tại + sửa được | Birth gate checklist PASS/FAIL |
| H3 | CRUD hot path không bị vector cản (design-level verify) | Workflow scenario walkthrough |
| H4 | §Section atom là slice boundary hợp lý cho design docs | Boundary fitness per doc |
Chưa kiểm chứng (defer): IU vector thật (Phase 1+), checker (Tier 4), concurrency, search adapter.
2. Scope pilot
2.1 Candidate docs
| Priority | Document | ~Chars | Est. slices | Lý do chọn |
|---|---|---|---|---|
| P0 | IU-0 index+core (07) | ~8K | ~8 (§0–§4) | Self-referential: IU-0 chia chính nó |
| P0 | P38-XC (04) | ~30K | ~14 sections | Dài nhất, nhiều sub-section, stress test boundary |
| P1 | P44-3 (03) | ~25K | ~11 sections | Cross-reference test giữa IU-0 ↔ P44-3 |
| P1 | P11E | ~8K | ~6 sections | Ngắn, test unit_kind khác (knowledge_atom) |
| P2 | 1 Đ44 doc (luật) | varies | varies | Test law_unit — bridge TAC pipeline |
Start nhỏ: Pilot round 1 = chỉ 2 docs (IU-0 07 + P38-XC). Mở rộng sau khi round 1 PASS.
2.2 Pilot KHÔNG LÀM
| # | Cấm |
|---|---|
| 1 | Không P44-6 (Implementation Phase). |
| 2 | Không DDL/code/migration. |
| 3 | Không tạo IU table thật trong PG. |
| 4 | Không tạo Qdrant collection mới. |
| 5 | Không đụng production_documents. |
| 6 | Không dispatch Agent thực thi. |
| 7 | Không production migration. |
| 8 | Không mở rộng ngoài dev/design docs. |
| 9 | Không scale >5 docs trước khi round 1 PASS. |
3. Pilot workflow (logical — không thực thi)
Step 1: Chọn doc → chia slices
Với mỗi doc, lập bảng canonical_address dự kiến theo §Section atom default.
Step 2: MUP checklist per slice
Kiểm 15 elements bắt buộc cho mỗi slice. Template ở §5.1.
Step 3: Slice edit scenario walkthrough
Thử 2–3 kịch bản sửa trên giấy (không code). Template ở §5.2.
Step 4: Evaluate
Đánh giá H1–H4. Ghi findings. Quyết định mở rộng hoặc adjust design.
4. Candidate slices — IU-0 07 (round 1 doc A)
| Slice # | canonical_address (dự kiến) | Section | ~Chars | Boundary fit? |
|---|---|---|---|---|
| 1 | IU-0.§0 |
Tóm tắt + phụ thuộc + module map | ~1500 | ⚠️ Hơi dài — có thể tách §0 vs module-map |
| 2 | IU-0.GR |
10 Guardrails + 5 quyết định | ~800 | ✅ Đủ ngắn, sửa hiếm |
| 3 | IU-0.§1 |
Mục đích, phạm vi | ~1200 | ✅ |
| 4 | IU-0.§2 |
Quyết định chiến lược + unit_kind + anti-patterns | ~1800 | ✅ |
| 5 | IU-0.§3 |
UMC 10 elements + invariants + mapping | ~2000 | ⚠️ Có thể tách §3.1-3.3 vs §3.4-3.5 |
| 6 | IU-0.§4 |
Profile + capability + profiles + lưu trữ | ~1500 | ✅ |
Observations:
- 6 slices cho ~8K doc → trung bình ~1300 chars/slice ≈ 325 tokens. Savings vs full file: ~85%.
- Slice 1 và 5 có thể cần sub-split nếu pilot thấy quá dài. Ghi OPEN.
5. Templates
5.1 MUP Checklist Template
Dùng cho mỗi slice:
| # | Element | Source | Value (dự kiến) | Present? |
|---|---|---|---|---|
| U1 | unit_id | System auto | UUID | ☐ |
| U2 | canonical_address | Agent assign | IU-0.§N |
☐ |
| U3 | unit_kind | Agent | design_doc_section (OPEN IU-0-γ) |
☐ |
| U4 | lifecycle_status | System | draft |
☐ |
| U5 | content_anchor_ref | System | → body | ☐ |
| U6 | version_anchor_ref | System | → version record | ☐ |
| U7 | owner_ref | Agent | opus / user |
☐ |
| U8 | timestamps | System | auto | ☐ |
| U9 | parent_or_container_ref | Agent | → publication IU-0 | ☐ |
| U10 | conformance_status | System | open |
☐ |
| P-id1 | title | Agent | Section title | ☐ |
| P-id2 | owner_lookup_ref | Agent | opus / user |
☐ |
| P-id3 | primary_section_type_ref | Agent | section / index |
☐ |
| P-pub1 | publication_authority_ref | Agent | → Đ44 | ☐ |
| P-pub2 | publication_type_ref | Agent | design_doc |
☐ |
15/15 ☐ checked = birth gate PASS.
5.2 Slice Edit Scenario Template
| Field | Value |
|---|---|
| Doc | (tên tài liệu) |
| Slice | (canonical_address) |
| Scenario | (mô tả ngắn: sửa gì, vì sao) |
| Before chars | (ước tính chars nếu rewrite full file) |
| After chars | (chars slice thực tế) |
| Token savings | (%) |
| Steps | 1. Read slice (SELECT body) → 2. Edit → 3. Write (INSERT version + hash + outbox) |
| Cross-ref needed? | (cần đọc slice khác không? nếu có, slice nào?) |
| Risk | (drift? boundary issue? content_hash conflict?) |
6. Example scenarios (IU-0 07)
Scenario A: Sửa §2.2 unit_kind seed list
| Field | Value |
|---|---|
| Doc | IU-0 07 |
| Slice | IU-0.§2 |
| Scenario | Thêm design_doc_section vào seed list sau khi OPEN IU-0-γ chốt |
| Before | Full file 07: ~8000 chars ≈ 2000 tokens |
| After | Slice §2: ~1800 chars ≈ 450 tokens |
| Token savings | ~77% |
| Steps | Read IU-0.§2 → thêm row vào seed table → write version mới |
| Cross-ref | Không — self-contained |
| Risk | Low — chỉ thêm row vào bảng |
Scenario B: Update OPEN item status
| Field | Value |
|---|---|
| Doc | IU-0 07c |
| Slice | IU-0.§11 |
| Scenario | Đánh dấu IU-0-β RESOLVED sau APR chốt implementation pattern |
| Before | Full file 07c: ~8000 chars ≈ 2000 tokens |
| After | Slice §11: ~1500 chars ≈ 375 tokens |
| Token savings | ~81% |
| Steps | Read IU-0.§11 → update status IU-0-β → write |
| Cross-ref | Không |
| Risk | Low |
Scenario C: Sửa §3 UMC invariants (cross-ref)
| Field | Value |
|---|---|
| Doc | IU-0 07 |
| Slice | IU-0.§3 |
| Scenario | Thêm invariant mới sau pilot discovery |
| Before | Full file 07: ~8000 chars |
| After | Slice §3: ~2000 chars ≈ 500 tokens |
| Token savings | ~75% |
| Steps | Read IU-0.§3 → thêm invariant → write |
| Cross-ref | Cần verify P38-XC §5.2 (slice khác doc) — SELECT P38-XC.§5 |
| Risk | Medium — phải check UMC invariant không mâu thuẫn P38-XC SSOT |
7. Risk checklist pilot
| # | Risk | Mitigation |
|---|---|---|
| R-P1 | §Section atom quá thô hoặc quá mịn | Pilot ghi observation, adjust boundary cho round 2 |
| R-P2 | MUP 15 elements quá strict cho design docs | Birth gate mode = warn (pilot), không block |
| R-P3 | unit_kind = design_doc_section chưa chốt |
OPEN IU-0-γ — pilot dùng tạm, chốt APR sau |
| R-P4 | Cross-ref edit gây drift | Scenario C template: liệt kê cross-ref trước khi sửa |
| R-P5 | Pilot scope creep >5 docs | Scope cap + decision gate §8 |
8. Decision gates
| Gate | Điều kiện | Ai quyết? |
|---|---|---|
| G-Pilot-1 | Pack review PASS → cho phép chuẩn bị candidate slice tables cho round 1 (2 docs) | User/GPT |
| G-Pilot-2 | Round 1 walkthrough PASS (H1–H4) → mở rộng round 2 (+P44-3, P11E) | User/GPT |
| G-Pilot-3 | Round 2 PASS → xem xét P44-6 scope | User/GPT |
Mọi gate cần User/GPT chấp thuận. Opus không tự mở gate.
Pilot Planning Pack | S191 | Baseline: IU-0 Modular v2 3/3 PASS | Chờ review → G-Pilot-1