docs: add Phase 125 entry (planned)

This commit is contained in:
nyash-codex
2025-12-18 06:28:39 +09:00
parent d044af1fbc
commit 7eeeb588e4
5 changed files with 47 additions and 8 deletions

View File

@ -84,17 +84,21 @@ JoinIR の箱構造と責務、ループ/if の lowering パターンを把握
- `docs/development/current/main/phases/phase-122/README.md`
25. Phase 123: Normalized semanticsReturn literal + If minimal compare, dev-only
- `docs/development/current/main/phases/phase-123/README.md`
26. Phase 104: loop(true) break-only digitsVM + LLVM EXE
26. Phase 124: Reads facts + Return(Variable from env)dev-only
- `docs/development/current/main/phases/phase-124/README.md`
27. Phase 125: Reads-only inputs → Normalized envplanned
- `docs/development/current/main/phases/phase-125/README.md`
28. Phase 104: loop(true) break-only digitsVM + LLVM EXE
- `docs/development/current/main/phases/phase-104/README.md`
26. Phase 107: json_cur find_balanced_* depth scanVM + LLVM EXE
29. Phase 107: json_cur find_balanced_* depth scanVM + LLVM EXE
- `docs/development/current/main/phases/phase-107/README.md`
27. Phase 108: Pattern2 policy router SSOT入口の薄さを固定
30. Phase 108: Pattern2 policy router SSOT入口の薄さを固定
- `docs/development/current/main/phases/phase-108/README.md`
28. Phase 109: error_tags hints SSOTFail-Fast + hint の語彙固定)
31. Phase 109: error_tags hints SSOTFail-Fast + hint の語彙固定)
- `docs/development/current/main/phases/phase-109/README.md`
29. MIR BuilderContext 分割の入口)
32. MIR BuilderContext 分割の入口)
- `src/mir/builder/README.md`
30. Scope/BindingIdshadowing・束縛同一性の段階移行
33. 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`

View File

@ -8,6 +8,7 @@
- unknown-read capability 導入
- reads に基づく環境拡張env に無い変数を reads から補完)
- 既定挙動は不変(`joinir_dev_enabled()` のときだけ生成・検証)
- 入口(計画): `docs/development/current/main/phases/phase-125/README.md`
## 2025-12-18Phase 124 完了 ✅

View File

@ -20,8 +20,8 @@ Related:
- **制御の再帰合成docs-only → dev-only段階投入**
- ねらい: `loop/if` ネストの "構造" を SSOTControlTree/StepTreeで表せるようにする
- 注意: canonicalizer は観測/構造SSOTまでValueId/PHI配線は Normalized 側へ)
- 現状: Phase 119122StepTree cond SSOT / facts→contract / shadow parity / JoinModule生成まで完了
- 次候補Phase 123: if-only を Normalized semantics で実装Return literal, If+Compare lowering
- 現状: Phase 119124cond SSOT / facts→contract / shadow parity / JoinModule生成 / semantics / reads+return-var)まで完了
- 次候補Phase 125: reads-only inputs を Normalized env に載せるreturn var from inputs / unknown-read capability
- 入口: `docs/development/current/main/design/control-tree.md`
## 中期(ループ在庫の残り)

View File

@ -38,6 +38,7 @@ Related:
最近の改善(完了):
- policy Reject の "hint" を `error_tags` に集約して、修正方針を 1 行で出せるようにしたPhase 109
- 構造SSOTLoopSkeleton + StepTreeへ寄せて、policy/step箱の増殖先を “構造” に集約する足場を追加したPhase 110112
- StepTree 側を “変換可能なSSOT” へ段階的に拡張cond AST handle / facts→contract / shadow parity / if-only emit / reads facts / return varPhase 119124
## Error Tags with Hints (Phase 109)

View File

@ -0,0 +1,33 @@
# Phase 125: Reads-only inputs → Normalized envplanned
## 目的
- Phase 124 で `Return(Variable)` を “writes由来の env” だけで解決できるようになった。
- Phase 125 では reads-only外側スコープの読み取り専用入力も Normalized env に載せ、`return x` が “writesではないが読み取り可能” な場合に自然に解決できるようにする。
- 既定挙動は不変:`joinir_dev_enabled()` のときだけ生成・検証し、本番経路の出力/動作は変えない。
## Scope
- 対象: if-onlyloopなしの Normalizeddev-only
- 目的の追加機能:
- reads-only inputs を env に追加return/compare で参照可能)
- “unknown-read” を capabilityまたは structured error tagsとして扱い、strict では Fail-Fast
## SSOT 方針
- StepTreeFacts/Contract の `reads` は “何を読むか” の SSOT
- “どこから読むかhost ValueId の供給)” は builder 側で SSOT 化し、ScopeManager / CapturedEnv / function params を入力として受け取る
- AST から “勝手に capture する” のは禁止Phase 100 の pinned/captured と混同しない)
## 受け入れ基準
- `cargo test --lib` が PASS
- Phase 121124 の smokes が退行しない
- Phase 125 の新規 fixture/smoke で `return` が reads-only inputs から解決できる
## 関連
- Phase 121124: StepTree→Normalized dev-only の段階投入
- `docs/development/current/main/design/control-tree.md`
- `docs/development/current/main/phases/phase-121/README.md`
- `docs/development/current/main/phases/phase-124/README.md`