IU-0 Pilot Round 1 — READ-ONLY Simulation Report
IU-0 Pilot Round 1 — READ-ONLY Simulation Report
Trạng thái: REPORT — simulation hoàn tất, chờ review Phiên: S191 (2026-05-03) Executor: Opus (self-execute, không dispatch Codex — lý do: 4 tasks chỉ cần đọc KB + tính toán) Input: 08d rev 3 prompt, 07 IU-0, 04 P38-XC, 08a rev 2, 08b rev 1 Compliance: READ-ONLY — chỉ tạo file report này, không sửa bất kỳ file nào khác
Task 1: Slice Boundary Verification
IU-0 07 (~8K chars total)
| Slice | canonical_address | Chars (08a est.) | Chars (actual est.) | Delta | Recommendation |
|---|---|---|---|---|---|
| 1 | IU-0.§0 |
~1500 | ~1600 | +100 | ✅ OK |
| 2 | IU-0.GR |
~800 | ~750 | -50 | ✅ OK — ngắn, sửa hiếm |
| 3 | IU-0.§1 |
~1200 | ~1300 | +100 | ✅ OK |
| 4 | IU-0.§2 |
~1800 | ~1900 | +100 | ✅ OK |
| 5 | IU-0.§3 |
~2000 | ~2100 | +100 | ⚠️ Hơi dài nhưng dưới 4000 threshold — OK default |
| 6 | IU-0.§4 |
~1500 | ~1400 | -100 | ✅ OK |
Summary IU-0: Ước lượng 08a sát thực tế (delta ≤100 chars mỗi slice). Không section nào >4000 chars. Không cần split bắt buộc. §Section atom boundary hợp lý.
P38-XC 04 (~30K chars total)
| Slice | canonical_address | Chars (08a est.) | Chars (actual est.) | Delta | Recommendation |
|---|---|---|---|---|---|
| 1 | P38-XC.§0 |
~500 | ~550 | +50 | ✅ Ngắn, OK |
| 2 | P38-XC.§1 |
~2200 | ~2400 | +200 | ✅ OK |
| 3 | P38-XC.§2 |
~1800 | ~2000 | +200 | ✅ OK |
| 4 | P38-XC.§3 |
~1500 | ~1700 | +200 | ✅ OK |
| 5 | P38-XC.§4 |
~1500 | ~1500 | 0 | ✅ OK |
| 6 | P38-XC.§5 |
~4500 | ~5200 | +700 | ⚠️ Dài hơn ước lượng. §5.1-5.9 rất chi tiết (9 sub-sections, nhiều bảng). Split candidate confirmed: §5.1-5.6 (~3000) + §5.7-5.9 (~2200). |
| 7 | P38-XC.§6 |
~1800 | ~1900 | +100 | ✅ OK |
| 8 | P38-XC.§7 |
~4000 | ~4800 | +800 | ⚠️ Dài hơn ước lượng. 7.1-7.5 chứa 3 profile bảng lớn + conformance checks + DOT state. Split confirmed: §7.1-7.2 (~1800) + §7.3-7.4 (~2500) + §7.5 (~500). |
| 9 | P38-XC.§8 |
~3500 | ~3800 | +300 | ⚠️ Gần threshold. DOT matrix bảng rất rộng. Split optional. |
| 10 | P38-XC.§9 |
~1500 | ~1400 | -100 | ✅ OK |
| 11 | P38-XC.§10 |
~1800 | ~1900 | +100 | ✅ OK |
| 12 | P38-XC.§11 |
~1200 | ~1200 | 0 | ✅ OK |
| 13 | P38-XC.§12 |
~2500 | ~3000 | +500 | ⚠️ Dài hơn. Baseline 16 items + OPEN 15 items + Amendments. Acceptable — sửa hiếm. |
| 14 | P38-XC.§13 |
~800 | ~900 | +100 | ✅ OK |
| 15 | P38-XC.§14 |
~3000 | ~3500 | +500 | ⚠️ AP-CLOSE dài. Hiếm sửa → giữ nguyên. |
Summary P38-XC: 08a underestimate §5 (~700) và §7 (~800) — 2 sections dài nhất. §5 actual ~5200 và §7 actual ~4800 đều vượt 4000 threshold → split recommended cho pilot. Các sections khác delta chấp nhận được. Nếu split §5 + §7: 15 → 18 slices.
Task 2: Scenario A — Simple edit IU-0.§2
Metrics thực tế
| Metric | 08b estimate | Actual (from KB read) | Delta |
|---|---|---|---|
Slice IU-0.§2 chars |
~1800 | ~1900 | +100 |
| Slice tokens | ~450 | ~475 | +25 |
| Full file tokens | ~2000 | ~2100 | +100 |
| Savings | 77% | ~77% | Match |
| Total per edit | ~1150 | ~1200 | +50 |
Walkthrough verify
| Step | 08b design | Actual feasibility |
|---|---|---|
| Read §2 body | ✅ | ✅ Content readable, seed table clear |
| Thêm row seed table | ✅ | ✅ Table format markdown, thêm row trivial |
| Xoá dogfooding candidate | ✅ | ✅ Paragraph cuối §2.2, text clear |
| Write version mới | ✅ | ✅ (logical — chưa có IU table thật) |
Pass/fail
| Criteria | Verdict |
|---|---|
| PF-A1 Isolation | ✅ PASS — §2 self-contained, seed table không reference §1/§3/§4 |
| PF-A2 Savings ≥50% | ✅ PASS — 77% |
| PF-A3 Cycle ≤5 turns | ✅ PASS — 2-3 turns |
| PF-A4 Hash → outbox (logical) | ✅ PASS — design contract holds |
| PF-A5 Version audit trail | ✅ PASS — design contract holds |
Scenario A: PASS.
Task 3: Scenario B — Cross-ref edit P38-XC.§5 + read IU-0.§3
Metrics thực tế
| Metric | 08b estimate | Actual | Delta |
|---|---|---|---|
| P38-XC §5 chars | ~4500 | ~5200 | +700 |
| P38-XC §5 tokens | ~1125 | ~1300 | +175 |
| IU-0 §3 chars | ~2000 | ~2100 | +100 |
| IU-0 §3 tokens | ~500 | ~525 | +25 |
| Total read tokens | ~1625 | ~1825 | +200 |
| Full file alternative | ~9500 | ~9600 | +100 |
| Savings | 83% | ~81% | -2% (vẫn >50%) |
Cross-ref consistency check
IU-0 §3.3 invariants (5 items): Completeness, Immutability, Independence, Pattern-invariant, Migration.
P38-XC §5.2 UMC elements + §5.8 pattern invariant text: "UMC contract invariant qua mọi implementation pattern".
Consistency: IU-0 §3.3 "Pattern-invariant" = match P38-XC §5.8. IU-0 §3.3 "Migration" = match P38-XC §7.5 wording. Không phát hiện inconsistency.
Pass/fail
| Criteria | Verdict |
|---|---|
| PF-B1 Isolation | ✅ PASS — chỉ §5 edited |
| PF-B2 Savings ≥50% | ✅ PASS — 81% |
| PF-B3 Cycle ≤5 turns | ✅ PASS — 3-4 turns |
| PF-B4 Cross-ref before write | ✅ PASS — read IU-0 §3 before edit §5 |
| PF-B5 No contradiction | ✅ PASS — invariants consistent |
| PF-B6 Cascade identified | ✅ PASS — IU-0 §3 cần separate update |
Scenario B: PASS. Lưu ý: §5 actual ~5200 > estimate ~4500. Split candidate nếu edit cycle phức tạp.
Task 4: MUP Placeholder Validation
Slice IU-0.§2
| # | Element | Fill từ content hiện tại? | Note |
|---|---|---|---|
| U1 | unit_id | ✅ System auto | Không cần data hiện tại |
| U2 | canonical_address | ✅ IU-0.§2 |
Derive từ doc + section path |
| U3 | unit_kind | ⚠️ design_doc_section chưa chốt APR |
OPEN IU-0-γ. Dùng tạm pilot. |
| U4 | lifecycle_status | ✅ draft |
Default |
| U5 | content_anchor_ref | ✅ → body ~1900 chars | Content tồn tại |
| U6 | version_anchor_ref | ✅ System auto | Không cần data |
| U7 | owner_ref | ✅ opus |
Fillable |
| U8 | timestamps | ✅ System auto | Không cần data |
| U9 | parent_or_container_ref | ✅ → publication IU-0 | File 07 tồn tại |
| U10 | conformance_status | ✅ open |
Default |
| P-id1 | title | ✅ "Quyết định chiến lược..." | Extract từ heading |
| P-id2 | owner_lookup_ref | ✅ opus |
Fillable |
| P-id3 | primary_section_type_ref | ⚠️ section — vocab chưa register |
Cần register vocab value |
| P-pub1 | publication_authority_ref | ✅ → Đ44 | Fillable |
| P-pub2 | publication_type_ref | ⚠️ design_doc — vocab chưa register |
Cần register vocab value |
Result: 12/15 fillable ngay. 3/15 cần prerequisite nhỏ (unit_kind APR, section_type vocab, publication_type vocab). Không blocker — 3 items đều là vocab registration, không DDL.
Slice P38-XC.§5
Tương tự IU-0.§2. Cùng 3 items cần prerequisite: U3 unit_kind, P-id3 section_type, P-pub2 publication_type. Plus: P-pub1 authority = Đ38 (thay vì Đ44). 12/15 fillable, 3/15 cần vocab registration.
Summary: H1–H4 Preliminary Verdict
| Hypothesis | Target | Result | Verdict |
|---|---|---|---|
| H1 Token savings ≥50% | ≥50% | A: 77%, B: 81% | ✅ PASS |
| H2 MUP Tier 0 feasible | 15/15 birth gate | 12/15 fillable ngay, 3/15 cần vocab registration | ✅ PASS (conditional — 3 vocab items trivial) |
| H3 CRUD hot path no vector block | Design verify | HP-1..15 + IU-HP-1..5 hold. No vector/OpenAI in hot path. | ✅ PASS |
| H4 §Section atom boundary hợp lý | No blocker | IU-0: OK. P38-XC: §5 (5200) + §7 (4800) over threshold → split recommended | ⚠️ PASS WITH NOTE — 2 sections cần split |
Observations / Risks
| # | Finding | Impact | Action |
|---|---|---|---|
| O-1 | P38-XC §5 actual ~5200 vs estimate ~4500 (+700) | 08a underestimate | Patch 08a §5 estimate nếu cần, hoặc note chấp nhận |
| O-2 | P38-XC §7 actual ~4800 vs estimate ~4000 (+800) | 08a underestimate | Patch 08a §7 estimate |
| O-3 | 3 vocab values chưa register (unit_kind, section_type, publication_type) | MUP conditional | Trivial — register qua dot_config hoặc Đ24 vocab. Không DDL. |
| O-4 | P38-XC §5 + §7 split → 15 → 18 slices | Quản lý nhiều hơn | Acceptable cho 30K doc. Không blocker. |
| O-5 | IU-0 boundary ổn, không cần split | Positive | Confirm §Section atom default works cho docs ~8K. |
READ-ONLY Simulation Report | S191 | Executor: Opus | READ-ONLY compliance: chỉ tạo report, không sửa file khác | H1-H4: PASS (H4 with note)