docs(phase29an): add p15 closeout; start phase29ao

This commit is contained in:
2025-12-30 03:49:54 +09:00
parent 395f3b01d3
commit c9b382e3ff
7 changed files with 169 additions and 3 deletions

View File

@ -2,7 +2,7 @@
## Current Focus: Phase 29anSkeleton/Feature Facts
Next: Phase 29an P14ValueJoin facts scaffold
Next: Phase 29an P15Closeout → Phase 29ao
運用ルール: integration filter で phase143_* は回さないJoinIR 回帰は phase29ae pack のみ)
運用ルール: phase286_pattern9_* は legacy pack (SKIP) を使う
移行道筋 SSOT: `docs/development/current/main/design/coreplan-migration-roadmap-ssot.md`
@ -37,6 +37,11 @@ Next: Phase 29an P14ValueJoin facts scaffold
- 変更: `src/mir/builder/control_flow/plan/facts/feature_facts.rs` / `src/mir/builder/control_flow/plan/normalize/canonicalize.rs`
- 検証: `cargo build --release` / `./tools/smokes/v2/run.sh --profile quick` / `./tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh`
**2025-12-29: Phase 29an P14 完了**
- 目的: ValueJoinFacts の語彙足場 + canonical projection を追加(未接続・仕様不変)
- 変更: `src/mir/builder/control_flow/plan/facts/feature_facts.rs` / `src/mir/builder/control_flow/plan/normalize/canonicalize.rs` / `src/mir/builder/control_flow/plan/verifier.rs`
- 検証: `cargo build --release` / `./tools/smokes/v2/run.sh --profile quick` / `./tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh`
**2025-12-29: Phase 29an P7 完了**
- 目的: CanonicalLoopFacts に skeleton/exit_usage の projection を追加(挙動不変)
- 変更: `src/mir/builder/control_flow/plan/normalize/canonicalize.rs` / `src/mir/builder/control_flow/plan/planner/build.rs`

View File

@ -10,9 +10,13 @@ Related:
- **Phase 29anactive: Skeleton/Feature FactsSSOT**
- 入口: `docs/development/current/main/phases/phase-29an/README.md`
- 状況: P0Ready
- 状況: P0P14 ✅ 完了 / Next: P15 closeout
- Gate: `./tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh`
- **Phase 29aocandidate: CorePlan composition from Skeleton/Feature**
- 入口: `docs/development/current/main/phases/phase-29ao/README.md`
- 状況: P0Ready: composer scaffold
- **Phase 29af✅ COMPLETE: Boundary hygiene / regression entrypoint / carrier layout SSOT**
- 入口: `docs/development/current/main/phases/phase-29af/README.md`

View File

@ -0,0 +1,57 @@
---
Status: Active
Scope: docs-onlyPhase 29an の closeout
Related:
- docs/development/current/main/phases/phase-29an/README.md
- docs/development/current/main/design/coreplan-migration-roadmap-ssot.md
- docs/development/current/main/10-Now.md
- docs/development/current/main/30-Backlog.md
---
# Phase 29an P15: CloseoutP0P14まとめ・次フェーズ入口固定
Date: 2025-12-29
Status: Ready for execution
Scope: docs-onlyコード変更なし
## Objective
- Phase 29anSkeleton/Feature Factsの成果と SSOT を 1枚にまとめて “完了” と言える状態にする
- 次フェーズCorePlan compositionへの入口を固定し、Now/Backlog/CURRENT_TASK を迷子にしない
## Deliverablesdocs-only
### Step 1: phase-29an README を closeout 形式へ
Update:
- `docs/development/current/main/phases/phase-29an/README.md`
Add:
- P0P14 の完了一覧commit hash
- “何が SSOT として揃ったか” の短いサマリー
- SkeletonFacts / FeatureFactsExitUsage/ExitMap/Cleanup/ValueJoin
- Canonical projectionsskeleton_kind/exit_usage/exit_kinds_present/cleanup_kinds_present/value_join_needed
- debug-only invariantsexit_usage↔plan / exit_usage↔exitmap / cleanup↔exitkind
- Next phase linkPhase 29ao
### Step 2: Now/Backlog/CURRENT_TASK の更新
Update:
- `docs/development/current/main/10-Now.md`
- Current Focus を Phase 29ao に更新
- Phase 29an P14/P15 の完了記録を追記
- `docs/development/current/main/30-Backlog.md`
- Phase 29an を ✅ COMPLETE に更新(現状は “P0 Ready” 表記が残っているので修正)
- Phase 29ao を active/candidate として追加
- `CURRENT_TASK.md`
- Next implementation を Phase 29ao P0 へ差し替え
### Step 3: Commitdocs-only
- `git add -A`
- `git commit -m "docs(phase29an): closeout p0-p14; handoff to phase29ao"`
## Verificationoptional, docs-only
- `./tools/smokes/v2/run.sh --profile quick`

View File

@ -123,7 +123,11 @@ Status: ✅ COMPLETE実装コミット: `34ec46d13`
- 指示書: `docs/development/current/main/phases/phase-29an/P14-VALUEJOIN-VOCAB-SCAFFOLD-INSTRUCTIONS.md`
- ねらい: join値post-phiを Feature として合成するための語彙と projection の足場を作る(未接続、仕様不変)
Status: ✅ COMPLETE実装コミット: `395f3b01d`
## Nextplanned
- P15: Phase 29an closeoutP0P14 の成果/SSOT/次フェーズ入口を確定)
- 指示書: `docs/development/current/main/phases/phase-29an/P15-CLOSEOUT-INSTRUCTIONS.md`
- Next phase: Phase 29aoCorePlan composition: Feature合成→Normalizerへ
- 入口: `docs/development/current/main/phases/phase-29ao/README.md`

View File

@ -0,0 +1,66 @@
---
Status: Active
Scope: code仕様不変、未接続の足場
Related:
- docs/development/current/main/phases/phase-29ao/README.md
- docs/development/current/main/phases/phase-29an/README.md
- docs/development/current/main/design/coreplan-migration-roadmap-ssot.md
- docs/development/current/main/phases/phase-29ae/README.md
---
# Phase 29ao P0: CorePlan composer scaffoldCanonicalLoopFacts→CorePlan、未接続
Date: 2025-12-29
Status: Ready for execution
Scope: “CorePlan 合成” の入口を作るだけ(未接続=仕様不変)
## Objective
- `CanonicalLoopFacts`projection済みから `CorePlan` を合成する入口関数を 1 箇所に作る
- 以後の拡張は “合成ロジック” をここに閉じ込め、emit/merge は再解析しない方針を守る
## Non-goals
- 既存ルーティング/観測/エラー文字列の変更
- `Ok(None)` gate を減らすP0 は常に Ok(None) でも良い)
- Frag/ExitMap の wire を入れるP1+
- 新 env var / 恒常ログ追加
## Implementation
### Step 1: composer モジュール追加leaf
Add:
- `src/mir/builder/control_flow/plan/composer/mod.rs`
API:
- `pub(in crate::mir::builder) fn try_compose_core_plan_from_canonical_facts(facts: &CanonicalLoopFacts) -> Result<Option<CorePlan>, Freeze>`
P0の実装:
- 必ず `Ok(None)` を返す(未接続の足場)
- `facts.skeleton_kind == Loop` であることを `debug_assert!`P6と整合
### Step 2: plan/mod.rs に module 登録(未使用)
Update:
- `src/mir/builder/control_flow/plan/mod.rs`
Add:
- `pub(in crate::mir::builder) mod composer;`
### Step 3: unit test存在確認
Add minimal test:
- ダミーの `CanonicalLoopFacts` を作って `Ok(None)` が返る(パニックしない)
## Verificationrequired
- `cargo build --release`
- `./tools/smokes/v2/run.sh --profile quick`
- `./tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh`
## Commit
- `git add -A && git commit -m \"phase29ao(p0): add coreplan composer scaffold\"`

View File

@ -0,0 +1,30 @@
---
Status: Active
Scope: CorePlan compositionFeature合成→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` を合成していく(仕様不変で段階導入)。
GateSSOT:
- `./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 箇所に作り、以後の実装を “合成だけ” に寄せる
## Nextplanned
- P1: CoreLoop skeletonpreheader/header/body/exit`CorePlan` 語彙で生成effectsは空
- P2: ExitMap presence を `Frag/ExitMap` と結ぶbreak/continue/return の wire を “語彙だけ” 先に固定)
- P3: Cleanup presence を ExitKind 単位で wire実装は最小、観測差分なし
- P4: ValueJoin presence を post-phi SSOT に沿って wire局所 verify から)