phase29ad(p3): finalize pattern6/7 fixture naming ssot

This commit is contained in:
2025-12-28 17:51:11 +09:00
parent 9c44e990a9
commit d8786ebab9
21 changed files with 201 additions and 228 deletions

View File

@ -1,11 +1,15 @@
# Self Current Task — Now (main)
## Current Focus: Phase 29ac COMPLETEP1P3: Pattern6/7 thaw
## Current Focus: Phase 29ad COMPLETENaming 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-missfreeze固定を、契約維持のまま 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_*"` PASS3/3
**2025-12-28: Phase 29ab P8 完了**

View File

@ -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`

View File

@ -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`

View File

@ -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

View File

@ -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_*"`

View 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_"`