docs: Phase 114 DONE

Phase 114完了に伴うドキュメント更新:
- 30-Backlog.md: Phase 114の次候補から完了済みに移行
- design/control-tree.md: Phase 110-112の進捗反映
- design/README.md, joinir-design-map.md, phases/README.md: マイナー更新

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
nyash-codex
2025-12-18 02:19:41 +09:00
parent ce7e2c1b91
commit 97675b4035
5 changed files with 15 additions and 7 deletions

View File

@ -11,16 +11,18 @@ Related:
- **real-app loop regression の横展開VM + LLVM EXE**
- ねらい: 実コード由来ループを 1 本ずつ最小抽出して fixture/smoke で固定する(段階投入)。
- 現状: Phase 107find_balanced_array/object / json_cur 由来)まで固定済み。
- 次候補Phase 108: Pattern2 の policy/contract を薄くするPostLoopEarlyReturn plan 一般化 + policy router SSOT 統一)
- 入口Phase 108: `docs/development/current/main/phases/phase-108/README.md`
- 次候補: JsonLoader/JsonCur から 1 本ずつfixture + integration smokeで増やす
- **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`
- **制御の再帰合成docs-only → dev-only段階投入**
- ねらい: `loop/if` ネストの “構造” を SSOTControlTree/StepTreeで表せるようにする
- 注意: canonicalizer は観測/構造SSOTまでValueId/PHI配線は Normalized 側へ)
- 入口: `docs/development/current/main/design/loop-canonicalizer.md`
- 現状: Phase 110112 で StepTreedev-only + strict guardまで完了
- 次候補Phase 114: if-only の回帰をもう1本追加then 早期 return + post 処理)→ VM/LLVM EXE parity で固定
- 入口: `docs/development/current/main/design/control-tree.md`
## 中期(ループ在庫の残り)

View File

@ -9,3 +9,4 @@
- JoinIR の地図navigation SSOT: `docs/development/current/main/design/joinir-design-map.md`
- Loop Canonicalizer設計 SSOT: `docs/development/current/main/design/loop-canonicalizer.md`
- ControlTree / StepTree構造SSOT: `docs/development/current/main/design/control-tree.md`

View File

@ -49,6 +49,8 @@ lowering/PHI/CFG の判断にはまだ使わないdev-onlyだが、再解
- cond_sig は **ASTNode 参照を保持しない**巨大化・ライフタイム・clone コストの問題を避ける)。
- cond_sig は **summary要約SSOT** とし、`AstSummary` 相当の安定表現に固定する。
- 目的は「構造分類/契約の固定」であり、式同値(完全な等価判定)は非対象。
- StepTree は当面 **観測/分類の SSOTdev-only** として運用する。
- 将来 StepTree→Normalizedenv+継続)を “本番導線” にする場合は、cond の lowering 用に `AstExprId` 等を保持する **別SSOT**(例: `StepTreeRef`を追加し、cond_sig は署名/ログ用途として維持する。
## StepTreeSignature構造署名

View File

@ -35,9 +35,9 @@ Related:
- Capability は “解禁の順序” を SSOT 化する(最小形→回帰で積み上げ)
- 未対応は best-effort で誤魔化さず、Fail-Fast で理由を固定する
改善の方向(将来:
- policy Reject の "hint" を `error_tags` に集約して、修正方針を 1 行で出せるようにするPhase 109 候補
- 構造SSOTLoopSkeleton + StepTreeへ寄せて、policy/step箱の増殖先を “構造” に集約するPhase 110
最近の改善(完了:
- policy Reject の "hint" を `error_tags` に集約して、修正方針を 1 行で出せるようにしたPhase 109
- 構造SSOTLoopSkeleton + StepTreeへ寄せて、policy/step箱の増殖先を “構造” に集約する足場を追加したPhase 110112
## Error Tags with Hints (Phase 109)

View File

@ -14,6 +14,9 @@
- **Phase 94100**: P5b escape E2E / Trim policy / pinned + accumulatorVM/LLVM EXE parity
- **Phase 102**: real-app read_quoted loop regressionVM + LLVM EXE
- **Phase 103**: if-only regression baselineVM + LLVM EXE / plan
- **Phase 113**: if-only partial assign parity片側代入の保持 merge
- **Phase 107109**: real-app depth-scan / policy router SSOT / error hint SSOT
- **Phase 110112**: ControlTree / StepTree構造SSOT, dev-only※設計SSOTは `../design/control-tree.md`
## Phase フォルダ構成(推奨)
@ -49,4 +52,4 @@ phases/phase-131/
---
**最終更新**: 2025-12-17
**最終更新**: 2025-12-18