--- Status: Active Scope: JoinIR / PlanFrag “仕上げ”の設計SSOT(仕様不変) Related: - docs/development/current/main/design/coreplan-skeleton-feature-model.md - docs/development/current/main/design/planfrag-ssot-registry.md - docs/development/current/main/design/planfrag-freeze-taxonomy.md - docs/development/current/main/design/joinir-plan-frag-ssot.md --- # Phase 29al: CorePlan composition hardening (docs-first) Goal: “pattern が重なる/増殖する” を設計で根治し、JoinIR/PlanFrag を **美しく閉じる**ための SSOT を揃える。 ## P0: Skeleton/Feature model SSOT(docs-only) - 指示書: `docs/development/current/main/phases/phase-29al/P0-SKELETON-FEATURE-SSOT-INSTRUCTIONS.md` - ねらい: “骨格→特徴→合成” を SSOT として固定し、通らない/危険なパターンも Freeze taxonomy に落とす - 成果: `docs/development/current/main/design/coreplan-skeleton-feature-model.md` ## P1: post-phi(join 入力の最終表現)SSOT - ねらい: join 値の “最終表現” と “局所 verify” の不変条件を SSOT 化する(emit/merge の再解析禁止を強化) - 指示書: `docs/development/current/main/phases/phase-29al/P1-POST-PHI-FINAL-FORM-SSOT-INSTRUCTIONS.md` - SSOT: `docs/development/current/main/design/post-phi-final-form-ssot.md` ## P2: effect classification SSOT(docs-first) - ねらい: effect 分類と “許される変形” を SSOT 化し、最適化/RC insertion/観測が相互に壊さない境界を固定する - 指示書: `docs/development/current/main/phases/phase-29al/P2-EFFECT-CLASSIFICATION-SSOT-INSTRUCTIONS.md` - SSOT: `docs/development/current/main/design/effect-classification-ssot.md` ## P3: ExitKind/Cleanup/Effect contract SSOT(docs-first) - ねらい: cleanup を ExitKind と effect の契約として固定し、Control/Io を跨いだ移動や DCE 消去の事故を防ぐ - 指示書: `docs/development/current/main/phases/phase-29al/P3-EXITKIND-CLEANUP-EFFECT-CONTRACT-INSTRUCTIONS.md` - SSOT: `docs/development/current/main/design/exitkind-cleanup-effect-contract-ssot.md` ## P5: CorePlan migration roadmap SSOT(docs-only) - ねらい: CorePlan へ移行完了と言える条件と、安全順のタスク列を 1 枚 SSOT として固定する - SSOT: `docs/development/current/main/design/coreplan-migration-roadmap-ssot.md` ## Next (planned) ### P4: ExitKind に unwind を追加する設計(design only) - ねらい: ExitKind/cleanup/effect の契約を unwind を含めて破綻しない形に拡張する(実装は別フェーズ)