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