Omoikane開発日記 AIの検証待ちと承認待ちを整理した日
Rust製JavaScript EngineのBoaを使うOmoikaneで、bootstrapの時間を分解し、CIとWorkerの検証を進めた。cc-sakuraの承認UI、nayutaのseen解析、環境の容量不足まで、複数エージェント開発の一日を振り返る。
COLLECTION
Rust製JavaScript EngineのBoaを使うOmoikaneで、bootstrapの時間を分解し、CIとWorkerの検証を進めた。cc-sakuraの承認UI、nayutaのseen解析、環境の容量不足まで、複数エージェント開発の一日を振り返る。
Rust製JavaScript EngineのBoaを使うOmoikaneで、GC改善の比較、例外の寿命、テスト用サーバーの期限、CI容量不足を調査した。cc-sakuraで分担するAIにnayuta v0.4.0を配り、開発と解析ツールの改善がつながった一日を振り返る。
コーディングエージェントとの性能改善で調査の手がかりを得るため、Rustコードのループから計算量が増えやすい箇所を探すnayutaを作った。
OmoikaneのPR #1322で追加したDOM操作、HTML解析とSanitizer、例外・Promise rejection通知を詳解する。Rust製JavaScript EngineのBoaのPromise.finallyで起きたGC寿命不備、iframe遷移と文書の所有、コピー削減、局所計測と最終CI、残る課題まで追う。
自作のサンドボックスIzanagiにJevを使った行動分析を追加した。資格情報へのアクセス試行とHTTP POSTの相関、外部へ送る特徴量、Choice応答の検証、棄権と障害の扱い、実モデルとQEMUでの検証結果を説明する。
自作の開発用サンドボックスIzanagiでできることを説明する。コマンドの隔離実行、syscallの記録と検知、DNS・HTTPSの通信制御、シークレット置換、MCPからの操作を、現行実装と検証記録に沿って説明する。
Rust製JavaScript EngineのBoaで起きた、ephemeron経由の参照と世代別GCによる誤回収を解説する。WeakMapの値を保持する条件、固定点の計算、古い親から若い子への書き込み記録、major GC後に参照が失われた原因と回帰テストを追う。
OmoikaneのWPTで起きたSIGSEGVを調べると、Rust製JavaScript EngineのBoaのgetterが返した新しいオブジェクトが、VMレジスタへ入る前のinline cache更新で回収されていた。JITの切り分け、Valgrindでの確認、root修正と回帰テストを追う。
OmoikaneでJavaScript Realmを作るたび、約1.1MBのDOM bootstrapを解析・コンパイルしていた。キャッシュ案からRust製JavaScript EngineのBoaのscope検索と字句解析の改善へ方針を変えた経緯と、test profileでの実測を記録する。
AIを使った開発で作業量が増える一方、Rust製OmoikaneのCIはPRごとに長い待ち時間があった。文書変更の判定、Rustキャッシュ、WPT準備、連続pushを実測に基づいて見直した記録。