feat: スモークテストv2実装&Phase 15.5後のプラグイン対応

Phase 15.5 Core Box削除後の新テストシステム構築:

## 実装内容
- スモークテストv2システム完全実装(3段階プロファイル)
- 共通ライブラリ(test_runner/plugin_manager/result_checker/preflight)
- インタープリター層完全削除(約350行)
- PyVM重要インフラ特化保持戦略(JSON v0ブリッジ専用)
- nyash.tomlパス修正(13箇所、プラグイン正常ロード確認)

## 動作確認済み
- 基本算術演算(+, -, *, /)
- 制御構文(if, loop, break, continue)
- 変数代入とスコープ
- プラグインロード(20個の.soファイル)

## 既知の問題
- StringBox/IntegerBoxメソッドが動作しない
  - オブジェクト生成は成功するがメソッド呼び出しでエラー
  - Phase 15.5影響でプラグイン実装が不完全な可能性

## ドキュメント
- docs/development/testing/smoke-tests-v2.md 作成
- docs/reference/pyvm-usage-guidelines.md 作成
- CODEX_QUESTION.md(Codex相談用)作成

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Selfhosting Dev
2025-09-24 09:30:42 +09:00
parent 8bbc30509c
commit 73b90a7c28
55 changed files with 3977 additions and 679 deletions

View File

@ -141,18 +141,6 @@ pub(crate) fn execute_file_with_backend(runner: &NyashRunner, filename: &str) {
super::modes::pyvm::execute_pyvm_only(runner, filename);
}
}
"interpreter" => {
eprintln!("⚠ interpreter backend is legacy and deprecated. Use 'vm' (PyVM/LLVM) instead.");
#[cfg(feature = "vm-legacy")]
{
runner.execute_vm_mode(filename);
}
#[cfg(not(feature = "vm-legacy"))]
{
// Legacy VM disabled; route to PyVM-only runner
super::modes::pyvm::execute_pyvm_only(runner, filename);
}
}
#[cfg(feature = "cranelift-jit")]
"jit-direct" => {
crate::cli_v!("⚡ Nyash JIT-Direct Backend - Executing file: {} ⚡", filename);
@ -172,7 +160,7 @@ pub(crate) fn execute_file_with_backend(runner: &NyashRunner, filename: &str) {
runner.execute_llvm_mode(filename);
}
other => {
eprintln!("❌ Unknown backend: {}. Use 'vm' or 'llvm' (or 'interpreter' legacy).", other);
eprintln!("❌ Unknown backend: {}. Use 'vm' or 'llvm'.", other);
std::process::exit(2);
}
}