--- Status: Active Scope: CorePlan composition(Feature合成→Normalizerへ、仕様不変で段階導入) Related: - docs/development/current/main/design/coreplan-migration-roadmap-ssot.md - docs/development/current/main/design/coreplan-skeleton-feature-model.md - docs/development/current/main/design/post-phi-final-form-ssot.md - docs/development/current/main/design/exitkind-cleanup-effect-contract-ssot.md - docs/development/current/main/phases/phase-29ae/README.md --- # Phase 29ao: CorePlan composition from Skeleton/Feature (Step-C/D) Goal: DomainPlan の “complete pattern” に寄り過ぎない形で、**Skeleton + Feature** から `CorePlan` を合成していく(仕様不変で段階導入)。 Gate(SSOT): - `./tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh` ## P0: Composer scaffold(未接続・仕様不変)✅ - 指示書: `docs/development/current/main/phases/phase-29ao/P0-COREPLAN-COMPOSER-SCAFFOLD-INSTRUCTIONS.md` - ねらい: `CanonicalLoopFacts`(projection済み)→ `CorePlan` 合成の入口を 1 箇所に作り、以後の実装を “合成だけ” に寄せる ## P1: Composer API決定 + bridge(未接続・仕様不変)✅ - 指示書: `docs/development/current/main/phases/phase-29ao/P1-COREPLAN-COMPOSER-API-BRIDGE-INSTRUCTIONS.md` - ねらい: - `CorePlan` が `BasicBlockId/ValueId/Frag` を要求するため、Facts→合成の段階で **どこが allocation を持つか**を SSOT として固定する - まずは “bridge” として、composer が `CanonicalLoopFacts` から `DomainPlan`(既存語彙)を構築して `PlanNormalizer` を呼べる形まで整える(未接続のまま) ## P2: Composer→Normalizer bridge(未接続・仕様不変)✅ - 指示書: `docs/development/current/main/phases/phase-29ao/P2-COREPLAN-COMPOSER-VIA-NORMALIZER-INSTRUCTIONS.md` - ねらい: `CanonicalLoopFacts → DomainPlan → PlanNormalizer → CorePlan` の橋渡しを未接続で固定 ## P3: CoreLoop skeleton を CorePlan で直接生成(未接続・仕様不変)✅ - 指示書: `docs/development/current/main/phases/phase-29ao/P3-CORELOOP-SKELETON-COMPOSE-INSTRUCTIONS.md` - ねらい: `CanonicalLoopFacts` から `CorePlan::Loop`(skeleton)を direct 生成(Pattern1 subset のみ) ## Next(planned) - P4: ExitMap presence → `Frag.exits`(未接続・仕様不変) - 指示書: `docs/development/current/main/phases/phase-29ao/P4-EXITMAP-PRESENCE-WIRE-INSTRUCTIONS.md` - P5: Cleanup presence を ExitKind 単位で wire(effect/cleanup SSOT に従う、観測差分なし) - P6: ValueJoin presence を post-phi SSOT に沿って wire(局所 verify から)