phase29ak(p4): remove pattern1 guard from single_planner

This commit is contained in:
2025-12-29 15:10:08 +09:00
parent 655b968fb4
commit afe12ffa35
6 changed files with 88 additions and 15 deletions

View File

@ -2,10 +2,15 @@
## Current Focus: Phase 29akPlanRuleOrder + PlannerContext
Next: Phase 29ak P4TBD
Next: Phase 29ak P5TBD
運用ルール: integration filter で phase143_* は回さないJoinIR 回帰は phase29ae pack のみ)
運用ルール: phase286_pattern9_* は legacy pack (SKIP) を使う
**2025-12-29: Phase 29ak P4 完了**
- 目的: Pattern1 guard を single_planner から撤去(仕様不変)
- 実装: `src/mir/builder/control_flow/plan/single_planner/rules.rs`
- 検証: `cargo build --release` / `./tools/smokes/v2/run.sh --profile quick` / `./tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh` PASS
**2025-12-29: Phase 29ak P3 完了**
- 目的: Pattern8 static box filter を single_planner から撤去(仕様不変)
- 実装: `src/mir/builder/control_flow/plan/single_planner/rules.rs`

View File

@ -26,8 +26,8 @@ Related:
- **Phase 29akcandidate: PlanRuleOrder SSOT + PlannerContext plumbing**
- 入口: `docs/development/current/main/phases/phase-29ak/README.md`
- 状況: P0/P1/P2/P3 ✅ 完了
- Next: Phase 29ak P4TBD
- 状況: P0/P1/P2/P3/P4 ✅ 完了
- Next: Phase 29ak P5TBD
- **Phase 29aicandidate: Plan/Frag single-plannerFacts SSOT**
- 入口: `docs/development/current/main/phases/phase-29ai/README.md`

View File

@ -0,0 +1,51 @@
# Phase 29ak P4: Remove Pattern1 guard from single_planner
Date: 2025-12-29
Status: Ready for execution
Scope: single_planner の特例削除(仕様不変)+ docs 更新
Goal: Pattern1 guard を planner/facts 側 SSOT に一本化する
## Objective
- single_planner の Pattern1 guard を削除
- fallback 側で ctx による抑制を追加し、契約を二重化
- 観測差分なし(ログ文字列は変えない)
## Non-goals
- rule順序SSOTの CandidateSet 移管
- extractor fallback の削除
- 新 env var / 新ログ追加
## Implementation Steps
### Step 1: Pattern1 guard を削除
Update:
- `src/mir/builder/control_flow/plan/single_planner/rules.rs`
### Step 2: fallback 側で Pattern1 抑制
Update:
- `src/mir/builder/control_flow/plan/single_planner/rules.rs`
Notes:
- `ctx.pattern_kind != Pattern1SimpleWhile` のとき Pattern1 fallback を `Ok(None)` にする
### Step 3: docs / CURRENT_TASK 更新
Update:
- `docs/development/current/main/phases/phase-29ak/README.md`
- `docs/development/current/main/10-Now.md`
- `docs/development/current/main/30-Backlog.md`
- `CURRENT_TASK.md`
## Verification
- `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 "phase29ak(p4): remove pattern1 guard from single_planner"`

View File

@ -29,3 +29,10 @@ Goal: single_planner の「順序・名前・ガード」の SSOT を 1 箇所
- ねらい: Pattern8 static box filter を planner/facts 側 SSOT に一本化
- 完了: single_planner の Pattern8 特例フィルタを削除debugログは SSOT ではない)
- 検証: `cargo build --release` / `./tools/smokes/v2/run.sh --profile quick` / `./tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh`
## P4: single_planner から Pattern1 guard を撤去
- 指示書: `docs/development/current/main/phases/phase-29ak/P4-REMOVE-SINGLE_PLANNER-PATTERN1-GUARD-INSTRUCTIONS.md`
- ねらい: Pattern1 guard を planner/facts 側 SSOT に一本化
- 完了: single_planner の guard を削除し、fallback 側で同契約を維持
- 検証: `cargo build --release` / `./tools/smokes/v2/run.sh --profile quick` / `./tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh`