Skip to content

NDF の Python スクリプトの内部 AI 呼び出しで、Codex ホスト時は Codex CLI を既定にする #1574

Open

Description

@takemi-ohama

何を見つけたか

Codex から NDF を使っていても、Python スクリプトの内部 AI 呼び出しが Claude CLI に固定されている。Codex で実行するときは Codex CLI を使いたい。対象は project-mvv.py だけでなく、NDF の Python スクリプト全体の AI 呼び出しである。

novel の MVV 策定で project-mvv.py vet を実行したところ、内部で Claude CLI が呼ばれ、Claude 側のセッション利用上限によって照合結果が得られず、MVV の登録まで止まった。

どこで見つけたか

NDF 10.17.50 の配布物で確認した。行番号は ndf 10.18.0 の値である。

  • plugins/ndf/scripts/project_lib/mvv_llm.py:37–40: call_claude を import して呼ぶ。
  • plugins/ndf/scripts/supervise_lib/claude.py:158: NDF_SUPERVISE_CLAUDE の既定が claude。
  • plugins/ndf/scripts/project-mvv.py の vet / propose は、この Claude 用の経路に依存する。

実行例: project-mvv.py vet --kind candidate --body <MVV案>。照合記録には verdict: unreadable と、Claude の「You've hit your session limit」が残った。これは MVV 本文の問題ではなく、呼び出し先の利用制限によるもの。

なぜこの変更の範囲外なのか

元の作業は novel の Issue #1 をプロジェクト MVV に反映すること。呼び出し先の選択は NDF の共有実装で直す必要があり、novel の設定・本文の修正では解消しない。

利用者から、Codex 使用時には他の Python スクリプトも含めて Codex CLI を使いたいと明示依頼された。根拠: 利用者の指示と NDF 共通原則の「判断の範囲は目の前の変更・操作に限る」(プロジェクト MVV なし)。

直さないと何が起きるか

Codex を使える状態でも、Claude の認証・契約・利用上限・障害に処理が依存する。利用者が選んだ CLI と、実際に使われる CLI・利用枠が一致せず、工程が止まる。

求める動作と受け入れ条件

  • Codex をホストとして NDF を実行するとき、内部の通常の AI 呼び出しも Codex CLI を既定で使う。
  • 他の Python スクリプトを含め、CLI を起動する箇所を調査し、共通の選択・呼び出し経路へそろえる。
  • ホストの特定方法と、明示設定による上書きの優先順位を決める。Claude など既存ホストでの動作も維持する。
  • 各 CLI の引数・出力形式・利用量・エラー・タイムアウトを扱い、既存の結果 JSON と照合記録の契約を維持する。
  • 選ばれた CLI とモデルを記録し、失敗時に別 CLI へ無断で切り替えない。
  • cross-review などで複数 CLI の利用が明示されている場合は、その指定を尊重する。
  • Codex ホストで Claude CLI が使えなくても project-mvv.py vet / propose 等が動くこと、および既存の Claude 経路が動くことを検証する。

由来

issue #1(takemi-ohama/novel): https://github.com/takemi-ohama/novel/issues/1

2026-09-30、Codex で MVV 反映を進める会話中に利用者から起票を依頼された。

関連

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority: high実害・安全機構の欠落など、優先して対応する

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions