docs: add Phase 122 entry (planned)
This commit is contained in:
40
docs/development/current/main/phases/phase-122/README.md
Normal file
40
docs/development/current/main/phases/phase-122/README.md
Normal file
@ -0,0 +1,40 @@
|
||||
# Phase 122: StepTree→Normalized(if-only 実生成 / dev-only)
|
||||
|
||||
## 目的
|
||||
|
||||
- Phase 121 で導入した StepTree→Normalized の “shadow変換(contract-only)” を一段進め、if-only を対象に Normalized JoinModule(env+継続)を実生成する。
|
||||
- 既定挙動は不変:`joinir_dev_enabled()` のときだけ生成・検証し、本番経路の出力/動作は変えない。
|
||||
- mismatch は strict のときだけ Fail-Fast(`freeze_with_hint`、hint必須)。
|
||||
|
||||
## Scope
|
||||
|
||||
- 対象: if-only(loopなし)
|
||||
- 非対象(strictではcap不足でFail-Fast):
|
||||
- Loop / Break / Continue(Phase 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 119–121: 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`
|
||||
Reference in New Issue
Block a user