phase29ap(p6): extend pattern2 plan subsets for stdlib
This commit is contained in:
@ -3,7 +3,7 @@
|
||||
## Current Focus
|
||||
|
||||
- Phase: `docs/development/current/main/phases/phase-29ap/README.md`
|
||||
- Next: Phase 29ap P5 (planned; see `docs/development/current/main/phases/phase-29ap/README.md`)
|
||||
- Next: Phase 29ap P7 (planned; see `docs/development/current/main/phases/phase-29ap/README.md`)
|
||||
|
||||
## Gate (SSOT)
|
||||
|
||||
|
||||
@ -5,7 +5,7 @@ Scope: 「次にやる候補」を短く列挙するメモ。入口は `docs/dev
|
||||
|
||||
## Active
|
||||
|
||||
- Phase 29ap: `docs/development/current/main/phases/phase-29ap/README.md` (Next: P5 planned)
|
||||
- Phase 29ap: `docs/development/current/main/phases/phase-29ap/README.md` (Next: P7 planned)
|
||||
- JoinIR regression gate SSOT: `docs/development/current/main/phases/phase-29ae/README.md`
|
||||
- CorePlan hardening (docs-first): `docs/development/current/main/phases/phase-29al/README.md`
|
||||
|
||||
|
||||
@ -34,7 +34,7 @@ Related:
|
||||
## 1.1 Current (active)
|
||||
|
||||
- Active phase: `docs/development/current/main/phases/phase-29ap/README.md`
|
||||
- Next step: Phase 29ap P5 (planned)
|
||||
- Next step: Phase 29ap P7 (planned)
|
||||
|
||||
## 2. すでに固めた SSOT(再発防止の土台)
|
||||
|
||||
|
||||
@ -57,12 +57,30 @@ Gate (SSOT):
|
||||
|
||||
- Scope:
|
||||
- Remove Pattern8 from `LOOP_PATTERNS` so plan/composer stays SSOT for normal loops.
|
||||
- Keep legacy table as last resort for Pattern2/4/9 only.
|
||||
- Keep legacy table as last resort for Pattern6_NestedLoopMinimal / Pattern4 / Pattern9 only.
|
||||
- Guardrails:
|
||||
- No change to logs or error strings.
|
||||
- Legacy routing remains a last-resort fallback.
|
||||
|
||||
## P5: Remove Pattern2 from JoinIR legacy table ✅
|
||||
|
||||
- Scope:
|
||||
- Remove Pattern2 (with break) from `LOOP_PATTERNS`.
|
||||
- Keep plan/composer as the only routing path for Pattern2.
|
||||
- Guardrails:
|
||||
- No change to logs or error strings.
|
||||
- Fallback remains `Ok(None)` for non-matching plan cases.
|
||||
|
||||
## P6: stdlib trim_start/trim_end subset (Pattern2BreakFacts) ✅
|
||||
|
||||
- Scope:
|
||||
- Add a conservative Pattern2BreakFacts subset for `trim_start`/`trim_end`.
|
||||
- Normalize `not is_whitespace(...)` into `is_whitespace(...) == false` in facts.
|
||||
- Restore quick smoke by ensuring stdlib loops are handled by plan/composer.
|
||||
- Guardrails:
|
||||
- No new logs or error strings.
|
||||
- Subset only: if shape deviates, return `Ok(None)`.
|
||||
|
||||
## Next (planned)
|
||||
|
||||
- P5: Router pattern-name branching reduction (planner outcome + composer SSOT)
|
||||
- P6: Facts/Feature expansion if needed
|
||||
- P7: Legacy table shrink (Pattern9 removal) or leave as-is with justification
|
||||
|
||||
Reference in New Issue
Block a user