Files
hakorune/docs/development/current/CURRENT_TASK.md
Moe Charm 70af0fe566 feat: Add HTTP status tests and dynamic plugin documentation
- Add e2e_vm_http_status_404/500 tests to verify HTTP status handling
- ResultBox properly returns Ok(Response) for HTTP errors, Err for connection failures
- Create dynamic-plugin-flow.md documenting MIR→VM→Registry→Plugin flow
- Add vm-stats test files for HTTP 404/500 status codes
- Update net-plugin.md with HTTP error handling clarification
- Create E2E_TESTS.md documenting all E2E test behaviors
- Add mir-26-instruction-diet.md for MIR optimization plans
- Add vm-stats-cookbook.md for VM statistics usage guide
- Update MIR verifier to properly track self-assignment patterns

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-23 16:33:32 +09:00

3.0 KiB
Raw Blame History

🎯 CURRENT TASK - 2025年8月23日刷新

直近の完了

  1. ドキュメント再編成の完了(構造刷新)
  2. VM×プラグインのE2E整備FileBox/Net
    • FileBox: open/write/read, copyFrom(handle)VM
    • Net: GET/POSTVM、404/500Ok(Response)、unreachableErr(ErrorBox)
  3. VM命令カウンタ時間計測のCLI化--vm-stats, --vm-stats-jsonとJSON出力対応
    • サンプル/スクリプト整備tools/run_vm_stats.sh、local_tests/vm_stats_*.nyash
  4. MIR if-merge 修正retがphi dstを返す Verifier強化mergeでのphi未使用検知
  5. ドキュメント追加・更新
    • Dynamic Plugin FlowMIR→VM→Registry→Loader→Plugin
    • Netプラグインのエラーモデルunreachable=Err, 404/500=Ok
    • E2Eテスト一覧整備
  6. CI: plugins E2E ジョブLinuxを追加

🚧 次にやること(再開方針)

  1. MIR→VMの健全化短期・最優先
  • マッピング表更新Err経路・Handle戻り・Result整合を実測で反映
  • Verifierルールの拡充use-before-def across merge を強化)
  • 成果物: docs/reference/architecture/mir-to-vm-mapping.md(更新済・追補)
  1. VM×プラグインシステムのE2E検証短期
  • FileBox/Netを中心にケース拡張大きいボディ、ヘッダー多数、タイムアウト等
  • 成果物: E2E追補VM_README.md に既知の制約とTipsを追記
  1. 命令セットのダイエット中期目標26命令
  • 実測HTTP OK/404/500/unreachable、FileBoxを反映して合意版を確定
  • 統合方針TypeOp/WeakRef/Barrierの統合、ExternCall最小化
  • 段階移行(ビルドモードでメタ降格、互換エイリアス→削除)と回帰テスト整備
  • 成果物: 26命令案合意版移行計画

▶ 実行コマンド例

計測実行:

tools/run_vm_stats.sh local_tests/vm_stats_http_ok.nyash vm_stats_ok.json
tools/run_vm_stats.sh local_tests/vm_stats_http_err.nyash vm_stats_err.json
tools/run_vm_stats.sh local_tests/vm_stats_http_404.nyash vm_stats_404.json
tools/run_vm_stats.sh local_tests/vm_stats_http_500.nyash vm_stats_500.json

VM×プラグインE2E:

cargo test -q --features plugins e2e_interpreter_plugin_filebox_close_void
cargo test -q --features plugins e2e_vm_plugin_filebox_close_void

MIRダンプ/検証:

nyash --dump-mir --mir-verbose examples/plugin_box_sample.nyash
nyash --verify examples/plugin_box_sample.nyash

🔭 26命令ターゲット合意ドラフト

  • コア: Const / Copy / Load / Store / BinOp / UnaryOp / Compare / Jump / Branch / Phi / Return / Call / BoxCall / NewBox / ArrayGet / ArraySet / RefNew / RefGet / RefSet / Await / Print / ExternCall(最小) / TypeOp(=TypeCheck/Cast統合) / WeakRef(=WeakNew/WeakLoad統合) / Barrier(=Read/Write統合)
  • メタ降格: Debug / Nop / Safepointビルドモードで制御

最終更新: 2025年8月23日VM×Plugins安定・MIR修正・26命令合意ドラフトへ