Files
hakorune/docs/development/current/main/phases/phase-29ai/README.md

3.1 KiB
Raw Blame History

Phase 29ai: Plan/Frag single-planner (Facts SSOT)

Goal: pattern 名による分岐を外部APIから消し、Facts事実→ Plan → Frag の導線を 1 本に収束させる(仕様不変)。

P0: LoopFacts SSOT + Single Planner skeleton

  • 指示書: docs/development/current/main/phases/phase-29ai/P0-LOOPFACTS-SSOT-SINGLE-PLANNER-INSTRUCTIONS.md
  • 追加される骨格(未接続・仕様不変): src/mir/builder/control_flow/plan/{facts,normalize,planner,emit}/

P1: Planner candidate-set + Freeze SSOT

  • 指示書: docs/development/current/main/phases/phase-29ai/P1-PLANNER-CANDIDATES-FREEZE-SSOT-INSTRUCTIONS.md
  • ねらい: Ok(None) / Err(Freeze) の境界と “候補集合→一意化” をSSOT化未接続のまま、仕様不変

P2: SSOT Registry + Freeze Taxonomydocs-only

  • 指示書: docs/development/current/main/phases/phase-29ai/P2-SSOT-REGISTRY-FREEZE-TAXONOMY-INSTRUCTIONS.md
  • ねらい: “真実の所在” と Freeze 分類を1枚に固定して、後続実装の迷子を防ぐ仕様不変
  • SSOT Registry: docs/development/current/main/design/planfrag-ssot-registry.md
  • Freeze taxonomy: docs/development/current/main/design/planfrag-freeze-taxonomy.md

P3: Typed Freeze + CandidateSet implementationcode

  • 指示書: docs/development/current/main/phases/phase-29ai/P3-TYPED-FREEZE-CANDIDATESET-IMPLEMENTATION-INSTRUCTIONS.md
  • ねらい: Planner の契約を型/候補集合で固定Facts 未実装の間は未到達、仕様不変)

P4: First LoopFactsPattern6 scan-with-init

  • 指示書: docs/development/current/main/phases/phase-29ai/P4-FIRST-LOOPFACTS-PATTERN6-SCAN_WITH_INIT-INSTRUCTIONS.md
  • ねらい: Facts→Planner を 1 ケースだけ前進(未接続のまま、仕様不変)

P5: Single-planner bridgerouter → 1 entrypoint

  • 指示書: docs/development/current/main/phases/phase-29ai/P5-SINGLE-PLANNER-BRIDGE-ROUTER-INSTRUCTIONS.md
  • ねらい: JoinIR の pattern ルーティングを外部APIから剥がし、入口を 1 本に収束(仕様不変)

P6: Move Pattern6/7 extractors to Plan layer

  • 指示書: docs/development/current/main/phases/phase-29ai/P6-MOVE-PATTERN6-7-EXTRACTORS-TO-PLAN-LAYER-INSTRUCTIONS.md
  • ねらい: 抽出pattern固有知識のSSOTを plan 側へ寄せ、依存方向を一方向に固定(仕様不変)

P7: Planner returns DomainPlan二重Planの解消

  • 指示書: docs/development/current/main/phases/phase-29ai/P7-PLANNER-RETURNS-DOMAINPLAN-INSTRUCTIONS.md
  • ねらい: 29ai planner の候補集合/Freeze を DomainPlan 上で行い、Plan語彙を1本化仕様不変

P8: Wire planner into single_plannerPattern6 subset

  • 指示書: docs/development/current/main/phases/phase-29ai/P8-WIRE-PLANNER-INTO-SINGLE_PLANNER-PATTERN6-INSTRUCTIONS.md
  • ねらい: Facts→Planner を実行経路へ1歩だけ接続し、Pattern6最小ケースから吸収を開始仕様不変

Verification (SSOT)

  • cargo build --release
  • ./tools/smokes/v2/run.sh --profile quick
  • ./tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh