docs(edgecfg): define bridge-pattern removal criteria (Phase 271)
This commit is contained in:
@ -1,5 +1,10 @@
|
||||
# Self Current Task — Now (main)
|
||||
|
||||
## Next: Phase 271(docs-only)— Bridge pattern 撤去条件SSOT
|
||||
|
||||
- 目的: bridge pattern(例: `Pattern9_AccumConstLoop`)を「汎用化せず、吸収して消す」ための撤去条件を SSOT 化
|
||||
- 変更: `docs/development/current/main/design/edgecfg-fragments.md` と `docs/development/current/main/30-Backlog.md` のみ
|
||||
|
||||
## 2025-12-21:Phase 270(P0+P1)— JoinIR-only minimal loop SSOT ✅
|
||||
|
||||
- 目的: `loop(i < 3)` + `sum=sum+i` + `i=i+1` を JoinIR 経路で通すことを fixture/smoke で固定
|
||||
|
||||
@ -13,6 +13,11 @@ Related:
|
||||
- Pattern1 は test-only stub のため不適合 → Pattern9(AccumConstLoop)を橋渡しとして追加
|
||||
- 詳細: `phases/phase-270/README.md`
|
||||
|
||||
- **Phase 271(planned, docs-only): Bridge pattern 撤去条件SSOT**
|
||||
- 対象: bridge pattern(例: `Pattern9_AccumConstLoop`)
|
||||
- 目的: 「汎用化しない」「Frag 合成へ吸収して削除する」を SSOT 化
|
||||
- SSOT: `docs/development/current/main/design/edgecfg-fragments.md`
|
||||
|
||||
- **Phase 269 P1(planned): Pattern8 Frag lowerer 実装**
|
||||
- stub → 実装(compose::loop_() + emit_frag())
|
||||
- MIR terminator 生成確認(Branch/Jump/Return)
|
||||
|
||||
@ -138,6 +138,21 @@ Frag = { entry_block, exits: Map<ExitKind, Vec<EdgeStub>> }
|
||||
- Pattern1(simple_while_minimal)は test-only stub のため、一般ループの “基準” には使えない。
|
||||
- Phase 270 では “最小の固定形” を Pattern9(AccumConstLoop)として追加し、後で Frag 合成側へ吸収される前提で橋渡しにする。
|
||||
|
||||
## Bridge patterns(撤去条件SSOT)
|
||||
|
||||
ここで言う “bridge pattern” は、既存の JoinIR ルートを壊さずに **最小の固定形を先に通す**ための一時パターン。
|
||||
(例: Phase 270 の `Pattern9_AccumConstLoop`)
|
||||
|
||||
- 原則:
|
||||
- bridge pattern は **汎用化しない**(固定形SSOT + fixture/smoke で仕様を固定するだけ)。
|
||||
- 将来は `Frag/ExitKind` 合成側へ **吸収して削除**する前提で追加する。
|
||||
- 撤去条件(最低限):
|
||||
1. loop の EdgeCFG 実戦投入が 1 箇所以上済み(BasicBlockId 層で `Frag + emit_frag` を使っている)
|
||||
2. bridge pattern の fixture が “Frag 合成経路” で PASS する
|
||||
3. quick/integration の FAIL 位置が悪化しないことを確認済み
|
||||
- 撤去手順(最小):
|
||||
- router から bridge pattern を外す → fixture/smoke で PASS 維持 → ファイル削除
|
||||
|
||||
## 実装入口(コード SSOT)
|
||||
|
||||
**Phase 264 で入口API を作成完了**
|
||||
|
||||
Reference in New Issue
Block a user