nyash-codex
7200309cc3
feat(joinir): Phase 48-A - P4 (continue) Normalized minimal implementation
Pattern4 (continue) integration into Normalized JoinIR pipeline complete.
Key changes:
- P4 minimal fixture: skip i==2 pattern, single carrier (acc)
- ShapeGuard: Pattern4ContinueMinimal detector (structure-based)
- StepScheduleBox: ContinueCheck step (eval order: HeaderCond → ContinueCheck → Updates → Tail)
- normalize_pattern4_continue_minimal(): Delegates to P2 (95% infrastructure reuse)
- Tests: 4 integration tests (normalization/runner/VM Bridge comparison×2)
Design validation:
- P4 (continue) = reverse control flow of P2 (break)
- Same loop_step(env, k_exit) skeleton
- Same EnvLayout/ConditionEnv/CarrierInfo infrastructure
- Only difference: evaluation order and control flow direction
Architecture proof:
- Normalized JoinIR successfully handles P1/P2/P3/P4 uniformly
- Infrastructure reuse rate: 95%+ as designed
Tests: 939/939 PASS (+1 from baseline 938, target exceeded!)
Files modified: 10 files (~305 lines added, pure additive)
- pattern4_continue_min.program.json (NEW +126 lines) - P4 fixture
- fixtures.rs (+31 lines) - P4 fixture loader
- shape_guard.rs (+60 lines) - Shape detection
- step_schedule.rs (+18 lines) - Schedule + test
- normalized.rs (+35 lines) - Normalization function
- loop_with_break_minimal.rs (+4 lines) - ContinueCheck handler
- bridge.rs (+5 lines) - VM bridge routing
- ast_lowerer/mod.rs (+2 lines) - Function registration
- normalized_joinir_min.rs (+84 lines) - Integration tests
- CURRENT_TASK.md (+13 lines) - Phase 48-A completion
Next steps:
- Phase 48-B: Extended P4 (multi-carrier, complex continue)
- Phase 48-C: Canonical promotion (always use Normalized for P4)
2025-12-12 06:31:13 +09:00
..
2025-11-20 08:41:37 +09:00
2025-12-04 04:13:15 +09:00
2025-11-06 15:41:52 +09:00
2025-11-25 10:19:02 +09:00
2025-09-22 07:54:25 +09:00
2025-09-15 22:14:42 +09:00
2025-09-19 02:07:38 +09:00
2025-11-06 15:41:52 +09:00
2025-12-10 00:01:53 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-01 09:05:02 +09:00
2025-08-23 16:33:32 +09:00
2025-09-16 23:49:36 +09:00
2025-09-16 23:49:36 +09:00
2025-12-09 03:40:25 +09:00
2025-09-16 23:49:36 +09:00
2025-11-20 03:56:12 +09:00
2025-09-16 23:49:36 +09:00
2025-11-21 06:25:17 +09:00
2025-09-16 23:49:36 +09:00
2025-12-11 13:13:08 +09:00
2025-09-16 23:49:36 +09:00
2025-12-02 12:36:28 +09:00
2025-12-08 23:43:26 +09:00
2025-12-12 06:31:13 +09:00
2025-09-16 16:28:25 +09:00
2025-12-11 17:16:10 +09:00
2025-12-11 13:13:08 +09:00
2025-12-11 17:16:10 +09:00
2025-09-25 01:09:48 +09:00
2025-09-16 23:49:36 +09:00
2025-09-16 23:49:36 +09:00
2025-09-16 23:49:36 +09:00