Files
hakorune/docs/private/roadmap/phases/phase-31.3/SUMMARY.md

11 KiB
Raw Blame History

Phase 31.3 Summary - エグゼクティブサマリー

Selfhost 綺麗綺麗計画: 10週間でHakorune本流化を達成

作成日: 2025-10-19 対象読者: プロジェクトオーナー、PM、アーキテクト


🎯 核心目標30秒で理解

Phase 31Rustリファクタリングで得た5つの知見をSelfhostHakoruneスクリプト版に適用し、Hakorune本流化を完成させる

  1. loopform完全実装VM + Compiler + Golden Test
  2. Rust MIR vs Hakorune MIR 完全パリティ95%以上)
  3. コード品質向上最大関数150行以下、状態箱化、トレース統一化
  4. ドキュメント整備(実装ガイド、対応表、レポート)

期間: 10週間Phase 1-4 削減/追加: +4,440-6,290行コード +1,940-2,490行、ドキュメント +2,500-3,800行


📊 現状Phase 31.3開始前)

Selfhost Compilerselfhost/compiler/pipeline_v2/

  • 総行数: 3,007行38ファイル
  • 最大ファイル: pipeline.hako535行⚠️ 巨大関数
  • 実装済み: 基本MIR生成、制御フローif/match、SSA、Using/名前空間
  • 未実装: loopform命令生成、ループ専用PHI、トレース統一化

Selfhost VMselfhost/hakorune-vm/

  • 総行数: 3,455行67ファイル
  • 実装済み命令: 22種類16 MIR + 6 advanced = 138%カバレッジ
  • 最大ファイル: closure_call_handler.hako315行
  • 未実装: loopform命令ハンドラ

評価

  • 基盤は完成22命令ハンドラ、@match-based dispatch、Result-based error handling
  • loopform未実装Compiler + VM
  • Rust MIR パリティ未達成loop構文が動作しない
  • ⚠️ 巨大関数ありpipeline.hako 535行、closure_call_handler.hako 315行

🚀 Phase 31.3 の構成10週間

Phase 1: 基盤整備Week 1-2

目標: トレース統一化、箱化パターン確立

主要成果物:

  • TraceBox実装50行Rust LoopTraceBox移植
  • CompilerConfigBox実装30行
  • LoopStateBox実装80行
  • コード品質レポート

削減/追加: +160行


Phase 2: loopform実装Week 3-5最重要

目標: loop構文をloopform命令に変換、VM実行可能に

主要成果物:

  • VM: loopform_handler.hako150-200行
  • Compiler: loop_emit_box.hako200-250行+ phi_emit_box.hako150-200行
  • Golden Test基礎: Golden Testフレームワーク100-150行
  • テスト: 10-15ケース

削減/追加: +800-1,100行

実装詳細:

  1. Week 3: VM loopform実装Rust handlers/flow.rs 参考)
  2. Week 4: Compiler loop/phi実装Rust loop_builder/build.rs 参考)
  3. Week 5: Golden TestRust MIR vs Hakorune MIR 一致確認)

Phase 3: リファクタリングWeek 6-8

目標: コード品質向上、保守性向上

主要成果物:

  • 巨大関数分割:
    • pipeline.hako535行 → 150行以下
    • closure_call_handler.hako315行 → 200行以下
  • 状態管理箱化:
    • CompilerStateBox実装100行
    • VMStateBox実装80行
  • Legacy削除-100〜-200行

削減/追加: +580行、-100〜-200行


Phase 4: Golden Testing + ドキュメントWeek 9-10

目標: Rust vs Hakorune 完全パリティ、ドキュメント整備

主要成果物:

  • Golden Test: 50-100ケース全PASSパリティ95%以上)
  • IMPLEMENTATION_GUIDE.md1,000-1,500行
  • RUST_HAKORUNE_MAPPING.md500-800行
  • CLEANUP_REPORT.md800-1,200行

削減/追加: +3,300-4,800行ドキュメント主体


📈 Rust知見の適用5つのパターン

1. LoopTraceBox → TraceBox

適用可能性: P0

  • トレース出力の統一化Compiler + VM
  • 環境変数制御HAKO_TRACE=1
  • デバッグ効率化

2. PhiBuilderBox → PhiEmitBox 最重要

適用可能性: P0

  • 3層PHI生成Header/Latch/Exit
  • break/continue完全サポート
  • Rust実装の直接移植

3. LoopContextBox → LoopStateBox

適用可能性: P1

  • ループ状態管理の一元化
  • break/continueスタックの明示化

4. 巨大関数分割 → オーケストレーション層

適用可能性: P1

  • pipeline.hako535行 → 150行以下
  • 単一責務の原則徹底
  • テスト容易性向上

5. Legacy削除 → 単一経路化

適用可能性: P2

  • loopform経路のみlegacy経路なし
  • 未使用コード削除(-100〜-200行

💰 ROI投資対効果

投資

  • 時間: 10週間約2.5ヶ月)
  • 工数: 1人月 × 2.5ヶ月 = 2.5人月
  • リスク: loopform実装の複雑性、Hakorune構文の制約

リターン

  1. 機能面:
    • Selfhost単体でloop実行可能
    • Rust MIR vs Hakorune MIR 完全パリティ95%以上)
  2. 品質面:
    • 最大関数サイズ: 150行以下
    • 保守性・可読性の大幅向上
  3. 戦略面:
    • Hakorune本流化Phase 15.76/15.77への準備完了)
    • Rust層最小化の準備99.8%削減へ)

ROI評価: 極めて高い

  • Selfhost本流化の必須ステップ
  • Phase 15.76/15.77への橋渡し
  • 世界レベルの保守性・可読性達成

🎯 マイルストーン4つの検問

Week マイルストーン 成功基準 リスク
2 基盤整備完了 TraceBox実装、箱化パターン確立
5 loopform実装完了 VM実行可能、Golden Test基礎 ⚠️
8 リファクタリング完了 最大関数150行以下、状態箱化
10 Selfhost本流化完成 Golden Test全PASS、ドキュメント完備

Critical Path: Week 3-5loopform実装⚠️ 最重要区間


🔥 リスク管理

リスク1: loopform実装の複雑性Week 3-5

確率: 中 | 影響:

軽減策:

  • Rust実装build.rs, 128行を参考
  • 段階的実装VM → Compiler → Golden Test
  • 週次レビュー(早期問題発見)

リスク2: Hakorune構文の制約

確率: 中 | 影響:

軽減策:

  • 簡略化設計Rust実装の複雑なパターンを避ける
  • 箱化パターン確立Week 2
  • ドキュメント化(制約事項を明記)

リスク3: パリティ未達成Week 5, 9

確率: 低 | 影響:

軽減策:

  • Golden Testフレームワーク早期構築Week 5
  • 継続的なパリティ確認
  • 正規化・ソートによる差分吸収

リスク4: スコープクリープ(全期間)

確率: 高 | 影響:

軽減策:

  • 80/20ルール徹底完璧より進捗
  • 追加機能は docs/development/proposals/ideas/ に記録
  • 週次レビューで進捗確認

🔗 長期ビジョンPhase 15.76/15.77連携)

Phase 31.3完了後の展開

Phase 15.76: extern_c戦略+4週間

  • C ABI経由でLLVMバックエンド連携
  • extern_c構文実装
  • AOT導線確立

Phase 15.77: 凍結EXE確定+6週間

  • hako-frozen-v1.exe作成・配布
  • Rust層最小化99.8%削減: 99,406行 → 100-200行
  • Selfhost = 主要開発

合計タイムライン: 20週間約5ヶ月

  • Phase 31.3: 10週間本計画
  • Phase 15.76: 4週間
  • Phase 15.77: 6週間

📋 即座に開始可能なアクション

Action 1: コード品質分析15分

cd /home/tomoaki/git/hakorune-selfhost
bash docs/private/roadmap/phases/phase-31.3/quick_quality_check.sh

Action 2: TraceBox実装30分

mkdir -p selfhost/shared/trace
# → trace_box.hako実装QUICK_START.md参照

Action 3: Week 1計画レビュー10分

cat docs/private/roadmap/phases/phase-31.3/QUICK_START.md

📚 ドキュメント構成2,068行

ドキュメント 行数 サイズ 対象読者
SELFHOST_CLEANUP_PLAN.md 1,250 39KB PM/実装者 完全計画
QUICK_START.md 366 8.3KB 実装者 即座実行
README.md 234 6.6KB すべて 概要
INDEX.md 218 7.9KB すべて 索引
合計 2,068 62KB -

🎯 決定が必要な事項

即座の決定Week 1開始前

  1. Phase 31.3の承認10週間計画
  2. Week 1開始のGO判断TraceBox実装 + 品質分析)
  3. リソース確保実装者1名 × 10週間

計画中の決定Week 3開始前

  1. loopform設計レビューRust実装との差分確認
  2. Golden Test基準策定パリティ95%は適切か?)

後回し可能Week 6以降

  1. 🔄 リファクタリングのスコープ調整P1/P2の優先順位
  2. 🔄 ドキュメントの詳細度調整(実装ガイドの粒度)

🚀 推奨アクション

Phase 31.3を承認して即座に開始すべき理由:

  1. Phase 31完了の直後が最適知見が新鮮、Rust実装が参照可能
  2. Selfhost本流化の必須ステップPhase 15.76/15.77への橋渡し)
  3. 投資対効果が極めて高い2.5人月で世界レベルの保守性達成)
  4. リスクは管理可能段階的実装、週次レビュー、80/20ルール
  5. 基盤は完成済みHakorune VM 138%カバレッジ、@match-based dispatch完備

次のステップ(今日中に実施可能):

# 1. ドキュメント確認15分
cd /home/tomoaki/git/hakorune-selfhost
cat docs/private/roadmap/phases/phase-31.3/README.md
cat docs/private/roadmap/phases/phase-31.3/QUICK_START.md

# 2. コード品質分析15分
bash -c 'for file in selfhost/compiler/pipeline_v2/*.hako; do \
  lines=$(wc -l < "$file"); name=$(basename "$file"); echo "$lines $name"; \
done | sort -rn' > docs/private/roadmap/phases/phase-31.3/QUALITY_ANALYSIS_COMPILER.txt

# 3. Week 1開始TraceBox実装、30分
mkdir -p selfhost/shared/trace
# → trace_box.hako実装

📞 問い合わせ


Phase 31.3: Selfhost 綺麗綺麗計画 - 今すぐ始めましょう! 🚀

Hakoruneが世界に誇るセルフホストシステムになる第一歩です。