phase29ad(p3): finalize pattern6/7 fixture naming ssot
This commit is contained in:
@ -1,11 +1,15 @@
|
||||
# Self Current Task — Now (main)
|
||||
|
||||
## Current Focus: Phase 29ac COMPLETE(P1–P3: Pattern6/7 thaw)
|
||||
## Current Focus: Phase 29ad COMPLETE(Naming SSOT)
|
||||
|
||||
**2025-12-28: Phase 29ad 完了** ✅
|
||||
- 目的: Pattern6/7 fixture/smoke の命名規約を SSOT 化し、variant 名を明示して迷いを消す
|
||||
- 入口: `docs/development/current/main/phases/phase-29ad/README.md`
|
||||
|
||||
**2025-12-28: Phase 29ac 完了** ✅
|
||||
- 目的: Pattern6/7 の near-miss(freeze固定)を、契約維持のまま PASS へ倒す(silent fallback禁止)
|
||||
- 入口: `docs/development/current/main/phases/phase-29ac/README.md`
|
||||
- 結果: reverse/matchscan は `phase29ab_pattern6_*` を OK 化、split-scan は fixup OK fixture(`phase29ac_pattern7_*`)を追加
|
||||
- 結果: reverse/matchscan は `phase29ab_pattern6_*` を OK 化、split-scan は near-miss OK fixture(`phase29ab_pattern7_splitscan_nearmiss_ok_min`)を追加
|
||||
|
||||
**2025-12-28: Phase 29ab P1 完了** ✅
|
||||
- 目的: Pattern2 の LoopBodyLocal promotion の最小ケースを fixture+integration smoke で固定
|
||||
@ -35,21 +39,21 @@
|
||||
**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`
|
||||
- fixture: `apps/tests/phase29ab_pattern7_splitscan_contract_min.hako`
|
||||
- smoke: `tools/smokes/v2/profiles/integration/apps/phase29ab_pattern7_splitscan_contract_min_vm.sh`
|
||||
- 検証: `./tools/smokes/v2/run.sh --profile integration --filter "phase29ab_pattern7_*"` PASS
|
||||
|
||||
**2025-12-28: Phase 29ab P6 完了** ✅
|
||||
- 目的: Pattern6 ScanWithInit の near-miss(契約違反)を extractor 段で freeze に固定(SSOT化)
|
||||
- 実装: `src/mir/builder/control_flow/joinir/patterns/pattern6_scan_with_init.rs`(`[joinir/phase29ab/pattern6/contract]`)
|
||||
- fixture: `apps/tests/phase29ab_pattern6_firstfail_min.hako`
|
||||
- smoke: `tools/smokes/v2/profiles/integration/apps/phase29ab_pattern6_firstfail_min_vm.sh`
|
||||
- fixture: `apps/tests/phase29ab_pattern6_scan_with_init_contract_min.hako`
|
||||
- smoke: `tools/smokes/v2/profiles/integration/apps/phase29ab_pattern6_scan_with_init_contract_min_vm.sh`
|
||||
- 検証: `./tools/smokes/v2/run.sh --profile integration --filter "phase29ab_pattern6_*"` PASS
|
||||
|
||||
**2025-12-28: Phase 29ab P7 完了** ✅
|
||||
- 目的: Pattern6 reverse scan / matchscan の near-miss を追加で freeze 固定し、契約境界を安定化
|
||||
- fixtures: `apps/tests/phase29ab_pattern6_{reverse,matchscan}_firstfail_min.hako`
|
||||
- smokes: `tools/smokes/v2/profiles/integration/apps/phase29ab_pattern6_{reverse,matchscan}_firstfail_min_vm.sh`
|
||||
- fixtures: `apps/tests/phase29ab_pattern6_{reverse,matchscan}_contract_min.hako`
|
||||
- smokes: `tools/smokes/v2/profiles/integration/apps/phase29ab_pattern6_{reverse,matchscan}_contract_min_vm.sh`
|
||||
- 検証: `./tools/smokes/v2/run.sh --profile integration --filter "phase29ab_pattern6_*"` PASS(3/3)
|
||||
|
||||
**2025-12-28: Phase 29ab P8 完了** ✅
|
||||
|
||||
@ -8,6 +8,9 @@ Related:
|
||||
|
||||
## 直近(JoinIR/selfhost)
|
||||
|
||||
- **Phase 29ad(✅ COMPLETE): Naming SSOT for Pattern6/7 fixtures**
|
||||
- 入口: `docs/development/current/main/phases/phase-29ad/README.md`
|
||||
|
||||
- **Phase 29ac(✅ COMPLETE): De-freeze Pattern6/7**
|
||||
- 入口: `docs/development/current/main/phases/phase-29ac/README.md`
|
||||
|
||||
|
||||
@ -46,13 +46,13 @@ Pattern6 OK:
|
||||
- `apps/tests/phase29ab_pattern6_matchscan_ok_min.hako`
|
||||
|
||||
Pattern6 contract:
|
||||
- `apps/tests/phase29ab_pattern6_firstfail_min.hako`
|
||||
- `apps/tests/phase29ab_pattern6_reverse_firstfail_min.hako`
|
||||
- `apps/tests/phase29ab_pattern6_matchscan_firstfail_min.hako`
|
||||
- `apps/tests/phase29ab_pattern6_scan_with_init_contract_min.hako`
|
||||
- `apps/tests/phase29ab_pattern6_reverse_contract_min.hako`
|
||||
- `apps/tests/phase29ab_pattern6_matchscan_contract_min.hako`
|
||||
|
||||
Pattern7 OK:
|
||||
- `apps/tests/phase29ab_pattern7_splitscan_ok_min.hako`
|
||||
- `apps/tests/phase29ac_pattern7_splitscan_nearmiss_fix_ok_min.hako`
|
||||
- `apps/tests/phase29ab_pattern7_splitscan_nearmiss_ok_min.hako`
|
||||
|
||||
Pattern7 contract:
|
||||
- `apps/tests/phase29ab_pattern7_firstfail_min.hako`
|
||||
- `apps/tests/phase29ab_pattern7_splitscan_contract_min.hako`
|
||||
|
||||
@ -10,24 +10,10 @@ Goal: Fix near-miss vs OK boundaries for Pattern2/6/7 and provide a single entry
|
||||
|
||||
## Fixtures and Smokes
|
||||
|
||||
### Freeze-fixed (contract violations)
|
||||
- Pattern2 seg freeze:
|
||||
- `apps/tests/phase29ab_pattern2_seg_freeze_min.hako`
|
||||
- `tools/smokes/v2/profiles/integration/apps/phase29ab_pattern2_seg_freeze_min_vm.sh`
|
||||
- Pattern7 SplitScan first-fail:
|
||||
- `apps/tests/phase29ab_pattern7_firstfail_min.hako`
|
||||
- `tools/smokes/v2/profiles/integration/apps/phase29ab_pattern7_firstfail_min_vm.sh`
|
||||
- Pattern6 ScanWithInit first-fail:
|
||||
- `apps/tests/phase29ab_pattern6_firstfail_min.hako`
|
||||
- `tools/smokes/v2/profiles/integration/apps/phase29ab_pattern6_firstfail_min_vm.sh`
|
||||
- Pattern6 reverse scan near-miss:
|
||||
- `apps/tests/phase29ab_pattern6_reverse_firstfail_min.hako`
|
||||
- `tools/smokes/v2/profiles/integration/apps/phase29ab_pattern6_reverse_firstfail_min_vm.sh`
|
||||
- Pattern6 matchscan near-miss:
|
||||
- `apps/tests/phase29ab_pattern6_matchscan_firstfail_min.hako`
|
||||
- `tools/smokes/v2/profiles/integration/apps/phase29ab_pattern6_matchscan_firstfail_min_vm.sh`
|
||||
Pattern6/7 の OK/contract fixtures 一覧は SSOT に集約:
|
||||
- `docs/development/current/main/design/pattern6-7-contracts.md`
|
||||
|
||||
### OK (PASS fixed)
|
||||
### Pattern2 / Phase 263
|
||||
- Pattern2 LoopBodyLocal min:
|
||||
- `apps/tests/phase29ab_pattern2_loopbodylocal_min.hako`
|
||||
- `tools/smokes/v2/profiles/integration/apps/phase29ab_pattern2_loopbodylocal_min_vm.sh`
|
||||
@ -37,21 +23,12 @@ Goal: Fix near-miss vs OK boundaries for Pattern2/6/7 and provide a single entry
|
||||
- Pattern2 seg notapplicable:
|
||||
- `apps/tests/phase29ab_pattern2_seg_notapplicable_min.hako`
|
||||
- `tools/smokes/v2/profiles/integration/apps/phase29ab_pattern2_seg_notapplicable_min_vm.sh`
|
||||
- Pattern2 seg freeze:
|
||||
- `apps/tests/phase29ab_pattern2_seg_freeze_min.hako`
|
||||
- `tools/smokes/v2/profiles/integration/apps/phase29ab_pattern2_seg_freeze_min_vm.sh`
|
||||
- Phase 263 realworld seg (Derived slot path):
|
||||
- `apps/tests/phase263_pattern2_seg_realworld_min.hako`
|
||||
- `tools/smokes/v2/profiles/integration/apps/phase263_pattern2_seg_realworld_min_vm.sh`
|
||||
- Pattern6 ScanWithInit OK:
|
||||
- `apps/tests/phase29ab_pattern6_scan_with_init_ok_min.hako`
|
||||
- `tools/smokes/v2/profiles/integration/apps/phase29ab_pattern6_scan_with_init_ok_min_vm.sh`
|
||||
- Pattern6 reverse scan OK:
|
||||
- `apps/tests/phase29ab_pattern6_reverse_ok_min.hako`
|
||||
- `tools/smokes/v2/profiles/integration/apps/phase29ab_pattern6_reverse_ok_min_vm.sh`
|
||||
- Pattern6 matchscan OK:
|
||||
- `apps/tests/phase29ab_pattern6_matchscan_ok_min.hako`
|
||||
- `tools/smokes/v2/profiles/integration/apps/phase29ab_pattern6_matchscan_ok_min_vm.sh`
|
||||
- Pattern7 SplitScan OK:
|
||||
- `apps/tests/phase29ab_pattern7_splitscan_ok_min.hako`
|
||||
- `tools/smokes/v2/profiles/integration/apps/phase29ab_pattern7_splitscan_ok_min_vm.sh`
|
||||
|
||||
## Commands
|
||||
|
||||
|
||||
@ -8,26 +8,14 @@ Goal: Convert freeze-fixed Pattern6/7 near-miss cases into PASS while keeping co
|
||||
- P2 ✅ Pattern6 matchscan: fixture を contract-aligned に修正して PASS
|
||||
- P3 ✅ Pattern7 split-scan: near-miss を contract-aligned な OK fixture として PASS 固定(元の契約違反 fixture は残す)
|
||||
|
||||
## Target list (initial)
|
||||
## Target list (SSOT)
|
||||
|
||||
- `apps/tests/phase29ab_pattern6_reverse_firstfail_min.hako`
|
||||
- `apps/tests/phase29ab_pattern6_matchscan_firstfail_min.hako`
|
||||
- `apps/tests/phase29ab_pattern7_firstfail_min.hako`
|
||||
- Pattern6/7 の OK/contract fixtures 一覧: `docs/development/current/main/design/pattern6-7-contracts.md`
|
||||
|
||||
## Outcome (SSOT)
|
||||
## Outcome
|
||||
|
||||
### PASS fixtures (behavioral)
|
||||
|
||||
- Pattern6 reverse scan OK: `apps/tests/phase29ab_pattern6_reverse_ok_min.hako`(RC=1)
|
||||
- Pattern6 matchscan OK: `apps/tests/phase29ab_pattern6_matchscan_ok_min.hako`(RC=1)
|
||||
- Pattern7 split-scan near-miss fixup OK: `apps/tests/phase29ac_pattern7_splitscan_nearmiss_fix_ok_min.hako`(RC=3)
|
||||
|
||||
### FAIL-Fast fixtures (contract boundary)
|
||||
|
||||
- Pattern6 scan-with-init contract violation: `apps/tests/phase29ab_pattern6_firstfail_min.hako`(tag: `[joinir/phase29ab/pattern6/contract]`)
|
||||
- Pattern6 reverse scan contract violation: `apps/tests/phase29ab_pattern6_reverse_firstfail_min.hako`(tag: `[joinir/phase29ab/pattern6/contract]`)
|
||||
- Pattern6 matchscan contract violation: `apps/tests/phase29ab_pattern6_matchscan_firstfail_min.hako`(tag: `[joinir/phase29ab/pattern6/contract]`)
|
||||
- Pattern7 split-scan contract violation: `apps/tests/phase29ab_pattern7_firstfail_min.hako`(tag: `[joinir/phase29ab/pattern7/contract]`)
|
||||
- PASS/contract fixture の一覧は SSOT に集約(上記参照)。
|
||||
- Phase29ac では split-scan の fixup OK fixture を追加し、契約違反 fixture は維持。
|
||||
|
||||
## Pass order (recommended)
|
||||
|
||||
@ -46,4 +34,4 @@ Goal: Convert freeze-fixed Pattern6/7 near-miss cases into PASS while keeping co
|
||||
|
||||
- `./tools/smokes/v2/run.sh --profile integration --filter "phase29ab_pattern6_*"`
|
||||
- `./tools/smokes/v2/run.sh --profile integration --filter "phase29ab_pattern7_*"`
|
||||
- `./tools/smokes/v2/run.sh --profile integration --filter "phase29ac_pattern7_*"`
|
||||
- `./tools/smokes/v2/run.sh --profile integration --filter "phase29ab_pattern7_*"`
|
||||
|
||||
36
docs/development/current/main/phases/phase-29ad/README.md
Normal file
36
docs/development/current/main/phases/phase-29ad/README.md
Normal file
@ -0,0 +1,36 @@
|
||||
# Phase 29ad: Pattern6/7 naming SSOT (fixtures + smokes)
|
||||
|
||||
Goal: remove ambiguous "firstfail" naming and make the variant explicit for every Pattern6/7 fixture and smoke.
|
||||
|
||||
## Naming rules (SSOT)
|
||||
|
||||
- Pattern6:
|
||||
- `phase29ab_pattern6_<variant>_{ok|contract}_min.{hako,sh}`
|
||||
- variants: `scan_with_init`, `reverse`, `matchscan`
|
||||
- Pattern7:
|
||||
- `phase29ab_pattern7_splitscan_{ok|contract}_min.{hako,sh}`
|
||||
- near-miss OK variant: `phase29ab_pattern7_splitscan_nearmiss_ok_min.{hako,sh}`
|
||||
|
||||
## Current mapping
|
||||
|
||||
Pattern6 OK:
|
||||
- `apps/tests/phase29ab_pattern6_scan_with_init_ok_min.hako`
|
||||
- `apps/tests/phase29ab_pattern6_reverse_ok_min.hako`
|
||||
- `apps/tests/phase29ab_pattern6_matchscan_ok_min.hako`
|
||||
|
||||
Pattern6 contract:
|
||||
- `apps/tests/phase29ab_pattern6_scan_with_init_contract_min.hako`
|
||||
- `apps/tests/phase29ab_pattern6_reverse_contract_min.hako`
|
||||
- `apps/tests/phase29ab_pattern6_matchscan_contract_min.hako`
|
||||
|
||||
Pattern7 OK:
|
||||
- `apps/tests/phase29ab_pattern7_splitscan_ok_min.hako`
|
||||
- `apps/tests/phase29ab_pattern7_splitscan_nearmiss_ok_min.hako`
|
||||
|
||||
Pattern7 contract:
|
||||
- `apps/tests/phase29ab_pattern7_splitscan_contract_min.hako`
|
||||
|
||||
## Commands
|
||||
|
||||
- `./tools/smokes/v2/run.sh --profile integration --filter "phase29ab_pattern6_"`
|
||||
- `./tools/smokes/v2/run.sh --profile integration --filter "phase29ab_pattern7_"`
|
||||
Reference in New Issue
Block a user