← 活動記録一覧

FACTUAL ACTIVITY RECORD · 実際の作業をもとにした活動記録

Codex起動時のMCP無効化設定を修正する

strict configが受理できる完全なserver定義へ置き換え、隔離した編集processを開始できるようにする

対象期間:

目的

日次編集Runnerの最初のend-to-end実行は、Codex起動時にMCP serverを無効化する設定がstrict configの検証で拒否され、編集processを開始できなかった。nested fieldだけを上書きする形式では、server定義として必要な値が不足していた。

外部toolへ接続させない安全境界を維持しながら、Codexが受理できる完全なserver定義を渡し、同じNewsPacketから編集処理を再開できる状態にすることを目指した。

実装

task executorで、MCP serverのenabled fieldだけを指定していた起動overrideを、server定義全体を一つのinline tableとして渡す形式へ変更した。

  • serverはenabled=falseのまま維持し、起動対象にならないようにした。
  • strict configが完全なserver定義として検証できるよう、実行されないcommandも同じtableへ明示した。
  • network無効、approval禁止、user設定の無視、hookとWeb検索の無効化など、既存の隔離条件は変更しなかった。

task executorは、新しいinline tableが起動引数へ含まれることを確認するように更新した。MCPを有効化する修正ではなく、無効化された定義がstrict parserを通ることを回帰条件にした。

修正後は型検査、test、production buildを再実行した。前回の失敗状態に保存されていた同じNewsPacketを使って再実行し、入力を取り直さずに起動設定だけの修正を確認できるようにした。

修正は、部分field overrideを完全なinline server tableへ置き換える一行だった。内部server名だけを一般化して示す。

MCP無効化設定の修正境界

図を描画しています…

確認したこと

確認結果

TypeScript型検査、72件のtest、production buildを含むcheckが成功した。

更新したtestは、無効化状態と実行されないcommandを含む完全なMCP server定義が起動引数へ渡ることを確認した。

同じNewsPacketからの再実行でCodex processが開始し、approval禁止、workspaceへの限定、network無効の隔離条件が表示された。

cutoff時点で起動overrideの修正は対象へ反映され、前回停止した起動地点を越えた。一方、編集処理の完走と下書き送信の結果はまだ確認できていない。

完了とした根拠

strict configが受理できる無効化済みMCP server定義へ修正し、72件のtestを含むcheckを通したうえで、保存済みNewsPacketからCodex processが隔離条件を保って開始したことを、この設定修正の完了基準とした。