IU-0 Pilot Round 1 — Candidate Slices (IU-0 + P38-XC)
IU-0 Pilot Round 1 — Candidate Slices
Trạng thái: PLANNING — chưa thực thi Phiên: S191 (2026-05-03) Parent:
08-iu0-pilot-planning-pack.mdDocs round 1: IU-0 07 (~8K) + P38-XC 04 (~30K) Dữ liệu: Đọc thực tế từ KB, không đoán
1. Candidate slices — IU-0 07
Đọc thực tế: 07-iu0-index-and-core.md (~8K chars, 6 logical sections).
| Slice | canonical_address | Section | ~Chars | Boundary fit |
|---|---|---|---|---|
| 1 | IU-0.§0 |
Tóm tắt + phụ thuộc + module map | ~1500 | ⚠️ Có thể tách tóm tắt 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, User định hướng | ~1200 | ✅ |
| 4 | IU-0.§2 |
Chiến lược + unit_kind + anti-patterns | ~1800 | ✅ |
| 5 | IU-0.§3 |
UMC 10 elements + invariants + mapping | ~2000 | ⚠️ Dài — tách §3.1-3.3 vs §3.4-3.5 nếu cần |
| 6 | IU-0.§4 |
Profile + capability + profiles + lưu trữ | ~1500 | ✅ |
Summary: 6 slices, trung bình ~1300 chars/slice ≈ 325 tokens. Full file = ~2000 tokens → savings ~84%.
2. Candidate slices — P38-XC (04)
Đọc thực tế: 04-information-unit-profile-schema.md (~30K chars, 15 top-level sections).
| Slice | canonical_address | Section | ~Chars | Boundary fit |
|---|---|---|---|---|
| 1 | P38-XC.§0 |
Tóm tắt 5 dòng | ~500 | ✅ Ngắn, sửa hiếm |
| 2 | P38-XC.§1 |
Reframing — Universal Substrate (1.1-1.4) | ~2200 | ✅ |
| 3 | P38-XC.§2 |
Living DB Contract 9 câu (2.1-2.3) | ~1800 | ✅ |
| 4 | P38-XC.§3 |
Family registration + Capability set (3.1-3.3) | ~1500 | ✅ |
| 5 | P38-XC.§4 |
Base Core vs Extension boundary (4.1-4.3) | ~1500 | ✅ |
| 6 | P38-XC.§5 |
UMC 10 elements (5.1-5.9) | ~5200 | ⚠️ Dài nhất — nên tách: §5.1-5.6 (UMC core ~3000) vs §5.7-5.9 (mapping + pattern ~2200) |
| 7 | P38-XC.§6 |
Tiered rollout (6.1-6.4) | ~1800 | ✅ |
| 8 | P38-XC.§7 |
Tier 0 profiles (7.1-7.5) | ~4800 | ⚠️ Dài — nên tách: §7.1-7.2 (identity ~1800) + §7.3-7.4 (content+pub ~2500) + §7.5 (summary ~500) |
| 9 | P38-XC.§8 |
DOT Contract Matrix (8.1-8.5) | ~3500 | ⚠️ Dài — có thể tách §8.1 (matrix ~2000) vs §8.2-8.5 (rules ~1500) |
| 10 | P38-XC.§9 |
Tier 1+ future (9.1-9.6) | ~1500 | ✅ |
| 11 | P38-XC.§10 |
TAC physical (10.1-10.5) | ~1800 | ✅ |
| 12 | P38-XC.§11 |
Đ44 Conformance C1-C5 (11.1-11.2) | ~1200 | ✅ |
| 13 | P38-XC.§12 |
Proposed Baseline + OPEN + Amendments (12.1-12.3) | ~2500 | ⚠️ Có thể tách baseline vs OPEN vs amendments |
| 14 | P38-XC.§13 |
Pre-conditions + bước tiếp (13.1-13.2) | ~800 | ✅ |
| 15 | P38-XC.§14 |
AP-CLOSE (14.1-14.4) | ~3000 | ⚠️ Dài — nhưng AP-CLOSE hiếm sửa, giữ nguyên |
Summary default (§Section atom): 15 slices, trung bình ~2000 chars ≈ 500 tokens. Full file ≈ 7500 tokens → savings per edit ~93%.
Boundary observations:
| Issue | Slices affected | Recommendation |
|---|---|---|
| Quá dài (>4000 chars) | §5 (~5200), §7 (~4800) | Split: §5 → 2 slices, §7 → 2-3 slices |
| Dài (>3000 chars) | §8 (~3500), §14 (~3000) | §8 có thể split. §14 giữ nguyên (sửa hiếm). |
| Quá ngắn (<600 chars) | §0 (~500) | Giữ nguyên — index ngắn là đúng. |
| Tổng nếu split | 15 → ~18-19 slices | Vẫn hợp lý cho doc 30K. |
Lưu ý: Các giá trị trong MUP checklist là placeholder phục vụ walkthrough; không phải dữ liệu production và không tạo unit thật.
3. MUP checklist mẫu — 2 representative slices
3.1 Slice: IU-0.§2 (Chiến lược)
| # | Element | Value (dự kiến) | ☐ |
|---|---|---|---|
| U1 | unit_id | UUID auto | ☐ |
| U2 | canonical_address | IU-0.§2 |
☐ |
| U3 | unit_kind | design_doc_section (OPEN IU-0-γ) |
☐ |
| U4 | lifecycle_status | draft |
☐ |
| U5 | content_anchor_ref | → body (section content) | ☐ |
| U6 | version_anchor_ref | → version record | ☐ |
| U7 | owner_ref | opus |
☐ |
| U8 | timestamps | auto | ☐ |
| U9 | parent_or_container_ref | → publication IU-0 | ☐ |
| U10 | conformance_status | open |
☐ |
| P-id1 | title | "Quyết định chiến lược: một information_unit duy nhất" | ☐ |
| P-id2 | owner_lookup_ref | opus |
☐ |
| P-id3 | primary_section_type_ref | section |
☐ |
| P-pub1 | publication_authority_ref | → Đ44 | ☐ |
| P-pub2 | publication_type_ref | design_doc |
☐ |
15/15 = birth gate PASS.
3.2 Slice: P38-XC.§5 (UMC)
| # | Element | Value (dự kiến) | ☐ |
|---|---|---|---|
| U1 | unit_id | UUID auto | ☐ |
| U2 | canonical_address | P38-XC.§5 |
☐ |
| U3 | unit_kind | design_doc_section |
☐ |
| U4 | lifecycle_status | draft |
☐ |
| U5 | content_anchor_ref | → body (~4500 chars) | ☐ |
| U6 | version_anchor_ref | → version record | ☐ |
| U7 | owner_ref | opus |
☐ |
| U8 | timestamps | auto | ☐ |
| U9 | parent_or_container_ref | → publication P38-XC | ☐ |
| U10 | conformance_status | open |
☐ |
| P-id1 | title | "Universal Minimum Core (UMC) — Independent of TAC" | ☐ |
| P-id2 | owner_lookup_ref | opus |
☐ |
| P-id3 | primary_section_type_ref | section |
☐ |
| P-pub1 | publication_authority_ref | → Đ38 | ☐ |
| P-pub2 | publication_type_ref | design_doc |
☐ |
15/15 = birth gate PASS. Note: §5 ~4500 chars — candidate split thành §5.1-5.6 + §5.7-5.9 (OPEN IU-0-δ boundary).
4. Walkthrough scenarios
Scenario A: Simple edit — thêm unit_kind vào IU-0 §2
| Field | Value |
|---|---|
| Doc | IU-0 07 |
| Slice | IU-0.§2 |
| Scenario | Thêm design_doc_section vào seed list khi IU-0-γ chốt |
| Before (full file) | ~8000 chars ≈ 2000 tokens |
| After (slice) | ~1800 chars ≈ 450 tokens |
| Token savings | ~77% |
| Steps | 1. Read IU-0.§2 → 2. Thêm row seed table → 3. Write version mới |
| Cross-ref needed? | Không — self-contained |
| Risk | Low |
Scenario B: Cross-reference edit — sửa UMC invariant P38-XC §5
| Field | Value |
|---|---|
| Doc | P38-XC 04 |
| Slice | P38-XC.§5 |
| Scenario | Thêm invariant mới sau pilot discovery |
| Before (full file) | ~30000 chars ≈ 7500 tokens |
| After (slice) | ~4500 chars ≈ 1125 tokens |
| Token savings | ~85% |
| Steps | 1. Read P38-XC.§5 → 2. Thêm invariant §5.2 → 3. Cross-check IU-0.§3 (kế thừa UMC) → 4. Write |
| Cross-ref needed? | ✅ — phải verify IU-0 §3 không mâu thuẫn. Read IU-0.§3 (~2000 chars) thêm ~500 tokens. Tổng ~1625 tokens vs 7500 = savings ~78%. |
| Risk | Medium — UMC là SSOT, sửa phải cascade check. |
Scenario C: Boundary adjustment — split P38-XC §7
| Field | Value |
|---|---|
| Doc | P38-XC 04 |
| Slice | P38-XC.§7 |
| Scenario | §7 quá dài (~4000 chars). Split thành §7.identity + §7.content-pub + §7.summary. |
| Before | 1 slice ~4000 chars |
| After | 3 slices: ~1500 + ~2000 + ~500 chars |
| Steps | 1. Read P38-XC.§7 → 2. Split content → 3. Retire old unit → 4. Create 3 new units → 5. Edges split_from |
| Cross-ref needed? | Cần update IU-0.§4 nếu reference P38-XC §7 as single section |
| Risk | Medium — boundary change cascade. Pilot nên thử 1 split trước scale. |
5. Risk checklist round 1
| # | Risk | Mitigation |
|---|---|---|
| R-R1-1 | P38-XC §5/§7/§8 quá dài cho §Section atom | Default keep, split nếu pilot thấy edit cycle >5 turns |
| R-R1-2 | design_doc_section chưa chốt APR |
Dùng tạm pilot, OPEN IU-0-γ |
| R-R1-3 | P38-XC có 15 sections → 15-19 slices → quản lý nhiều | Acceptable: 30K doc, 15 sections tự nhiên. Nếu quá vụn → merge sections ngắn. |
| R-R1-4 | Cross-ref P38-XC ↔ IU-0 gây drift | Scenario B template: liệt kê cross-ref trước sửa |
| R-R1-5 | AP-CLOSE (§14 ~3000 chars) hiếm sửa nhưng dài | Giữ nguyên 1 slice — hiếm sửa = OK dài |
| R-R1-6 | 3 vocab values chưa register: design_doc_section, section (section_type), design_doc (publication_type) |
Trivial — vocab registration, không DDL. Prerequisite cho MUP 15/15. |
6. Decision gate reminder
G-Pilot-1: User/GPT review file 08a → cho phép chuẩn bị round 1 pilot thật. Opus không tự mở gate.
Pilot Round 1 Candidate Slices | S191 | Docs: IU-0 07 (6 slices) + P38-XC 04 (15 slices) | Chờ G-Pilot-1