Files
hakorune/docs/development/current/main/phases/phase-125
2025-12-18 06:28:39 +09:00
..
2025-12-18 06:28:39 +09:00

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