Skip to content

feat: harness mode を Claude Code / Codex 両対応に (#28)#29

Open
k-buchi4696 wants to merge 4 commits into
mainfrom
feature/28-codex-support
Open

feat: harness mode を Claude Code / Codex 両対応に (#28)#29
k-buchi4696 wants to merge 4 commits into
mainfrom
feature/28-codex-support

Conversation

@k-buchi4696

Copy link
Copy Markdown
Collaborator

Summary

  • issue feat: Codex app / Codex CLI でも autoforge を使えるようにする #28 の本質要件「Codex の定額サブスク内で autoforge ハーネスを使えるようにする」を実装
  • harness mode を Claude Code 専用前提から Claude Code / Codex CLI / Codex app の三系統に拡張(ANTHROPIC_API_KEY 不要は維持)
  • 検証中に発見した既存バグ (autoforge-tools run-cmd が argparse dest 衝突で silent no-op) を同梱修正
  • 他リポジトリ駆動のための agent-neutral な統合ガイド(テンプレ/動作確認/トラブルシューティング)を新設
  • namaeno リポジトリで Codex から autoforge-tools list-dir / view / search が動作することを実機検証済み

変更内容(4 コミット)

c2a369b — feat: 三系統対応(docs + UX 中立化)

  • README.md: "Harness mode" セクションを Claude Code / Codex CLI / Codex app の三系統表記に書き換え
  • autoforge/harness/solve.py: "Next steps for Claude Code:""Next steps for your agent:"、docstring も agent 中立化
  • AGENTS.md: Codex app チャット用の起動プロンプトテンプレを追加
  • setup.sh: claude / codex の PATH 検出ブロックを新設、ANTHROPIC_API_KEY 警告を「API モード時のみ必須」に弱化
  • docs/codex-quickstart.md (新規): Codex CLI / Codex app 双方の walkthrough

ea78cca — fix: run-cmd の argparse dest 衝突を修正

  • subparsers(dest="command") と run-cmd の位置引数 command が衝突し、ディスパッチが silent no-op だったのを修正
  • 位置引数を commandcmd にリネームし、参照側も更新
  • 回帰テスト 2 件追加 (TestRunCmdTool)

21b4b01 — docs: グローバル autoforge-tools 形式を併記

  • 他リポジトリから呼ぶ際の autoforge-tools <subcommand> 形式を README / AGENTS.md / docs/codex-quickstart.md に追記
  • AGENTS.md に load-task / save-patch も列挙して整合
  • 「Driving another repo」セクションを quickstart に新設

e212e4c — docs: 統合ガイド integration-guide.md を新設

  • 他リポジトリで autoforge ハーネスを使うための agent-neutral な統合ガイド
  • インストール / AGENTS.md CLAUDE.md テンプレ / 4 ステップ動作確認チェックリスト / トラブルシューティング 5 件
  • README と codex-quickstart から導線を追加

Test Plan

  • pytest tests/ — 550 passed(既存 + 新規回帰テスト 2 件)
  • bash -n setup.sh — 構文 OK
  • autoforge-tools run-cmd "echo hello" がローカルで stdout を返すことを確認
  • Codex CLI から AGENTS.md を読ませ 8 サブコマンドを正しく列挙することを確認
  • namaeno リポジトリで Codex CLI を起動し、autoforge-tools list-dir / view / search がすべて期待通り動作することを実機検証
  • レビュアー: Claude Code でも回帰がないこと(autoforge-solve 経由で SWE-bench 1 タスクを通す等)
  • レビュアー: docs/integration-guide.md のテンプレを実際に空 repo にコピーして手順通り動くことを確認

非ゴール / 後続 issue 候補

  • issue feat: Codex app / Codex CLI でも autoforge を使えるようにする #28 本文の B 系(agent_loop.py 新規 / --backend フラグ / --mode goals 新規)— 現コードに対象構造が存在しないため別 issue 化推奨
  • autoforge-tools search のデフォルト除外パス改善(.venv / node_modules / .claude/worktrees 等)— 本検証で副次発見
  • run-cmd の ACI allowlist 拡張(printf / awk 等)

Closes #28

🤖 Generated with Claude Code

k-buchi4696 and others added 4 commits April 29, 2026 09:55
- README の "Harness mode" セクションを書き換え、Claude Code / Codex CLI /
  Codex app の三系統を明示。サブスクで動く前提(API key 不要)を維持
- solve.py の "Next steps for Claude Code:" を "Next steps for your agent:"
  に変更し、docstring も特定 agent への依存を解消
- AGENTS.md に Codex app(chatgpt.com/codex)でそのまま貼れる起動
  プロンプトテンプレを追加
- setup.sh で claude / codex CLI の PATH 検出ブロックを新設し、
  ANTHROPIC_API_KEY 未設定時の WARNING を「API モード時のみ必須」に弱める
- docs/codex-quickstart.md を新設し、Codex CLI 単発実行と Codex app
  チャット運用の双方を walkthrough

issue #28 の A 系(ドキュメント / UX 中立化)スコープ。
B 系(agent_loop.py 新規 + --backend フラグ + --mode goals 新規)は
本 PR スコープ外(現コードに対象構造が存在しないため別 issue 化推奨)。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
subparsers(dest="command") と run-cmd の位置引数 add_argument("command") が
同一 args.command に書き込み、ユーザー入力で dispatch キーが上書きされた
結果、 elif args.command == "run-cmd" が常に false になり、CLI は exit 0 で
何も実行しないまま終わっていた。

- run-cmd の位置引数を "cmd" にリネームし、衝突理由をコメント化
- ディスパッチ参照を args.cmd に変更
- TestRunCmdTool に回帰テスト 2 件を追加
  - run-cmd の stdout が伝搬すること
  - --timeout フラグと位置引数が両方パースされること

Codex 対応 (#28) のローカル検証中に発見。本 PR に同梱。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
他リポジトリから autoforge ハーネスを呼ぶ前提が抜けていたため、各
ドキュメントに `autoforge-tools <subcommand>` 形式を追加。namaeno など
別プロジェクトから Codex で autoforge を駆動する実ユースケースで
必要になる情報を補完する。

- README.md: "Two invocation forms" 節を追加し、グローバル形式と
  dev モード (`PYTHONPATH=. python3 -m ...`) の使い分けを明示
- AGENTS.md: Available Tools セクションを `autoforge-tools` 形式中心に
  再構成。load-task / save-patch も載せて Codex starter prompt との
  整合を取る。starter prompt も同じ形式に統一
- docs/codex-quickstart.md: 検証スニペットと Codex app starter prompt
  を `autoforge-tools` 形式に変更、"Driving another repo" 節を新設し
  別リポジトリから cd して使うフローを記述

550 tests pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
他リポジトリで autoforge ハーネスを使う際の「自分の AGENTS.md /
CLAUDE.md に何を書けばよいか」「動いていることをどう確認するか」
「よくある詰まりどころ」が docs に欠けていたため、これらを 1 枚に
まとめた agent-neutral なガイドを新設する。

新規: docs/integration-guide.md
- §1 インストールと PATH 確認
- §2 AGENTS.md / CLAUDE.md の最小テンプレと two-file pattern
- §3 4 ステップの動作確認チェックリスト
- §4 トラブルシューティング 5 件
  - autoforge-tools: command not found
  - run-cmd の ACI allowlist 弾き
  - search の .venv / node_modules ノイズ
  - エージェントが動いてるように見えるが何も変わらない
  - briefing 更新後にエージェントが古いまま動く
- §5 関連ドキュメントへのリンク

導線:
- README の Harness mode セクションから integration-guide へのリンクを
  最優先候補として並べ、codex-quickstart は Codex 固有の話に位置付け
- codex-quickstart の Related docs にも integration-guide を追加

550 tests pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Codex app / Codex CLI でも autoforge を使えるようにする

1 participant