Files
hakorune/docs/private/roadmap/phases/phase-15.77/README.md

339 lines
9.4 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 15.77 - 凍結EXE確定フェーズ
**期間**: 2025-11-09 - 2025-12-206週間
**状態**: 🔜 Phase 15.76完了後開始
---
## 🎯 このフェーズで実現すること
**凍結EXEhako-frozen-v1.exe確定 + Rust層最小化**
1. **凍結EXE作成**: hako-frozen-v1.exe ビルド・タグ付け・配布
2. **Rust層最小化**: 99,406行 → 100-200行VM実行エンジンのみ
3. **単一パーサ体制**: Hakoruneパーサーのみ開発Rust凍結
4. **安全な試行錯誤**: いつでも凍結EXEに戻れる基盤確立
---
## 💡 このフェーズの位置づけ
### Phase 15.76で確立した「背骨」を使って実際に凍結
```
Phase 15.76(背骨確立)
├── extern_c構文実装 ✅
├── LLVM Backendプラグイン化 ✅
└── AOT導線整備MIR JSON→.o→EXE
Phase 15.77(凍結実行)← 今ここ
├── 凍結EXE作成・配布
├── Rust層最小化実行
└── 単一パーサ体制確立
Phase 15.78〜脱Rust加速
└── Hakoruneパーサー完全実装
```
---
## 🎯 成功基準DoD
### 1⃣ 凍結EXE確定
#### ビルド・動作確認
- [ ] `hako-frozen-v1.exe` ビルド成功Linux/macOS/Windows
- [ ] 170 PASS維持quick-selfhost
- [ ] AOT導線動作確認MIR JSON→.o→EXE
#### タグ付け・配布
- [ ] Git tag作成`v1.0.0-frozen`
- [ ] 配布物生成(`hako-frozen-v1-linux-x64.tar.gz`等)
- [ ] README/LICENSE同梱
- [ ] SHA256チェックサム生成
#### 配布先
```
releases/
├── v1.0.0-frozen/
│ ├── hako-frozen-v1-linux-x64.tar.gz
│ ├── hako-frozen-v1-macos-arm64.tar.gz
│ ├── hako-frozen-v1-windows-x64.zip
│ ├── SHA256SUMS.txt
│ └── INSTALL.md
```
### 2⃣ Rust層最小化
#### 目標
```
現状: 99,406行Phase 15.75開始時)
削減: 89.5%
目標: 100-200行VM実行エンジンのみ
```
#### 段階的削減計画
```rust
// Week 1-2: Parser削除凍結EXE内のみ残す
src/front/parser_layer/ 削除(凍結EXE経由
src/front/ast/ 削除(MIR直接生成へ
// Week 3-4: MIR Builder削除Hakorune実装へ
src/backend/mir_builder/ 削除(Hakorune実装使用
// 残すもの100-200行
src/backend/mir_interpreter/ 残す(VM実行エンジン
src/runtime/ffi/ 残す(extern_c基盤
src/main.rs 残す(エントリーポイント)
```
### 3⃣ 単一パーサ体制確立
#### Hakoruneパーサーをデフォルトへ
- [ ] `apps/selfhost-compiler/` をデフォルト呼び出し
- [ ] Rustパーサーは凍結EXE内のみ緊急時用
- [ ] スモークテスト全緑Hakoruneパーサー使用
#### 2重メンテ回避
```
BeforePhase 15.76以前):
├── Rustパーサー開発中
└── Hakoruneパーサー開発中← 2重メンテ地獄
AfterPhase 15.77:
├── Rustパーサー凍結、緊急時のみ
└── Hakoruneパーサー開発中← 単一開発ライン
```
### 4⃣ ドキュメント整備
#### 使用ガイド
- [ ] `docs/guides/frozen-toolchain-usage.md` - 凍結EXE使用方法
- [ ] `docs/guides/rust-minimization.md` - Rust最小化手順
- [ ] `INSTALL.md` - 配布物インストールガイド
#### 運用マニュアル
- [ ] 凍結EXEへの戻り方
- [ ] トラブルシューティング
- [ ] FAQよくある質問
---
## 📊 週次計画Week 1-6
### Week 12025-11-09 - 11-15凍結EXE作成
**目標**: hako-frozen-v1.exe ビルド・動作確認
#### タスク
- [ ] Phase 15.76の成果物確認extern_c/AOT導線
- [ ] ビルド設定整備Cargo.toml, build.rs
- [ ] クロスコンパイル設定Linux/macOS/Windows
- [ ] 動作確認quick-selfhost 170 PASS
#### 成果物
```bash
./hako-frozen-v1 --version
# Hakorune v1.0.0-frozen (2025-11-15)
./hako-frozen-v1 program.hako
# OK (VM実行)
./hako-frozen-v1 --backend llvm program.hako
# OK (LLVM AOT)
```
### Week 22025-11-16 - 11-22タグ付け・配布物生成
**目標**: Git tag作成・配布物公開
#### タスク
- [ ] Git tag作成`v1.0.0-frozen`
- [ ] 配布物生成スクリプト作成
- [ ] SHA256チェックサム生成
- [ ] INSTALL.md作成
#### 成果物
```
releases/v1.0.0-frozen/
├── hako-frozen-v1-linux-x64.tar.gz (12MB)
├── hako-frozen-v1-macos-arm64.tar.gz (10MB)
├── hako-frozen-v1-windows-x64.zip (15MB)
├── SHA256SUMS.txt
└── INSTALL.md
```
### Week 32025-11-23 - 11-29Rust Parser削除
**目標**: Parser削除、凍結EXE経由に切り替え
#### タスク
- [ ] `src/front/parser_layer/` 削除準備
- [ ] 凍結EXE経由のParser呼び出し実装
- [ ] AST→MIR直接生成経路確立
- [ ] スモークテスト修正Parser経路変更
#### 削減予想
```
Before: 99,406行
After: ~50,000行Parser削除、約50%削減)
```
### Week 42025-11-30 - 12-06MIR Builder削除準備
**目標**: MIR Builder Hakorune実装へ移行開始
#### タスク
- [ ] `apps/selfhost-compiler/mir_builder/` 検証
- [ ] Rust MIR Builder削除可能性確認
- [ ] ブリッジ層実装Hakorune→Rust
- [ ] 並行動作確認Rust/Hakorune両方
#### 削減予想
```
Before: ~50,000行
After: ~5,000行MIR Builder削除、約90%削減)
```
### Week 52025-12-07 - 12-13Hakoruneパーサー移行
**目標**: Hakoruneパーサーをデフォルトへ
#### タスク
- [ ] `apps/selfhost-compiler/` をデフォルト呼び出し
- [ ] Rustパーサーを緊急時用に格下げ
- [ ] スモークテスト全緑確認Hakorune使用
- [ ] パフォーマンス計測Rust vs Hakorune
#### 期待結果
```bash
# デフォルト: Hakoruneパーサー
./hako program.hako # Hakorune経由
# 緊急時: Rustパーサー凍結EXE内
./hako --fallback-rust-parser program.hako # Rust経由
```
### Week 62025-12-14 - 12-20ドキュメント・レビュー
**目標**: ドキュメント整備・統合テスト
#### タスク
- [ ] 凍結EXE使用ガイド作成
- [ ] Rust最小化手順書作成
- [ ] トラブルシューティングFAQ作成
- [ ] 統合テストquick-selfhost 全緑)
- [ ] ChatGPT/Claudeレビュー
#### 成果物
```
docs/guides/
├── frozen-toolchain-usage.md # 使用方法
├── rust-minimization.md # 最小化手順
└── frozen-toolchain-faq.md # FAQ
docs/private/roadmap/phases/phase-15.77/
├── README.md # Phase概要
├── MILESTONE.md # ゴールライン
├── RUST_MINIMIZATION_PLAN.md # 最小化計画
└── COMPLETION_REPORT.md # 完了報告
```
---
## ❌ Out of Scopeこのフェーズではやらない
### 完全なRust削除
- VM実行エンジンは残す100-200行
- 理由: VM安定性・パフォーマンス
### Hakoruneパーサー完全実装
- 段階的移行(並行動作期間あり)
- 理由: 安全な移行を優先
### プロダクション配布
- まだ実験段階v1.0.0-frozen
- 理由: Phase 15.78以降で安定化
### Windows完全サポート
- Linux/macOS優先
- 理由: 開発環境がLinux/WSL中心
---
## 🚀 次のフェーズPhase 15.78〜)
### Phase 15.78: Hakoruneパーサー完全実装
- 全構文サポートmacro/async/await等
- Rustパーサーとの完全パリティ
- パフォーマンス最適化
### Phase 15.79: 完全な脱Rust
- VM実行エンジンもHakorune実装へ
- Rust層完全削除0行
- Pure Hakorune達成
### Phase 15.80: プロダクション化
- v2.0.0リリース
- 安定性・セキュリティ監査
- 公式配布開始
---
## ⚠️ リスク & 対策
### リスク1: 凍結EXEのサイズ
**問題**: 静的リンクで15MB超の可能性
**対策**: 動的リンク検討、圧縮配布
### リスク2: クロスコンパイル失敗
**問題**: Windows/macOSビルドが難しい
**対策**: Linux優先、他環境は次フェーズ
### リスク3: Rust削除時の不安定化
**問題**: 削除作業でテスト失敗増加
**対策**: 段階的削除、各段階でテスト確認
### リスク4: Hakoruneパーサーの未熟
**問題**: Rustパーサーと完全パリティ未達
**対策**: 並行動作期間を長く取る、Rustフォールバック維持
---
## 📚 関連リソース
### 前フェーズ
- [Phase 15.76 - extern_c & Frozen Toolchain](../phase-15.76/)
- [Phase 15.75 - 脱Rust大作戦](../phase-15.75/)
### 論文資料
- [Rapid Self-Hosting Paper](../../../../private/papers-active/rapid-selfhost-ai-collaboration/)
- [Frozen Toolchain Pattern Evidence](../../../../private/papers-active/rapid-selfhost-ai-collaboration/03_DATA_ANALYSIS.md)
### 業界標準パターン
- **Rust**: stage0凍結ツールチェーン
- **Go**: Go 1.4 frozenbootstrap用
- **OCaml**: ocamlc frozen自己ホスト用
---
## 💬 開発体制
### 実装担当
- **ChatGPT**: Rust削除・Hakorune実装主導
- **Claude**: レビュー・ドキュメント整備
- **tomoaki**: 戦略判断・方向決定
### レビュー方針
- 各Week終了時にレビュー
- 170 PASS維持を最優先
- 問題発生時は即座に凍結EXEへロールバック
---
**作成日**: 2025-10-14
**Phase開始予定**: 2025-11-09Phase 15.76完了後)
**想定期間**: 6週間