docs+runner+parser: SSOT+AST using finalized (legacy text inlining removed); provider verify reads nyash.toml; preflight warn hook; method-body guard removed; CURRENT_TASK updated for next JSON work

This commit is contained in:
Selfhosting Dev
2025-09-26 00:27:02 +09:00
parent d9f26d4549
commit 85084664c2
77 changed files with 1259 additions and 1026 deletions

View File

@ -1,32 +1,5 @@
# HTTP Result Patterns (VM×Plugins)
# Moved: HTTP Result Patterns
目的: NetプラグインHTTPの戻り値モデルをVM視点で明確化します。E2Eの実行方法と、典型ケースでのResultの形をまとめます
このドキュメントは再編により移動しました
新しい場所: [../guides/examples/http_result_patterns.md](../guides/examples/http_result_patterns.md)
## 実行方法(代表)
```bash
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
```
## 戻り値モデル
- unreachable接続不可/タイムアウト等): `Result.Err(ErrorBox)`
- ErrorBoxには原因メッセージ例: "connection refused", "timeout")が入ります。
- HTTPステータス 404/500 等: `Result.Ok(Response)`
- `response.status` が 404/500 を保持し、ボディやヘッダーは `response.body`, `response.headers` に格納されます。
## 使い分けの意図
- ネットワーク層の到達不能transportは「例外的」な失敗としてErr。
- アプリ層のHTTPステータスは「通常の結果」としてOkに包む分岐の簡潔化・情報保持
## Tips
- デバッグ
- `NYASH_NET_LOG=1 NYASH_NET_LOG_FILE=net_plugin.log` でNetプラグインの内部ログを記録。
- `NYASH_DEBUG_PLUGIN=1` で VM→Plugin のTLV先頭情報をダンプ。
- 計測
- `--vm-stats`/`--vm-stats-json` で命令プロファイルを取得し、BoxCallやNewBoxのホット度を把握。
関連ドキュメント
- `docs/reference/architecture/mir-to-vm-mapping.md`Result/Handleの取り扱い
- `docs/VM_README.md`VM統計・既知の制約