docs: update Phase 137-1 completion status and Phase 2 roadmap

## Summary
Loop Canonicalizer Phase 1(型定義)の完了と、Phase 2(dev-only 観測)への
ロードマップを記録。

## Changes

### loop-canonicalizer.md
- Status: Design (P0) → Phase 1 done(型定義まで)
- 実装の入口を明記(src/mir/loop_canonicalizer/mod.rs)
- NYASH_LOOP_ROUTING_TRACE → joinir_dev_enabled() に変更
  (新 ENV を増やさず、既存のスイッチに寄せる)

### CURRENT_TASK.md
- Phase 137-1 完了を追記
- P0 を「設計」→「Phase 2(dev-only 観測)」へ更新

### phases/README.md
- Phase 137 を追加

### phases/phase-137/README.md (NEW)
- Phase 1 完了サマリ
- Phase 2 予定を最小で記録

### joinir-design-map.md / 01-JoinIR-Selfhost-INDEX.md
- loop-canonicalizer への導線を追加

## Next Steps

Phase 2: dev-only 観測の導入
- canonicalize_loop_expr() の薄い入口を追加
- joinir_dev_enabled() 配下でログ出し
- 既定挙動は完全不変

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
nyash-codex
2025-12-16 05:10:29 +09:00
parent 2bdf1abe78
commit ec1ff5b766
7 changed files with 57 additions and 10 deletions

View File

@ -9,6 +9,7 @@
- **Phase 134**: Plugin loader best-effort loading
- **Phase 135**: ConditionLoweringBox allocator SSOTValueId 衝突の根治)
- **Phase 136**: MirBuilder Context SSOT 化(+ ValueId allocator 掃討)
- **Phase 137**: Loop Canonicalizer前処理 SSOT導入
## Phase フォルダ構成(推奨)

View File

@ -0,0 +1,27 @@
# Phase 137: Loop Canonicalizer前処理 SSOT
## Status
- 状態: 🔶 進行中Phase 1 完了)
## Goal
- ループ形の組み合わせ爆発を抑えるため、`AST → LoopSkeleton → (capability/routing)` の前処理を SSOT 化する。
- 既存の方針fixture + shape guard + Fail-Fastを維持したまま、pattern 数を増やさずにスケールさせる。
## Phase 1完了: 型/語彙の SSOT
- 実装: `src/mir/loop_canonicalizer/mod.rs`
- `LoopSkeleton` / `SkeletonStep` / `UpdateKind`
- `ExitContract` / `CarrierSlot` / `CarrierRole`
- `RoutingDecision` / capability tags`CAP_MISSING_*`
- 注意: Phase 1 は「型と語彙」のみ。routing/lowering にはまだ介入しない。
## Phase 2: dev-only 観測の導入
- 目標: ループ入口で `LoopSkeleton``RoutingDecision` を生成し、dev-only で観測できるようにする。
- 既定挙動: 不変dev-only の観測から開始)
- スイッチ: 新しい env を増やさず、`joinir_dev_enabled()`(既存)配下で有効化する。
## SSOT
- 設計 SSOT: `docs/development/current/main/design/loop-canonicalizer.md`
- JoinIR 契約 SSOT: `docs/development/current/main/joinir-architecture-overview.md`