docs(phase29ao): mark p19 done; add p20 instruction

This commit is contained in:
2025-12-30 09:12:54 +09:00
parent 98d8eef8cb
commit 538061abe9
5 changed files with 93 additions and 10 deletions

View File

@ -2,12 +2,17 @@
## Current Focus: Phase 29aoCorePlan composition
Next: Phase 29ao P19regression pack: Pattern1 strict shadow
指示書: `docs/development/current/main/phases/phase-29ao/P19-REGRESSION-PACK-ADD-PATTERN1-STRICT-SHADOW-INSTRUCTIONS.md`
Next: Phase 29ao P20CoreLoop ExitMap composition docs-first
指示書: `docs/development/current/main/phases/phase-29ao/P20-CORELOOP-EXITMAP-COMPOSITION-SSOT-INSTRUCTIONS.md`
運用ルール: integration filter で phase143_* は回さないJoinIR 回帰は phase29ae pack のみ)
運用ルール: phase286_pattern9_* は legacy pack (SKIP) を使う
移行道筋 SSOT: `docs/development/current/main/design/coreplan-migration-roadmap-ssot.md`
**2025-12-30: Phase 29ao P19 完了**
- 目的: regression gate に Pattern1 strict/dev shadow adopt を含め、回帰で必ず踏むSSOT化
- 変更: `tools/smokes/v2/profiles/integration/joinir/phase29ao_pattern1_strict_shadow_vm.sh` / `tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh` / `docs/development/current/main/phases/phase-29ae/README.md`
- 検証: `./tools/smokes/v2/run.sh --profile quick` / `./tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh`
**2025-12-30: Phase 29ao P0 完了**
- 目的: `CanonicalLoopFacts → CorePlan` 合成の入口(未接続)を 1 箇所に作る
- 変更: `src/mir/builder/control_flow/plan/composer/mod.rs` / `src/mir/builder/control_flow/plan/mod.rs` / `docs/development/current/main/phases/phase-29ao/README.md`

View File

@ -15,8 +15,8 @@ Related:
- **Phase 29aoactive: CorePlan composition from Skeleton/Feature**
- 入口: `docs/development/current/main/phases/phase-29ao/README.md`
- 状況: P0P18 ✅ 完了 / Next: P19regression pack: Pattern1 strict shadow
- Next 指示書: `docs/development/current/main/phases/phase-29ao/P19-REGRESSION-PACK-ADD-PATTERN1-STRICT-SHADOW-INSTRUCTIONS.md`
- 状況: P0P19 ✅ 完了 / Next: P20CoreLoop ExitMap composition docs-first
- Next 指示書: `docs/development/current/main/phases/phase-29ao/P20-CORELOOP-EXITMAP-COMPOSITION-SSOT-INSTRUCTIONS.md`
- **Phase 29af✅ COMPLETE: Boundary hygiene / regression entrypoint / carrier layout SSOT**
- 入口: `docs/development/current/main/phases/phase-29af/README.md`

View File

@ -0,0 +1,70 @@
---
Status: Ready
Scope: docs-firstExitMap 合成の SSOT 固定。仕様不変)
Related:
- docs/development/current/main/design/coreplan-skeleton-feature-model.md
- docs/development/current/main/design/exitkind-cleanup-effect-contract-ssot.md
- docs/development/current/main/design/post-phi-final-form-ssot.md
- docs/development/current/main/design/edgecfg-fragments.md
- docs/development/current/main/design/coreplan-migration-roadmap-ssot.md
- docs/development/current/main/phases/phase-29ao/README.md
---
# Phase 29ao P20: CoreLoop ExitMap compositiondocs-first SSOT
Date: 2025-12-30
Status: Ready for execution
Scope: docs-only。CoreLoopLoop skeletonに対する ExitMap/Cleanup/ValueJoin の「合成規約」を SSOT として 1 枚に固定する。
## 目的
- “Pattern2/4/5 を別patternとして増やす” ではなく、`LoopSkeleton + ExitMap + Cleanup + ValueJoin` の合成で表現できることを設計として固定する。
- Normalizer/Composer が「どこまで合成し、どこから Freeze すべきか」を揺れない形で明文化する。
- 既存の `exitkind-cleanup-effect-contract-ssot.md` / `post-phi-final-form-ssot.md` と衝突しない、より具体の “CoreLoop 版の規約” を定義する。
## 非目的
- Rust 実装変更P20は docs-only
- 新しい Env 変数やログの追加
- unwind/coroutine 等の新機能追加(設計として “unsupported/unstructured” に分類するだけは可)
## 追加する SSOT新規
- 新規ファイル: `docs/development/current/main/design/coreloop-exitmap-composition-ssot.md`
含める内容(最低限):
1. **語彙Vocabulary**
- `ExitKind`Return/Break/Continue + 将来Unwind
- `Frag.exits`presence と “実際の出口エッジ” の違い)
- `EdgeArgs`layout と values の意味)
- `Frag.block_params` と “join 受け口” の扱いpost-phi の最終表現)
2. **合成規約Composition Rules**
- Loop skeleton からどの出口を “exit edges” として表すかReturn/Break/Continue
- Cleanup の扱い(どの ExitKind に対して、どの位置で走るか)
- ValueJoinjoin 値が必要なときの表現)と block_params の使用条件
- “presence だけある” 状態facts から投影された kinds_presentと、実際の join を作る責務の境界
3. **Fail-Fast 規約Freeze/Verify**
- `Ok(None)` に落としてよいケース / `Freeze(contract|unsupported|unstructured)` にすべきケース
- strict/dev の検証責務(どこで verify するか、どのタグで観測するか)
4. **既存SSOTとのリンク**
- `exitkind-cleanup-effect-contract-ssot.md`(“越えてはいけない境界”)
- `post-phi-final-form-ssot.md`join 入力の最終表現)
- `edgecfg-fragments.md`Frag の SSOT
## 参照導線docs
- `docs/development/current/main/design/planfrag-ssot-registry.md` の References に上記 SSOT を追加する(入口導線の強化)。
## 検証
- docs-only のため smoke は不要(ただし link/typo の確認は行う)
## コミット
- `git add -A`
- `git commit -m "docs(phase29ao): add coreloop exitmap composition ssot (p20)"`

View File

@ -113,7 +113,16 @@ GateSSOT:
- 指示書: `docs/development/current/main/phases/phase-29ao/P18-SINGLE_PLANNER-OUTCOME-PLUMBING-INSTRUCTIONS.md`
- ねらい: planner outcome を single_planner から受け取り、router の二重実行を撤去
## P19: 回帰ゲートに Pattern1 strict/dev shadow adopt を含める ✅
- 指示書: `docs/development/current/main/phases/phase-29ao/P19-REGRESSION-PACK-ADD-PATTERN1-STRICT-SHADOW-INSTRUCTIONS.md`
- 変更:
- `tools/smokes/v2/profiles/integration/joinir/phase29ao_pattern1_strict_shadow_vm.sh` を追加
- `tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh` に組み込み
- `docs/development/current/main/phases/phase-29ae/README.md` の回帰セットに追記
- ねらい: P17/P18 の strict/dev shadow adopt が回帰ゲートで必ず踏まれる状態を SSOT 化
## Nextplanned
- P19: 回帰ゲートに Pattern1 strict/dev shadow adopt を含める
- 指示書: `docs/development/current/main/phases/phase-29ao/P19-REGRESSION-PACK-ADD-PATTERN1-STRICT-SHADOW-INSTRUCTIONS.md`
- P20: CoreLoop ExitMap compositiondocs-first
- 指示書: `docs/development/current/main/phases/phase-29ao/P20-CORELOOP-EXITMAP-COMPOSITION-SSOT-INSTRUCTIONS.md`