docs: Phase 103 plan (if-only parity baseline)
This commit is contained in:
@ -8,13 +8,19 @@ Related:
|
||||
|
||||
## 直近(JoinIR/selfhost)
|
||||
|
||||
- **Phase 103: if-only regression baseline(VM + LLVM EXE)**
|
||||
- ねらい: loop が無い `if`(merge/return を含む)を VM/LLVM EXE parity で固定し、ループ系の回帰を早期検知する。
|
||||
- 入口: `docs/development/current/main/phases/phase-103/README.md`
|
||||
|
||||
- **real-app loop regression の横展開(VM + LLVM EXE)**
|
||||
- ねらい: 実コード由来ループを 1 本ずつ最小抽出して fixture/smoke で固定する(段階投入)。
|
||||
- 現状: Phase 102(read_quoted)まで固定済み。
|
||||
- 次候補: `parse_object` / `parse_array` の key/value ループ、read_digits 系。
|
||||
- 入口: `docs/development/current/main/phases/phase-102/README.md`
|
||||
|
||||
- **P5b “完全E2E”**(escape skip の実ループを end-to-end で固定)
|
||||
- 現状: Phase 94 で VM E2E まで固定済み。次は selfhost 実コード(`apps/selfhost-vm/json_loader.hako`)へ横展開して回帰を減らす。
|
||||
- 入口: `docs/development/current/main/phases/phase-94/README.md`
|
||||
- **Pinned Read‑Only Captures(Phase 100)**
|
||||
- ねらい: loop 外 local(動的式でも可)を loop 内 receiver として解決できるようにする(`receiver not found` を潰す)。
|
||||
- 段階投入: P1=read‑only(Pinned)→ P2=mutable は LoopState(carrier/env)へ昇格。
|
||||
- 入口: `docs/development/current/main/phases/phase-100/README.md`
|
||||
- **制御の再帰合成(docs-only → dev-only段階投入)**
|
||||
- ねらい: `loop/if` ネストの “構造” を SSOT(ControlTree/StepTree)で表せるようにする
|
||||
- 注意: canonicalizer は観測/構造SSOTまで(ValueId/PHI配線は Normalized 側へ)
|
||||
@ -22,6 +28,10 @@ Related:
|
||||
|
||||
## 中期(ループ在庫の残り)
|
||||
|
||||
- **loop(true) + break-only(digit scan など)**
|
||||
- ねらい: bounded ではない実ループを段階的に飲み込む(fixture + shape guard + Fail-Fast)。
|
||||
- 方針: “新パターン増殖”よりも Pattern5 系(infinite loop family)として扱う設計を先に固める。
|
||||
|
||||
- **P5(guard-bounded)**: 大型ループを “小粒度” に割ってから取り込む(分割 or 新契約)
|
||||
- **P6(nested loops)**: capability guard で Fail-Fast 維持しつつ、解禁時の契約を先に固定
|
||||
|
||||
|
||||
Reference in New Issue
Block a user