AI協調開発研究ドキュメントの完成と Phase 10.9-β 進捗

【AI協調開発研究】
- AI二重化モデルの学術論文draft完成(workshop_paper_draft.md)
- 「隠れた危機」分析とbirthの原則哲学化
- TyEnv「唯一の真実」協調会話を保存・研究資料に統合
- papers管理構造の整備(wip/under-review/published分離)

【Phase 10.9-β HostCall進捗】
- JitConfigBox: relax_numeric フラグ追加(i64→f64コアーション制御)
- HostcallRegistryBox: 署名検証・白黒リスト・コアーション対応
- JitHostcallRegistryBox: Nyash側レジストリ操作API
- Lower統合: env直読 → jit::config::current() 参照に統一
- 数値緩和設定: NYASH_JIT_HOSTCALL_RELAX_NUMERIC/Config.set_flag

【検証サンプル拡充】
- math.sin/cos/abs/min/max 関数スタイル(examples/jit_math_function_style_*.nyash)
- 境界ケース: 署名不一致・コアーション許可・mutating拒否サンプル
- E2E実証: String.length→allow, Array.push→fallback, math関数の署名一致観測

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Moe Charm
2025-08-28 12:09:09 +09:00
parent e54561e69f
commit 4e1b595796
133 changed files with 14202 additions and 622 deletions

View File

@ -307,3 +307,32 @@ NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 ./target/release/nyash --backend vm examp
- ハンドル表PoCu64→Arc<Box>でローカルnew値もHostCall対象に
- 型拡張(整数以外、文字列キーなど)
- BoxCallカバレッジ拡張とデオプ/フォールバック強化
- 10.9-β 進捗チェックポイント2025-08-28-夜)
- 完了: Policy/Events α(既存)/ Registry v0最小/ HostcallRegistryBox 追加
- 接続: ハンドル系HostCallに `registry + policy + events` を暫定接続mutatingはfallback、ROはallowログ
- Lower: `NYASH_JIT_HOSTCALL``jit::config::current().hostcall` に置換env直読の排除
- E2E追加サンプル:
- 成功: `examples/jit_hostcall_len_string.nyash`String.length → allow
- 失敗: `examples/jit_hostcall_array_append.nyash`Array.push → fallback
- 境界: `examples/jit_hostcall_math_sin_mismatch.nyash`math.sinにi64 → sig_mismatch相当のfallbackイベント
- 次: Registryに署名args/retを持たせ、唯一の切替点で `sig_mismatch` を厳密化math.* のROブリッジ薄接続
### ⚠️ リカバリ/再起動チェックリスト(短縮)
- ビルド: `cargo build --release --features cranelift-jit`
- 主要フラグ:
- `NYASH_JIT_EXEC=1`JIT実行有効
- `NYASH_JIT_THRESHOLD=1`即JIT
- `NYASH_JIT_EVENTS=1`JSONLイベント標準出力
- (任意)`NYASH_JIT_EVENTS_PATH=target/nyash/jit-events.jsonl`
- 代表サンプル:
- 成功: `./target/release/nyash --backend vm examples/jit_hostcall_len_string.nyash`
- 失敗: `NYASH_JIT_EVENTS=1 ./target/release/nyash --backend vm examples/jit_hostcall_array_append.nyash`
- 境界: `NYASH_JIT_EVENTS=1 ./target/release/nyash --backend vm examples/jit_hostcall_math_sin_mismatch.nyash`
- 署名一致(allow観測): `NYASH_JIT_EVENTS=1 ./target/release/nyash --backend vm examples/jit_hostcall_math_sin_allow_float.nyash`
- 関数スタイル(math.*): `NYASH_JIT_NATIVE_F64=1 NYASH_JIT_EVENTS=1 ./target/release/nyash --backend vm examples/jit_math_function_style_sin_float.nyash`
- 追加: `cos/abs/min/max` それぞれ `examples/jit_math_function_style_*.nyash`
- うまく動かない時:
- `--features cranelift-jit` が付いているか確認
- `NYASH_JIT_EVENTS=1` でイベントJSONを確認fallback/trap理由が出る
- `cargo clean -p nyash-rust` → 再ビルド
- 数値緩和: `NYASH_JIT_HOSTCALL_RELAX_NUMERIC=1` で i64→f64 のコアーションを許容(既定は `native_f64=1` 時に有効)