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

@ -0,0 +1,53 @@
const WebSocket = require('ws');
// 優先順: CODEX_HOOK_SERVER -> HOOK_SERVER_PORT -> 8770
function resolveControlUrl() {
const fromEnv = process.env.CODEX_HOOK_SERVER;
if (fromEnv) {
try {
const u = new URL(fromEnv);
// 制御チャネルは /control を使う
u.pathname = '/control';
return u.toString();
} catch {}
}
const port = process.env.HOOK_SERVER_PORT || '8770';
return `ws://localhost:${port}/control`;
}
const controlUrl = resolveControlUrl();
console.log(`🔌 Connecting to hook control: ${controlUrl}`);
const ws = new WebSocket(controlUrl);
ws.on('open', () => {
console.log('✅ Connected! Injecting greeting...');
// Codexへ入力を注入hook-serverのcontrol API
ws.send(JSON.stringify({
op: 'inject',
data: 'こんにちはCodexさんNyashプロジェクトから挨拶にゃ〜🐱 JITの調子はどうにゃ'
}));
// ついでにステータス確認
ws.send(JSON.stringify({ op: 'status' }));
});
ws.on('message', (data) => {
const msg = JSON.parse(data.toString());
console.log('📨 Received:', msg);
});
ws.on('error', (err) => {
console.error('❌ Error:', err.message);
});
ws.on('close', () => {
console.log('👋 Connection closed');
});
// 30秒後に終了
setTimeout(() => {
console.log('⏰ Timeout - closing connection');
try { ws.close(); } catch {}
process.exit(0);
}, 30000);