docs(edgecfg): define bridge-pattern removal criteria (Phase 271)

This commit is contained in:
2025-12-21 23:16:44 +09:00
parent df715e909e
commit a681298889
3 changed files with 25 additions and 0 deletions

View File

@ -138,6 +138,21 @@ Frag = { entry_block, exits: Map<ExitKind, Vec<EdgeStub>> }
- Pattern1simple_while_minimalは test-only stub のため、一般ループの “基準” には使えない。
- Phase 270 では “最小の固定形” を Pattern9AccumConstLoopとして追加し、後で 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 を作成完了**