
行動評価ラボ(Quorum)は、スーパーパワーズプロジェクト向けで、実際のコーディングエージェントCLI(Claude、Codex、Gemini、Kimiなど)をQAエージェントで駆動し、シナリオ基準と決定論的事後チェックに対するワークフロー準拠を評価します。
superpowers のための行動評価ラボ。 Quorum は、実際のコーディングエージェント CLI(Claude、Codex、Antigravity、Gemini、Kimi、OpenCode、Pi、Copilot)を Gauntlet QA エージェントで駆動し、シナリオの受理条件と決定論的な事後チェックに基づいて採点します。
コード、CLI、パス、インラインプローズではすべて小文字の quorum を使用します。大文字の Quorum は見出しとエージェントテーブルに出現します。
これは汎用ベンチマークスイートではありません。ワークフロー準拠(スキルトリガー、ワークツリー動作、サブエージェント連携、検証反射、レビューの質、コスト形成パターン)を評価するための評価ラボです。
quorum には、2 つの非常に異なる実行モードがあります。
biome、tsc、bun test を実行します。モデル API を呼び出さず、エージェント CLI を起動しません。パブリック CI は、静的/ユニット側に留まらなければなりません。API キー、ライブの quorum run … 呼び出し、または危険モードのエージェント起動をパブリック CI に追加しないでください。
ライブ評価は、試験対象のコーディングエージェントを広範な実行権限で実行します。
--dangerously-skip-permissions を使用します。--dangerously-bypass-approvals-and-sandbox を使用します。--dangerously-skip-permissions を使用し、agy のローカルブラウザ/キーリング認証に依存します。--skip-trust --approval-mode=yolo を使用します。API キー認証がデフォルトで、信頼されたローカル実行向けのオプトイン OAuth 認証もあります。--yolo を使用します。--dangerously-skip-permissions を使用します。--allow-all を使用します。quorum は、各コーディングエージェントの HOME(および XDG ベースディレクトリと TMPDIR)を、<run>/home にある使い捨ての実行ごとのホームに固定します。ランチャーは、src/agents/home-env.ts(xdgHomeEnv、単一の信頼情報源)で構築された $QUORUM_HOME_ENV トークンをスプライスします。各エージェントの設定ディレクトリはそのホーム以下にまとめられます(Claude は .claude、Codex は .codex、Gemini は .、OpenCode は .、Antigravity は .、Copilot は .copilot、Kimi は .kimi-code、Pi は .pi/agent)。そのため、コーディングエージェントは自身の $HOME デフォルトを介して設定を見つけ、ホストの実際の ~/.claude、~/.codex、~/.gemini、~/.kimi-code、~/.pi、~/.copilot、~/.config、その他のホーム相対の状態、インストール済みプラグイン、以前のセッションを見ることはありません。プロビジョニングでは、起動前にその使い捨てホームに設定と、各エージェントが必要とするホストの OAuth 認証情報をシードするため、実行時のログインは不要です。Copilot はさらに、隔離されたホームの下にローカルの Superpowers プラグインをステージングし、許可リスト化された外部環境を使用し、実行ディレクトリ内に chmod 0600 の .copilot-env に秘密を書き込みます。これにより爆発半径は狭まりますが、サンドボックスではありません。OpenCode と Copilot のランチャーはさらに許可リスト化された環境を使用しますが、ライブのコーディングエージェントは依然として広範なファイルシステムとコマンド実行権限で実行されます。
ライブ評価は、信頼されたローカル環境からのみ実行してください。
results/、生のセッションログ、セッション状態/ツール呼び出しアーティファクト、Gauntlet エージェントへの入力を機密として扱います。静的ゲートをインストールして実行します。```bash bun install bun run check bun run quorum check
コンテナ外でローカルまたは緊急時シナリオを1つ実行してください:```bash
export SUPERPOWERS_ROOT=/path/to/superpowers
export ANTHROPIC_API_KEY=...
bun run quorum run scenarios/triggering-writing-plans --coding-agent claude
bun run quorum show <run-dir>
The Gauntlet-Agent(QAドライバ)は、デフォルトでは ANTHROPIC_API_KEY を使用してAnthropicに認証します。代わりにログイン済みのClaudeサブスクリプションから駆動するには、環境(例:.env)に CLAUDE_CODE_OAUTH_TOKEN(claude setup-token から取得)を設定します。ハーネスはこれを渡し、gauntletはAPIキーよりもそれを優先します。注意:サブスクリプションにはインタラクティブ向けの使用制限があります。高並行の run-all バッチはこれに達する可能性があるため、APIキーの方が高負荷に適しています。
エージェント名は claude, codex, antigravity, gemini, kimi、opencode, pi, copilot です。すべてのシナリオがすべてのエージェントに対して有効というわけではありません。
破壊的変更(認証軸): claude-haiku と claude-sonnet は独立したエージェント名ではなくなりました。ClaudeハーネスをSonnetまたはHaikuに対して実行するには:```bash
bun run quorum run scenarios/ --coding-agent claude --credential sonnet
bun run quorum run scenarios/ --coding-agent claude --credential haiku
`claude` エージェントのデフォルト認証情報は `opus` です。
## 共有評価アプライアンス
共有リモートライブ評価は、信頼されたアプライアンスホストから実行されるように設計されており、1つの特権認証情報バンドル、厳密なリポジトリ/参照の出所、ホストロック、および復元可能なジョブレコードを持ちます。エージェントは、設定されたホスト上にアプライアンスヘルパーが存在する場合、それを使用する必要があります。```bash
evals-appliance doctor --json
evals-appliance prepare --json --superpowers-ref <branch-tag-or-sha>
evals-appliance run-all --json --detach \
--superpowers-ref <branch-tag-or-sha> \
-- --tier sentinel \
--coding-agents claude,codex,kimi \
--jobs 4
evals-appliance status --json <job-id>
evals-appliance show --json <job-id>
evals-appliance costs --json <job-id>
evals-appliance cancel --json <job-id>
対象インターフェースと運用ルールは、docs/appliance-runbook.md に記載されており、docs/superpowers/specs/2026-06-18-shared-eval-appliance-design.md によって補完されます。
doctor は読み取り専用です。prepare は、ライブジョブがアクティブな間は refs を変更せず、lock_busy を返します。
ホストアクセスとプロバイダ固有の緊急時対応手順は、この公開リポジトリには意図的に含まれていません。詳細はプライベートな運用ランブックを参照してください。
生の bun run quorum ... および scripts/evals-container exec quorum ... は、共有ライブ評価のためのローカルまたは信頼できる緊急時対応ワークフローとして残ります。
Docker ランタイムは、実際のスイート実行のための主要なレシピです。これにより、quorum がリッチな Ubuntu ワークスペースコンテナ内で実行されている間、evals チェックアウト、テスト対象の Superpowers チェックアウト、認証情報、認証ソース、およびすべての実行アーティファクトがホスト上に保持されます。
.env.container を作成するか、明示的な env ファイルを up に渡します:```dotenv
ANTHROPIC_API_KEY=...
OPENAI_API_KEY=...
OPENROUTER_API_KEY=... # Pi default: OpenRouter GLM 5.2
GEMINI_API_KEY=... # or GEMINI_AUTH_TYPE=oauth-personal
KIMI_MODEL_API_KEY=... # unless using mounted Kimi OAuth
PI_PROVIDER=... # only for raw/custom Pi env auth outside the default credential
PI_MODEL=...
PI_API_KEY=...
COPILOT_GITHUB_TOKEN=...
次に、コンテナをビルド、起動、検証します:```bash
scripts/evals-container build
scripts/evals-container down || true
scripts/evals-container --env-file .env.container up
scripts/evals-container exec evals-tool-versions
scripts/evals-container exec quorum check
ラッパーは、この evals チェックアウトを /workspace/evals、親の Superpowers チェックアウトを /workspace/superpowers、ホストの results/ を /workspace/evals/results にマウントします。デフォルトの親パスがテスト対象システムでない場合は、--superpowers-root <dir> で Superpowers チェックアウトをオーバーライドします。
イメージビルドにはローカルの Gauntlet チェックアウトが必要です。ラッパーは GAUNTLET_ROOT または Bun グローバルの bun link インストールからそれを検出します。明示的に選択するには build で --gauntlet-root <dir> を使用します。
認証情報は読み取り専用でマウントされます。デフォルトでは、up は最初に .env.container、次に .env を使用し、最初に見つかったものを /run/evals/credentials.env にマウントします。明示的に選択するには up の前に --env-file <file> を指定します。ラッパーはホスト環境をそのまま渡さず、コンテナ内の quorum シムのみが dotenv ファイルを参照するため、scripts/evals-container exec bash ... は自動的にライブ評価認証情報を受け取りません。既存のコンテナで env-file マウントを変更する前に down を使用してください。
OAuth/ファイル認証ソースも読み取り専用です。既存の ~/.codex、~/.gemini、~/.kimi-code、~/.pi ディレクトリは /auth/codex、/auth/gemini、/auth/kimi-code、/auth/pi にマウントされます。ソースをオーバーライドするには、--auth codex=<dir>、--auth gemini=<dir>、--auth kimi=<dir>、--auth pi=<dir> を使用します。
sentinel スイートから始めてください:```bash
scripts/evals-container exec quorum run-all
--tier sentinel
--coding-agents claude,codex,kimi
--jobs 4
for agent in gemini opencode pi copilot; do
scripts/evals-container exec quorum run-all
--tier sentinel
--coding-agents "$agent"
--jobs 1
done
`--tier sentinel` なしで同じコマンドを実行すると、完全なレディスイートが実行されます。
`run-all` は各バッチを `results/batches/<batch-id>/` に書き込み、各実行を `results/<scenario>-<agent>-<os>-<timestamp>-<nonce>/` に書き込みます。バッチをレンダリングするには:```bash
scripts/evals-container exec quorum show <batch-id>
run-all は定期的な生存確認ハートビートを出力します
(⋯ … · running N/jobs · done D · queued Q · [agent:scenario, …]); 調整するには
--heartbeat-seconds <n> を使用します(0 で無効)。バッチの中断 — Ctrl-C、または
exec セッションの終了 — は正常に停止します:キューはキャンセルされ、実行中の
ジョブには SIGINT が送信され(停止として記録されます)、バッチフッターは依然として
書き込まれるため、finished_at が null のままになることはありません。
コンテナランタイムは、Docker ソケットをマウントせず、ダッシュボードポートを公開せず、
デスクトップ IDE も含みません。イメージには Antigravity のデスクトップ agy インストーラは含まれていません;
ヘッドレスインストールパスができるまでは、ホスト側で Antigravity を実行してください。```bash
bun run quorum run-all --coding-agents antigravity --jobs 1
グループ化された全エージェントホストスイープ、エージェントごとの認証情報、認証マウントの詳細、およびトラブルシューティングについては、[docs/coding-agent-care-and-feeding.md](https://github.com/prime-radiant-inc/superpowers-evals/blob/main/docs/coding-agent-care-and-feeding.md) を参照してください。
## Windows Runtime