docs: add Phase 127 entry (planned)

This commit is contained in:
nyash-codex
2025-12-18 06:55:29 +09:00
parent 49c2bdf2e9
commit 9aedc19413
4 changed files with 53 additions and 11 deletions

View File

@ -86,19 +86,23 @@ JoinIR の箱構造と責務、ループ/if の lowering パターンを把握
- `docs/development/current/main/phases/phase-123/README.md`
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
27. Phase 125: Reads-only inputs → Normalized envdev-only
- `docs/development/current/main/phases/phase-125/README.md`
28. Phase 104: loop(true) break-only digitsVM + LLVM EXE
28. Phase 126: available_inputs SSOT wiringdev-only
- `docs/development/current/main/phases/phase-126/README.md`
29. Phase 127: unknown-read strict Fail-Fastdev-only / planned
- `docs/development/current/main/phases/phase-127/README.md`
30. Phase 104: loop(true) break-only digitsVM + LLVM EXE
- `docs/development/current/main/phases/phase-104/README.md`
29. Phase 107: json_cur find_balanced_* depth scanVM + LLVM EXE
31. Phase 107: json_cur find_balanced_* depth scanVM + LLVM EXE
- `docs/development/current/main/phases/phase-107/README.md`
30. Phase 108: Pattern2 policy router SSOT入口の薄さを固定
32. Phase 108: Pattern2 policy router SSOT入口の薄さを固定
- `docs/development/current/main/phases/phase-108/README.md`
31. Phase 109: error_tags hints SSOTFail-Fast + hint の語彙固定)
33. Phase 109: error_tags hints SSOTFail-Fast + hint の語彙固定)
- `docs/development/current/main/phases/phase-109/README.md`
32. MIR BuilderContext 分割の入口)
34. MIR BuilderContext 分割の入口)
- `src/mir/builder/README.md`
33. Scope/BindingIdshadowing・束縛同一性の段階移行
35. 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

@ -2,8 +2,11 @@
## Next: Phase 127予定
**Phase 127: TBD**
- Phase 126 完了。次のフェーズを決定
**Phase 127: unknown-read strict Fail-Fastdev-only**
- 目的: `reads` にあるが `available_inputs` に存在しない変数を “unknown-read” として検出し、strict で Fail-Fast
- 実装: `UnknownReadGuardBox`builder の lowering 前にチェック、tag + 1行hint で停止)
- fixture/smoke: `return missing_x` を strict で落とす(`[phase127/unknown_read/... ]` を固定)
- 入口(計画): `docs/development/current/main/phases/phase-127/README.md`
## 2025-12-18Phase 126 完了 ✅

View File

@ -20,8 +20,8 @@ Related:
- **制御の再帰合成docs-only → dev-only段階投入**
- ねらい: `loop/if` ネストの "構造" を SSOTControlTree/StepTreeで表せるようにする
- 注意: canonicalizer は観測/構造SSOTまでValueId/PHI配線は Normalized 側へ)
- 現状: 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
- 現状: Phase 119126cond SSOT / facts→contract / shadow parity / JoinModule生成 / semantics / reads+return-var / reads-only inputs / available_inputs wiring)まで完了
- 次候補Phase 127: unknown-read strict Fail-Fastreads にあるが available_inputs に無い変数の検出
- 入口: `docs/development/current/main/design/control-tree.md`
## 中期(ループ在庫の残り)

View File

@ -0,0 +1,35 @@
# Phase 127: unknown-read strict Fail-Fastplanned
## 目的
- Phase 126 で `available_inputs`function params + CapturedEnvを Normalized builder に配線できた。
- 次に、`reads` に出てくるのに `writes`/`inputs` のどちらにも解決できない変数を “unknown-read” として検出し、strict では Fail-Fast にする。
## Scope
- 対象: if-only Normalizeddev-only
- 既定挙動は不変: `joinir_dev_enabled()` のときだけチェック・検証する
## 契約SSOT
- unknown-read の定義:
- `unknown_reads = reads - (writes inputs)`
- `writes`: StepTreeContract.writes
- `inputs`: reads ∩ available_inputsPhase 125/126
- strict`joinir_strict_enabled()`:
- unknown_reads が 1 つでもあれば `freeze_with_hint` で停止hint必須・1行
- non-strict/dev:
- 理由ログtag + count + 先頭数件)までで継続
## 受け入れ基準
- `cargo test --lib` が PASS
- Phase 121126 の smokes が退行しない
- 新規 fixture例: `return missing_x`)が strict で確実に Fail-Fast する
## 関連
- Phase 125: EnvLayoutwrites + inputs
- `docs/development/current/main/phases/phase-125/README.md`
- Phase 126: available_inputs SSOT wiring
- `docs/development/current/main/phases/phase-126/README.md`