phase29ab(p5): freeze pattern7 split-scan near-miss with fixture+smoke
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
# Self Current Task — Now (main)
|
||||
|
||||
## Current Focus: Phase 29ab P4(Phase 263 realworld seg: Derived slot)
|
||||
## Current Focus: Phase 29ab P5(Pattern7 SplitScan contract fail-fast)
|
||||
|
||||
**2025-12-28: Phase 29ab P1 完了** ✅
|
||||
- 目的: Pattern2 の LoopBodyLocal promotion の最小ケースを fixture+integration smoke で固定
|
||||
@ -27,6 +27,13 @@
|
||||
- Smoke: `tools/smokes/v2/profiles/integration/apps/phase263_pattern2_seg_realworld_min_vm.sh`
|
||||
- 追加/調整: `String.indexOf(search, fromIndex)` の2引数対応(arity解決を含む)を VM/JoinIR lowering 側で整備
|
||||
|
||||
**2025-12-28: Phase 29ab P5 完了** ✅
|
||||
- 目的: Pattern7 SplitScan の「形は近いが契約違反」ケースを extractor 段で freeze に固定(SSOT化)
|
||||
- 実装: `src/mir/builder/control_flow/joinir/patterns/pattern7_split_scan.rs`(`freeze_with_hint("phase29ab/pattern7/contract", ...)`)
|
||||
- fixture: `apps/tests/phase29ab_pattern7_firstfail_min.hako`
|
||||
- smoke: `tools/smokes/v2/profiles/integration/apps/phase29ab_pattern7_firstfail_min_vm.sh`
|
||||
- 検証: `./tools/smokes/v2/run.sh --profile integration --filter "phase29ab_pattern7_*"` PASS
|
||||
|
||||
**2025-12-28: Phase 29aa P5 完了** ✅
|
||||
- 目的: Return block が複数 predecessor のとき、incoming state が完全一致する場合のみ ReturnCleanup を成立させる
|
||||
- 入口: `docs/development/current/main/phases/phase-29aa/README.md`
|
||||
|
||||
@ -13,7 +13,8 @@ Related:
|
||||
- P2: Pattern2 Trim seg minimal fixture+smoke fixed(`phase29ab_pattern2_loopbodylocal_seg_min_vm`)
|
||||
- P3: PromoteDecision の “NotApplicable/Freeze” 境界を contract+smoke で固定(JoinIR-only前提)
|
||||
- P4: Phase 263(Stage‑B 実ログ seg)を Derived slot 方針で通し、fixture+smoke で固定
|
||||
- P5: Pattern6/7(joinir/edgecfg)first-fail を fixture で固定して、Frag/compose へ収束方針を決める
|
||||
- P5: Pattern7 SplitScan first-fail(契約違反)を freeze で固定して SSOT 化
|
||||
- P6: Pattern6 MatchScan first-fail を同様に fixture+smoke で固定(freeze/NotApplicableの境界を決める)
|
||||
|
||||
- **Phase 288(✅ P0–P3 + 288.1 complete): REPL mode**
|
||||
- 入口: `docs/development/current/main/phases/phase-288/README.md`
|
||||
|
||||
@ -346,6 +346,7 @@ MIR Terminator Instructions
|
||||
- **NormalizeBox 直後**: terminator 語彙固定・edge-args 長さ一致・cond付きJump禁止など “意味SSOT” を確定
|
||||
- **merge直前**: boundary/ABI/edge-args の矛盾を即死させ “配線SSOT” を確定
|
||||
- **--verify**: PHI predecessor / CFG cache 整合 / edge-args の長さ一致を常設
|
||||
- **Pattern6/7 extractor**: 形は近いが契約違反のケースは `Ok(None)` で流さず freeze(例: SplitScan の `else i = i + 1` 破り)
|
||||
|
||||
## 直近の導入ステップ(最小で始める)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user