From 6d232cf6ed5f5d0d77dc00453b6132aa935d57f7 Mon Sep 17 00:00:00 2001 From: tomoaki Date: Tue, 30 Dec 2025 18:42:24 +0900 Subject: [PATCH] docs(phase29ao): add p43 coreloop composer scaffold instructions --- docs/development/current/main/10-Now.md | 2 +- docs/development/current/main/30-Backlog.md | 2 +- .../design/coreplan-migration-roadmap-ssot.md | 2 +- ...RELOOPCOMPOSER-V0-SCAFFOLD-INSTRUCTIONS.md | 72 +++++++++++++++++++ .../current/main/phases/phase-29ao/README.md | 3 +- 5 files changed, 77 insertions(+), 4 deletions(-) create mode 100644 docs/development/current/main/phases/phase-29ao/P43-CORELOOPCOMPOSER-V0-SCAFFOLD-INSTRUCTIONS.md diff --git a/docs/development/current/main/10-Now.md b/docs/development/current/main/10-Now.md index 11068df3..3cf5f7f3 100644 --- a/docs/development/current/main/10-Now.md +++ b/docs/development/current/main/10-Now.md @@ -3,7 +3,7 @@ ## Current Focus - Phase: `docs/development/current/main/phases/phase-29ao/README.md` -- Next: TBD (see `docs/development/current/main/phases/phase-29ao/README.md`) +- Next: `docs/development/current/main/phases/phase-29ao/P43-CORELOOPCOMPOSER-V0-SCAFFOLD-INSTRUCTIONS.md` ## Gate (SSOT) diff --git a/docs/development/current/main/30-Backlog.md b/docs/development/current/main/30-Backlog.md index 014cff7a..f857175c 100644 --- a/docs/development/current/main/30-Backlog.md +++ b/docs/development/current/main/30-Backlog.md @@ -5,7 +5,7 @@ Scope: 「次にやる候補」を短く列挙するメモ。入口は `docs/dev ## Active -- CorePlan migration: `docs/development/current/main/phases/phase-29ao/README.md`(Next: TBD) +- CorePlan migration: `docs/development/current/main/phases/phase-29ao/README.md`(Next: P43) ## Near-Term Candidates diff --git a/docs/development/current/main/design/coreplan-migration-roadmap-ssot.md b/docs/development/current/main/design/coreplan-migration-roadmap-ssot.md index 20c4c6cb..624b259a 100644 --- a/docs/development/current/main/design/coreplan-migration-roadmap-ssot.md +++ b/docs/development/current/main/design/coreplan-migration-roadmap-ssot.md @@ -34,7 +34,7 @@ Related: ## 1.1 Current (active) - Active phase: `docs/development/current/main/phases/phase-29ao/README.md` -- Next step: TBD +- Next step: `docs/development/current/main/phases/phase-29ao/P43-CORELOOPCOMPOSER-V0-SCAFFOLD-INSTRUCTIONS.md` ## 2. すでに固めた SSOT(再発防止の土台) diff --git a/docs/development/current/main/phases/phase-29ao/P43-CORELOOPCOMPOSER-V0-SCAFFOLD-INSTRUCTIONS.md b/docs/development/current/main/phases/phase-29ao/P43-CORELOOPCOMPOSER-V0-SCAFFOLD-INSTRUCTIONS.md new file mode 100644 index 00000000..fa2ce0e8 --- /dev/null +++ b/docs/development/current/main/phases/phase-29ao/P43-CORELOOPCOMPOSER-V0-SCAFFOLD-INSTRUCTIONS.md @@ -0,0 +1,72 @@ +--- +Status: Ready +Scope: CoreLoopComposer v0 の “実装足場” を追加し、既存の pattern 別 from_facts を置き換える入口を用意する(未接続・仕様不変) +Related: +- docs/development/current/main/phases/phase-29ao/P42-STAGE3-CORELOOPCOMPOSER-V0-DESIGN-INSTRUCTIONS.md +- docs/development/current/main/design/coreplan-migration-roadmap-ssot.md +- docs/development/current/main/design/coreloop-exitmap-composition-ssot.md +- docs/development/current/main/phases/phase-29ae/README.md +--- + +# Phase 29ao P43: CoreLoopComposer v0 scaffold (unconnected, behavior-preserving) + +## 目的 + +P42 で固めた Stage-3 の設計(Skeleton+Feature 合成)に沿って、 +`CoreLoopComposer v0` の実装足場(入口・型・責務境界)を先に用意する。 + +- **入口を 1 箇所に固定**し、以後の移行を “pattern 列挙” ではなく composer に閉じ込める +- 既定挙動は不変(未接続、または `Ok(None)` のみ返す) +- strict/dev の Fail-Fast/Freeze を増やさない(このステップでは出さない) + +## 非目的 + +- CorePlan の語彙拡張 +- Facts 抽出の拡張(P44+) +- router/planner の挙動変更 + +## 実装 + +### Step 1: composer に v0 モジュールを追加(未接続) + +追加: + +- `src/mir/builder/control_flow/plan/composer/coreloop_v0.rs` + +公開(crate内)API(例): + +- `pub(in crate::mir::builder) fn try_compose_core_loop_v0(...) -> Result, String>` + +要求: + +- 入力は `CanonicalLoopFacts`(projection 済み)を使う(直接 `LoopFacts` を再解析しない) +- v0 の定義域外(skeleton != Loop / value_join_needed=true 等)は `Ok(None)`(未接続のため) +- v0 は “合成だけ” を守る(builder mutation/emit/merge は呼ばない) + +### Step 2: `composer/mod.rs` に module 宣言だけ追加 + +- `pub(super) mod coreloop_v0;` を追加 +- まだ呼び出さない(このステップでは未接続) + +### Step 3: 最小ユニットテスト(None境界固定) + +追加(例): + +- `skeleton_kind != Loop` なら `Ok(None)` +- `value_join_needed == true` なら `Ok(None)` + +## docs 更新 + +- `docs/development/current/main/phases/phase-29ao/README.md` の Next を P43 に更新 +- `docs/development/current/main/10-Now.md` / `docs/development/current/main/30-Backlog.md` / `docs/development/current/main/design/coreplan-migration-roadmap-ssot.md` の Next を P43 に揃える + +## 検証(必須) + +- `cargo build --release` +- `./tools/smokes/v2/run.sh --profile quick` +- `./tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh` + +## コミット + +- `git add -A` +- `git commit -m "phase29ao(p43): add coreloop composer v0 scaffold"` diff --git a/docs/development/current/main/phases/phase-29ao/README.md b/docs/development/current/main/phases/phase-29ao/README.md index 55f25135..551b920b 100644 --- a/docs/development/current/main/phases/phase-29ao/README.md +++ b/docs/development/current/main/phases/phase-29ao/README.md @@ -238,4 +238,5 @@ Gate(SSOT): ## Next(planned) -- Next: TBD +- Next: P43(CoreLoopComposer v0 scaffold) +- 指示書: `docs/development/current/main/phases/phase-29ao/P43-CORELOOPCOMPOSER-V0-SCAFFOLD-INSTRUCTIONS.md`