docs: add Phase 122 entry (planned)

This commit is contained in:
nyash-codex
2025-12-18 04:48:53 +09:00
parent 95c9394396
commit c92154966c
4 changed files with 66 additions and 11 deletions

View File

@ -74,17 +74,25 @@ JoinIR の箱構造と責務、ループ/if の lowering パターンを把握
- `docs/development/current/main/phases/phase-117/README.md`
20. Phase 118: loop + if-else merge parityloop + if-else 変数更新 merge / carrier PHI contract
- `docs/development/current/main/phases/phase-118/README.md`
21. Phase 104: loop(true) break-only digitsVM + LLVM EXE
21. Phase 119: StepTree cond SSOTAST handle
- `docs/development/current/main/design/control-tree.md`
22. Phase 120: StepTree facts/contract SSOTfacts only → contract
- `docs/development/current/main/design/control-tree.md`
23. Phase 121: StepTree→Normalized Shadow Loweringif-only, dev-only
- `docs/development/current/main/phases/phase-121/README.md`
24. Phase 122: StepTree→Normalized 実生成if-only, dev-only / planned
- `docs/development/current/main/phases/phase-122/README.md`
25. Phase 104: loop(true) break-only digitsVM + LLVM EXE
- `docs/development/current/main/phases/phase-104/README.md`
22. Phase 107: json_cur find_balanced_* depth scanVM + LLVM EXE
26. Phase 107: json_cur find_balanced_* depth scanVM + LLVM EXE
- `docs/development/current/main/phases/phase-107/README.md`
23. Phase 108: Pattern2 policy router SSOT入口の薄さを固定
27. Phase 108: Pattern2 policy router SSOT入口の薄さを固定
- `docs/development/current/main/phases/phase-108/README.md`
24. Phase 109: error_tags hints SSOTFail-Fast + hint の語彙固定)
28. Phase 109: error_tags hints SSOTFail-Fast + hint の語彙固定)
- `docs/development/current/main/phases/phase-109/README.md`
25. MIR BuilderContext 分割の入口)
29. MIR BuilderContext 分割の入口)
- `src/mir/builder/README.md`
26. Scope/BindingIdshadowing・束縛同一性の段階移行
30. Scope/BindingIdshadowing・束縛同一性の段階移行
- `docs/development/current/main/phase73-scope-manager-design.md`
- `docs/development/current/main/PHASE_74_SUMMARY.md`
- `docs/development/current/main/PHASE_75_SUMMARY.md`
@ -92,16 +100,16 @@ JoinIR の箱構造と責務、ループ/if の lowering パターンを把握
- `docs/development/current/main/phase78-bindingid-promoted-carriers.md`
- `docs/development/current/main/phase80-bindingid-p3p4-plan.md`P3/P4 への配線計画)
- `docs/development/current/main/phase81-pattern2-exitline-contract.md`promoted carriers の ExitLine 契約検証)
25. Boxification feedbackPhase 7885 の振り返りと Phase 86 推奨)
31. Boxification feedbackPhase 7885 の振り返りと Phase 86 推奨)
- `docs/development/current/main/phase78-85-boxification-feedback.md`
26. Phase 86: Carrier Init Builder + Error Tags ✅
32. Phase 86: Carrier Init Builder + Error Tags ✅
- **Status**: COMPLETE (2025-12-13)
- **Modules**:
- `src/mir/builder/control_flow/joinir/merge/carrier_init_builder.rs` (+8 tests)
- `src/mir/join_ir/lowering/error_tags.rs` (+5 tests)
- **Achievements**: SSOT 確立CarrierInit → ValueId 生成統一、エラータグ中央化、DebugOutputBox 完全移行)
- **Impact**: 987/987 tests PASS, +13 unit tests, Single Responsibility validated
27. Phase 87: LLVM Exe Line SSOT ✅
33. Phase 87: LLVM Exe Line SSOT ✅
- **Status**: COMPLETE (2025-12-13)
- **SSOT**: `tools/build_llvm.sh` - Single pipeline for .hako → executable
- **Deliverables**:

View File

@ -1,5 +1,12 @@
# Self Current Task — Now (main)
## Next: Phase 122予定 / 実装中)
**Phase 122: StepTree→Normalizedif-only 実生成 / dev-only**
- Phase 121 は “contract-only shadow parity” まで完了。次は JoinModuleNormalized方言の実生成へ進める
- 既定挙動は不変(`joinir_dev_enabled()` のときだけ生成・検証、`joinir_strict_enabled()` で mismatch を Fail-Fast
- 入口(計画): `docs/development/current/main/phases/phase-122/README.md`
## 2025-12-18Phase 121 完了 ✅
**Phase 121: StepTree→Normalized Shadow Lowering (if-only, dev-only)**

View File

@ -20,8 +20,8 @@ Related:
- **制御の再帰合成docs-only → dev-only段階投入**
- ねらい: `loop/if` ネストの “構造” を SSOTControlTree/StepTreeで表せるようにする
- 注意: canonicalizer は観測/構造SSOTまでValueId/PHI配線は Normalized 側へ)
- 現状: Phase 110112StepTree dev-only + strict guard、Phase 117if-only nested-if parity、Phase 118loop + if merge parityまで完了
- 次候補: StepTreeContract を “変換可能” な SSOT に寄せるcond は AST 参照を保持、sig は派生にする)→ docs-only → dev-only で段階投入
- 現状: Phase 119121StepTree cond SSOT / facts→contract / shadow parityまで完了
- 次候補Phase 122: if-only を StepTree→Normalized で実生成dev-onlyし、将来の dual-run の土台を作る
- 入口: `docs/development/current/main/design/control-tree.md`
## 中期(ループ在庫の残り)

View File

@ -0,0 +1,40 @@
# Phase 122: StepTree→Normalizedif-only 実生成 / dev-only
## 目的
- Phase 121 で導入した StepTree→Normalized の “shadow変換contract-only” を一段進め、if-only を対象に Normalized JoinModuleenv+継続)を実生成する。
- 既定挙動は不変:`joinir_dev_enabled()` のときだけ生成・検証し、本番経路の出力/動作は変えない。
- mismatch は strict のときだけ Fail-Fast`freeze_with_hint`、hint必須
## Scope
- 対象: if-onlyloopなし
- 非対象strictではcap不足でFail-Fast:
- Loop / Break / ContinuePhase 112/121 の guard 方針に従う)
## 実装方針SSOT
- 入力SSOT: `StepTree` + `StepTreeFacts` + `StepTreeContract`
- facts/contract は再解析しない(変換箱が AST を再走査して “推測” しない)
- 生成SSOT: “env + 継続” に統一し、PHI を直接扱わない
- merge: `join_k(env)` への tail-call
- env layout: `writes` で宣言された変数のみ
- 失敗時:
- dev-only: 理由ログ(タグ + 1行
- strict: `freeze_with_hint`1行hint必須、空hintは禁止
## 受け入れ基準
- `cargo test --lib` が PASS
- Phase 121 の既存 smokes が退行しない
- Phase 122 の dev-only 検証で mismatch が出ないstrict で Fail-Fast するなら、その時点で修正が必要)
## 関連
- Phase 119121: StepTree SSOT + shadow parity
- `docs/development/current/main/design/control-tree.md`
- `docs/development/current/main/phases/phase-121/README.md`
- StepTree 実装:
- `src/mir/control_tree/step_tree.rs`
- `src/mir/control_tree/step_tree_facts.rs`
- `src/mir/control_tree/step_tree_contract_box.rs`