Files
hakorune/docs/development/current/main/phases/phase-137/README.md
nyash-codex ec1ff5b766 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>
2025-12-16 05:10:29 +09:00

1.2 KiB
Raw Blame History

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 tagsCAP_MISSING_*
  • 注意: Phase 1 は「型と語彙」のみ。routing/lowering にはまだ介入しない。

Phase 2: dev-only 観測の導入

  • 目標: ループ入口で LoopSkeletonRoutingDecision を生成し、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