mcpField
V
verify

verify

github.com/anthropicsテスト・品質7.7k236 回インストール12 週間前に更新
リポジトリ

verify について

Docker のないホストで harness の変更を検証する手順です。固定バージョンの Claude Code CLI をスタブ API サーバーに対して実行し、リクエストヘッダーを記録して harness が渡す環境を確認します。

主な機能

  1. 01固定バージョンの Claude Code CLI を Docker なしで実行
  2. 02スタブ API サーバーでリクエストを記録
  3. 03harness のエージェント環境を再現
  4. 04環境上の注意点とテスト制約を説明

活用シーン

  1. 01harness の認証環境注入の確認
  2. 02Docker なしのホストで CLI リクエストをテスト

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/anthropics/defending-code-reference-harness --skill verify

インストール後、Claude Code で/verifyを入力して読み込まれたか確認します。

詳細

docker がないホストでハーネスの変更を検証する

パイプラインが実際に使用するのは、コンテナ内の claude -p プロセスと、その外部 API リクエストです。docker がない場合は、ハーネスが docker -e 経由で注入する環境変数辞書を使って、同じバージョンに固定された CLI バイナリを直接実行します。

手順

  1. バージョン固定された CLI を取得する(バージョンは harness/agent_image.py:CLAUDE_CODE_VERSION から確認): 一時ディレクトリで npm install --no-save @anthropic-ai/claude-code@<pin> を実行 → バイナリは node_modules/@anthropic-ai/claude-code/bin/claude.exe にあります(.exe という名前は Linux でも実際のネイティブバイナリのエントリーポイントです。パッケージの postinstall によって配置されるもので、Windows の名残ではありません)。
  2. API スタブサーバー:各リクエストのヘッダーを JSONL ファイルに追記し、400 invalid_request_error を返す小さな HTTP サーバーを用意します(再試行されないため、CLI はすぐに終了します。終了コード 1 が想定どおりです)。
  3. パイプラインと同じ方法でエージェントの環境変数を構築する: python3 -c "from harness.auth import resolve_auth_env; ..." を実行し、shlex.quote を使って export 形式の行をファイルに出力します(値には改行が含まれます。env $(...) では絶対に渡さないでください。単語分割で壊れるため、ファイルを source してください)。
  4. コンテナ環境を再現する:ファイルを source する前に ANTHROPIC_CUSTOM_HEADERS(および解決済みの辞書に含まれない他の環境変数)を unset します。このリポジトリの Claude Code セッションでは、シェルに .claude/settings.json の環境変数が注入されますが、コンテナからは参照できません。
  5. 実行する:ANTHROPIC_BASE_URL=http://127.0.0.1:<port> CLAUDECODE= IS_SANDBOX=1 timeout 30 <cli> -p hi --model claude-sonnet-4-5 --max-turns 1 を実行し、キャプチャした JSONL を読み取ります。

注意点

  • tests/test_patch.py / tests/test_patch_grade.py の単体テストには docker が必要で、docker がないホストでは失敗します。これは既存の問題であり、今回の変更によるものではありません。
  • docker がなければ、docker の -e 注入部分自体は実行できません。本番環境で ANTHROPIC_API_KEY を渡すのと同じ仕組みです。
  • インタラクティブスキルで使う部分を確認するには、.claude/settings.json を新しい一時ディレクトリにコピーし、ホスト上の claude をそのディレクトリから実行します(設定ファイルだけを環境変数の供給元にするため、環境変数として設定された ANTHROPIC_CUSTOM_HEADERS を解除してください)。

コメント