Files
hakorune/docs/development/current/main/phase86-90-loop-frontends-summary.md
nyash-codex 05c5021147 docs(phase131): LLVM SSOT強化 + ConsoleBox調査完了 + Phase86-90要約
Phase 131-1 完了: LLVM exe line SSOT 強化
- phase87-selfhost-llvm-exe-line.md に 4セクション追加(+300行)
  - 環境変数リファレンス(14変数)
  - 成功/失敗基準(exit code 0/1/2/3)
  - コンパイラモード説明(harness vs crate)
  - デバッグセクション拡張
- "1コマンドで再現" 可能な状態を確立

Phase 131-2 完了: ConsoleBox 問題調査
- VM の 3重登録経路を特定(BoxFactoryRegistry/UnifiedRegistry/Builtin)
- LLVM backend は Phase 133 で解決済み
- 3つのドキュメント作成:
  - phase131-2-consolebox-investigation.md(詳細調査)
  - phase131-2-summary.md(エグゼクティブサマリ)
  - phase131-2-box-resolution-map.md(Box 解決マップ)

Phase 86-90 完了: Loop frontends 要約
- phase86-90-loop-frontends-summary.md 追加
- Pattern4/ContinueReturn/ParseStringComposite の経緯を1枚に集約
- INDEX から導線追加

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-14 05:24:31 +09:00

67 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Phase 8690 Summary — Loop Frontends (dev-only fixtures)
目的: 実アプリ由来のループ形を「fixture + shape guard + fail-fast」で段階的に JoinIR frontend に取り込み、
Normalized-dev の回帰テストで固定する。
このファイルは Phase 8690 の“ループ前線”だけを 1 枚に集約するサマリ。
詳細ログや設計の背景は各 Phase 文書に委譲し、このサマリでは **到達点 / SSOT / fixture / 未検証**だけを書く。
## SSOT参照の優先順位
- JoinIR 全体SSOT: `docs/development/current/main/joinir-architecture-overview.md`
- いまの状態: `docs/development/current/main/10-Now.md`
- タスク優先度: `CURRENT_TASK.md`
## Phase 86 — Carrier Init Builder + Error Tags ✅
- 目的: ValueId 生成とエラー語彙を SSOT 化し、段階移行ラインの土台を固める
- SSOT modules:
- `src/mir/builder/control_flow/joinir/merge/carrier_init_builder.rs`
- `src/mir/join_ir/lowering/error_tags.rs`
## Phase 87 — LLVM exe line SSOT ✅
- 目的: `.hako → executable` の手順を `tools/build_llvm.sh` に統一し、Smoke を 1 本に固定する
- SSOT:
- `tools/build_llvm.sh`
- `docs/development/current/main/phase87-selfhost-llvm-exe-line.md`
## Phase 88 — continue + 可変ステップdev-only fixture
- 目的: `continue` 分岐で `i` が可変ステップ更新される形(`i = i + const`)を段階拡張し、回帰を固定する
- 追加: continue 分岐側での carrier 更新(例: `acc`)を許可
- Fail-Fast: const 以外の step 更新は拒否
- Fixture:
- `docs/private/roadmap2/phases/normalized_dev/fixtures/jsonparser_unescape_string_step2_min.program.json`
## Phase 89 — ContinueReturndetector + lowering
- 目的: `continue + early return`loop 内 returnを Pattern4 と誤認しないように shape を分離し、frontend lowering を追加する
- Shape guard:
- Pattern4 detector を厳格化(誤爆防止)
- ContinueReturn 用 detector を追加dev-only
- Fixtures:
- `docs/private/roadmap2/phases/normalized_dev/fixtures/pattern_continue_return_min.program.json`
- `docs/private/roadmap2/phases/normalized_dev/fixtures/continue_return_multi_min.program.json`(同一値の複数 return-if
## Phase 90 — ParseStringCompositedev-only fixture
- 目的: `_parse_string` の制御骨格escape continue + close-quote returnを “制御だけ抽出” した合成 fixture として固定する
- Fixture:
- `docs/private/roadmap2/phases/normalized_dev/fixtures/parse_string_composite_min.program.json`
- 追加(実ループ寄せの土台、制御抽出):
- `docs/private/roadmap2/phases/normalized_dev/fixtures/parse_array_min.program.json`
- `docs/private/roadmap2/phases/normalized_dev/fixtures/parse_object_min.program.json`
## RefactorPhase 8990 の維持性向上)
- Fixture 名・パス・ルーティングの SSOT:
- `src/mir/join_ir/normalized/dev_fixtures.rs`
- Shape detector の共通化Inspector 等)は `shape_guard.rs` を参照
## 未検証SSOT にしない)
- 実コード(`tools/hako_shared/json_parser.hako`)の `_parse_string/_parse_array/_parse_object` を、
JoinIR frontend で “そのまま” E2E 実行するラインdev-only での段階投入)
- 文字列・配列・マップなど Box の意味論を含む大域 E2Efixture は制御抽出が主目的)