Status, Scope, Related
| Status | Scope | Related | |||||
|---|---|---|---|---|---|---|---|
| Active | CorePlan composition(Feature合成→Normalizerへ、仕様不変で段階導入) |
|
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 から)