Phase A cleanup - Safe deletions with zero risk: ## Deleted Files (6 files, 373 lines total) 1. Cranelift/JIT Backend (321 lines): - src/runner/modes/cranelift.rs (45 lines) - src/runner/modes/aot.rs (55 lines) - src/runner/jit_direct.rs (152 lines) - src/tests/core13_smoke_jit.rs (42 lines) - src/tests/core13_smoke_jit_map.rs (27 lines) 2. Legacy MIR Builder (52 lines): - src/mir/builder/exprs_legacy.rs - Functionality inlined into exprs.rs (control flow constructs) ## Module Reference Cleanup - src/backend/mod.rs: Removed cranelift feature gate exports - src/runner/mod.rs: Removed jit_direct module reference - src/runner/modes/mod.rs: Removed aot module reference - src/mir/builder.rs: Removed exprs_legacy module ## Impact Analysis - Build: Success (cargo build --release) - Tests: All passing - Risk Level: None (feature already archived, code unused) - Related: Phase 15 JIT archival (archive/jit-cranelift/) ## BID Copilot Status - Already removed in previous cleanup - Not part of this commit Total Reduction: 373 lines (~0.4% of codebase) Next: Phase B - Dead code investigation Related: #phase-21.0-cleanup Part of: Legacy Code Cleanup Initiative
6.8 KiB
6.8 KiB
レガシーコード削除プロジェクト
調査日: 2025-11-06 Phase: 20.46完了後 目的: Phase 21.0に向けたコードベース整理
📚 ドキュメント構成
1. レガシーコード調査レポート ⭐ メインレポート
内容: 包括的な調査結果・削減見込み・段階的削除計画
- カテゴリ別詳細分析 (8カテゴリ)
- 削減見込みサマリー (約5,600〜8,900行)
- 段階的削除計画 (Phase A/B/C)
- リスク評価 (Safe / Investigate / Risky)
読者: プロジェクトマネージャー、意思決定者
2. クイック削除ガイド ⚡ 実行マニュアル
内容: 今すぐ実行可能なSafe削除手順
- コピペ可能なコマンド
- 手動編集箇所の詳細
- ビルド確認手順
- トラブルシューティング
読者: 開発者 (実行担当者)
3. 詳細ファイルリスト 📋 リファレンス
内容: ファイル別・行数別の完全リスト
- Safe削除ファイル一覧 (25+ ファイル, ~3,900行)
- Investigateファイル一覧 (7+ ファイル, ~2,200行)
- Riskyファイル一覧 (18 ファイル, ~3,434行)
- 削除優先順位
読者: 開発者 (詳細確認用)
🎯 クイックスタート
今すぐ削除したい場合
👉 クイック削除ガイド を参照
約10分で約3,900行削除可能 (リスク無し)
全体像を把握したい場合
👉 レガシーコード調査レポート を参照
調査結果・削減見込み・段階的計画の全体像
個別ファイルを確認したい場合
👉 詳細ファイルリスト を参照
ファイル別・カテゴリ別の完全リスト
📊 削減見込みサマリー
| フェーズ | 対象 | 削減行数 | リスク | 実施時期 |
|---|---|---|---|---|
| Phase A | Safe削除 | 約3,900行 | 無し | 今すぐ |
| Phase B | Investigate | 約2,200行 | 低 | 1週間以内 |
| Phase C | Risky | 約3,400行 | 中 | Phase 16以降 |
| 合計 | - | 約9,500行 | - | - |
🚀 削除実行フロー
Step 1: Safe削除 (今すぐ)
# クイック削除ガイドを参照
cd /home/tomoaki/git/hakorune-selfhost
cat docs/development/cleanup/QUICK_CLEANUP_GUIDE.md
# コマンドをコピペして実行
# 約10分で完了
削減: 約3,900行 リスク: 無し
Step 2: Investigate (1週間以内)
2-1. JSON v1 Bridge調査
# 使用状況確認
grep -r "json_v1_bridge\|try_parse_v1_to_module" src --include="*.rs"
grep -r "schema_version.*1" apps --include="*.json"
判断基準: 使用されていない → 削除 or アーカイブ
2-2. Legacy Tests整理
# cranelift依存テスト確認
find src/tests -name "*.rs" -exec grep -l "cfg.*cranelift" {} \;
判断基準: VM/LLVM比較として有用? → 分割 or 削除
2-3. Parser Dead Code削除
# 各関数の使用状況確認
grep -r "unknown_span" src --include="*.rs" | grep -v "def\|fn "
判断基準: 未使用 → 削除
Step 3: Risky (Phase 16以降)
3-1. WASM Backend評価
# 動作確認
cargo build --release --features wasm-backend
./target/release/nyash --backend wasm test.hako
判断基準: 動作しない → アーカイブ
3-2. Builtin Box移行
Phase 15.5-B完了後、プラグイン移行戦略に従う
判断基準: Plugin完成 → Builtin削除
✅ 実行チェックリスト
Phase A: Safe削除
- Cranelift/JITファイル削除完了
- BID Copilotアーカイブ完了
- Dead Code削除完了
cargo build --release成功cargo test全テストパス./tools/smokes/v2/run.sh --profile quickパス- Git commit & push完了
コミットメッセージ例:
chore: Remove legacy Cranelift/JIT code and BID Copilot prototype
- Remove Cranelift/JIT backend (archived in Phase 15)
- Archive BID Copilot modules (unused prototype)
- Delete dead code (明確に未使用なコード)
- Total reduction: ~3,900 lines (~4%)
Refs: docs/development/cleanup/LEGACY_CODE_INVESTIGATION_REPORT.md
Phase B: Investigate
- JSON v1 Bridge調査完了
- Legacy Tests整理完了
- Parser Dead Code確認完了
- 削除判断・実行完了
- テスト確認完了
Phase C: Risky
- WASM Backend動作確認完了
- Phase 21.0戦略確認完了
- Builtin Box移行計画確定
- 段階的削除実施完了
📈 進捗トラッキング
現在の状態 (2025-11-06)
- ✅ 調査完了 (3ドキュメント作成)
- ⏳ Phase A実行待ち (約3,900行削減)
- ⏳ Phase B調査待ち (約2,200行削減)
- ⏳ Phase C戦略待ち (約3,400行削減)
目標
- Phase A: 2025-11-07までに完了
- Phase B: 2025-11-14までに完了
- Phase C: Phase 16開始時に実施
🔍 関連ドキュメント
プロジェクト全体
- CURRENT_TASK.md - 現在のタスク
- 00_MASTER_ROADMAP.md - マスタープラン
過去の削除実績
- CLEANUP_REPORT_2025-11-04.md - 前回の削除実績
- PHASE2_REPORT_2025-11-04.md - Phase 2削除
📝 備考
なぜ今削除するのか?
- Phase 20.46完了: 開発の区切りが良い
- Phase 21.0準備: 次フェーズに集中するため
- 保守性向上: レガシーコード除去で可読性向上
- AI協働効率化: 不要コードがAIを混乱させる
なぜ段階的なのか?
- リスク管理: 一度に削除すると問題発見が困難
- テスト実施: 各段階で動作確認
- ロールバック容易性: 問題があれば即座に戻せる
Archive vs 削除
- Archive推奨: 将来的に再利用可能性あり
- 完全削除: 明確に不要・復活の可能性なし
🆘 問題が発生した場合
ビルドエラー
# 変更を戻す
git restore .
git clean -fd
# 詳細レポート確認
cat docs/development/cleanup/LEGACY_CODE_INVESTIGATION_REPORT.md
テスト失敗
- 削除したファイルが実際に使用されている
- 詳細リストの「Investigate」セクションを確認
- 必要に応じてファイル復元
質問・相談
- Claude Code に相談
- ChatGPT に実装依頼
- ドキュメントを再確認
作成者: Claude Code 最終更新: 2025-11-06 次のアクション: Phase A実行推奨 (クイック削除ガイド参照)