5分

週⁠次⁠開⁠発⁠ロ⁠グ 2026‑W35: Agent Taskを再開・共有・検証できる仕事へ

  • 週次開発ログ
  • バイブコーディング
  • セルフホストAI
  • 2026-W35
作業再開のチェックポイント、分離された読み取り専用の成果物共有、ツールの状態計測を示すW35開発ログのイラスト。2026-09-05に開発ログの内容をもとに生成したもので、実際の製品画面ではありません。

SHIPPED / EVIDENCE

今週のOpenMake

8月24日から30日までにGitHub mainへ81コミットが積み上がり、1.33.0・1.33.1・1.34.0の3つのリリースが出ました。前週が機能の範囲を広げた週だったとすれば、今週はAgent Taskを復旧し、読み、共有する境界を明確にしました。ローカル作業を再開し、結果・進行ログ・変更分を再表示できるようにし、共有成果物は隔離オリジンのビューアで開き、1ターン内の読み取り専用ツール呼び出しは並列実行します。週の後半にはツールがどれだけ失敗しているかを分母のある指標で見始め、繰り返し失敗する外部ツールを遮断するサーキットを既定オフで用意しました。同時に、拡張機能とMCPの境界を強化し、モックだけだった管理画面を除き、期限切れセッションが無効なトークンを永遠にポーリングしないようにし、作業workspaceとログを消える/tmpの外の永続パスへ移しました。

期間
2026-08-24 – 2026-08-30
Gitコミット
81
根拠
Git履歴

01

開発状況

  • Agent Taskに継続性が入りました。openmake-codeでタスク一覧を確認し、ローカル作業を再開し、結果・進行ログ・変更分を再表示できます。再起動後にqueuedタスクが孤児にならず、再開に成功したタスクへ以前の失敗理由が残りません。判定側も見直しました。goalに書かれた番号付き手順を初期計画として植えることでplanプロトコルのエラーをなくし、judgeには提出成果物を併せて渡してシャドー標本が汚れないようにし、アーティファクトのある完了にも判定だけを記録するようシャドーを広げました。goal judgeの理由は保存され、証拠画面からはterminateやplanのような制御用ステップを除いています。
  • 共有はサーバー・Web・CLIを結ぶ明示的な読み取り専用経路になりました。共有タスクの成果物は隔離オリジンのビューアで開き、CLIとWebから同じタスクを確認できますが、共有画面を別の実行経路にはしていません。
  • 実行ループの可観測性と効率を同時に高めました。Chat・Agent Task・サブエージェントで1ターンに発生する読み取り専用ツール呼び出しを並列実行し、local-bridgeのwrite結果にはtscまたはpy_compileの診断を先に添付し、サブエージェントの活動と委譲採用率のシャドー指標を記録します。ツールの可観測性には分母が入りました。エラー件数トップ10の画面の隣に、監査記録に基づくツールヘルス表を置き、呼び出し数・失敗率・失敗原因・p50をChatとAgent Taskの両方でまとめて見ます。673回呼んで7回失敗したツールと、6回呼んで5回失敗したツールが混ざっていた問題はここで分かれます。繰り返し失敗する外部ツールは露出から外して実行も拒否するサーキットを付けましたが既定はオフで、存在しないツール名を呼ぶと訂正候補を返します。
  • 拡張機能とMCPはドラフトから制御された導入フローへ進みました。外部スキル・プラグインをOpenMake向けに適応する段階を設け、プラグインバンドルはGitHubではなくこのデプロイのギャラリーへ公開し、draftスキルはまとめて承認・拒否できます。カタログ判定とインストールは1つの関数へまとめ、上流のplugin.json規格をそのまま受け入れるようにし、gitのシンボリックリンク越しのSKILL.mdは判定とインストール検出から除外しました。MCPサーバーは削除せず無効化でき、リモートMCPログインはAuthorization Code + PKCEと動的登録を使い、拡張から引き継いだenvのプレースホルダーは値の入力を受け取り、シークレットとして暗号化して保存します。クライアントは@modelcontextprotocol/client v2へ移行しました(Phase 1、legacyネゴシエーションを固定)。グローバルregistryの所有権、draftサーバーの自動接続、コネクターのエラー表示、残っていたsearxngブリッジ参照も整理しました。
  • Webの表面は誤解を招きにくくなりました。動作を重複させていたモード自動発動トグル4つを削除し、管理者ルートにはroleガードを置いてモックデータへのフォールバックをなくしました。コネクター表の列は崩れず、セッションが期限切れになるとstoreをゲストへ戻して承認バッジのポーリングが無効なトークンを打ち続けないようにしました。
  • 境界の小さな不具合もまとめて扱いました。構造化JSONのパースと長文経路を強化し、スラッシュで呼ぶスキルは質問の言語を保ち、事前検索やURL分析へ流れません。割り当てたスキルが注入されない二重の不具合はmanifestの同時生成とバックフィルで塞ぎ、明示的な割り当てはカテゴリーに関係なく通るようにし、注入のdedupeをSQLへ下ろし、最新バージョンの選択を辞書順MAXからsemverのソートキーへ変えました。スキルの使用イベントはskill_audit_logに残り、要約APIで参照します。言語を指定しないweb_search呼び出しはクエリから言語を検出し、韓国語ではNaver・Daum providerを復元し、プロキシ配下のレートリミッターはカウンターを正しく共有して無関係な429をなくしました。
  • 週の初日の未明に前週の構造化出力の作業を仕上げ、スキーマをOpenAIのstrict規格で送り、出力が長さ上限に当たれば自ら縮めて再試行するようにしたうえで、そのまま1.33.0と1.33.1を切りました。最終日には1.34.0を出し、続いて失われたブランチのコミットを全量回収しました。ポートは呼び出し元のシェルではなく.envから単一の出処で解決するようになり、Webが既定の3000へ落ちたり、誤ったWebSocketアドレスがビルドに焼き付いたりしなくなりました。MCPはテンプレートごとに名前付きの複数インスタンスを起動時に復元し、コネクター一覧から名称変更と登録削除ができます。タスク結果の画面はアーティファクト・成果・プレビューで読めるようになり、成果物はアーティファクトギャラリーにも保存され、goalがhtmlを求めればmarkdownではなくhtmlを出します。再起動後の最初のタスクがユーザーMCPツール0個で動いていた不具合と、トークンのクォータを要求数として表示していた誤りも同じ回収で解消しました。運用点検の第2回では、作業workspaceを再起動で消える/tmpから永続パスへ移し、本番のhigh脆弱性を13件から2件へ減らし、Node既定の5秒だったkeep-aliveを延ばしてバッジのポーリングが切れる原因をなくし、Caddyfileはcaddy validateを通してから運用パスへ同期するようにしました。

02

週次記録の再構成方法

この期間に一致するローカルClaude Codeプロジェクトセッションは見つかりませんでした。そのためGit履歴が証明できる内容だけを記載します。

確認できるClaude Codeのメインセッション、明示的に連結された子セッション、リポジトリのGit履歴を全件確認しました。セッションは意図と調査を説明し、実際に反映されたコードはGitを最終根拠としました。

根拠資料

根拠

OPENMAKE · MIT OPEN SOURCE

開発記録へ戻る