## 🎉 完了項目 - ✅ plugin_box_legacy.rs削除(7.7KB、参照ゼロ確認済み) - ✅ REMOVEDコメント整理(encode.rs簡潔化) - ✅ venv削除(143MB節約、.gitignoreは既存) - ✅ llvm_legacyスタブ化(8KB、compile_error!による安全化) ## 🏆 成果 - **リポジトリサイズ改善**: 151MB削減 - **コード整理**: レガシーコード安全にアーカイブ - **プラグインファースト**: StrictPluginFirst継続動作 ## ✅ 検証完了 - cargo build --release --features llvm (警告のみ、エラーなし) - LLVMハーネス実行: print出力正常 - プラグイン動作: StringBox等正常動作 codex先生の戦略に従った安全な段階的削除を実行 Co-Authored-By: codex <noreply@anthropic.com>
1.5 KiB
1.5 KiB
Smokes — How‑To(前提→手順→検証)
目的
- 代表スモークを素早く回して、回帰を検知する。
前提
- リリースビルド済み:
cargo build --release --features llvm - LLVM 18 が導入済み(AOT 経路のとき)
手順(推奨ランナー)
- LLVM curated
- 実行:
tools/smokes/curated_llvm.sh [--phi-off] - 既定は PHI-on(MIR14)で走るよ。
--phi-offを付けたときだけNYASH_MIR_NO_PHI=1をセットしてレガシー edge-copy モードへ切り替えるよ。
- 実行:
- PHI 不変条件パリティ
- 実行:
tools/smokes/curated_phi_invariants.sh - PyVM と llvmlite の stdout/exit code を比較
- 実行:
手動スモーク(例)
- Core (LLVM):
examples/llvm11_core_smoke.nyash - Async (LLVM only):
apps/tests/async-await-min/main.nyashapps/tests/async-spawn-instance/main.nyashapps/tests/async-await-timeout-fixed/main.nyash(NYASH_AWAIT_MAX_MS=100)
アーカイブ(非推奨)
tools/smokes/archive/に旧ランナー(JIT/Cranelift 時代)が存在smoke_phase_10_10.sh,smoke_vm_jit.sh,smoke_async_spawn.sh,jit_smoke.sh,aot_smoke_cranelift.sh- これらは基本使わず、curated 系を使用
便利フラグ
NYASH_LLVM_USE_HARNESS=1: llvmlite ハーネス経由NYASH_MIR_NO_PHI=1,NYASH_VERIFY_ALLOW_NO_PHI=1: レガシー PHI-off(edge-copy)モード。Phase‑15 では明示指定が必要だよ。
検証
- 0 で成功、非 0 で失敗(CI 連携可)