
행동 평가 랩(Quorum)은 superpowers 프로젝트를 위한 것으로, 실제 코딩 에이전트 CLI(Claude, Codex, Gemini, Kimi 등)를 QA 에이전트를 통해 구동하고, 시나리오 기준 및 결정론적 사후 검사에 대한 워크플로우 준수 여부를 평가합니다.
행동 평가 연구소 for superpowers. Quorum는 실제 코딩 에이전트 CLI (Claude, Codex, Antigravity, Gemini, Kimi, OpenCode, Pi, and Copilot)를 Gauntlet QA 에이전트를 통해 구동하고 시나리오 승인 기준과 결정론적 사후 검사에 대해 평가합니다.
코드, CLI, 경로 및 인라인 텍스트는 모두 소문자 quorum을 사용합니다. 대문자 Quorum은 제목과 행위자 테이블에 나타납니다.
이것은 일반적인 벤치마크 스위트가 아닙니다. 워크플로우 준수: 기술 트리거링, 작업 트리 동작, 서브에이전트 조정, 검증 반사, 리뷰 품질 및 비용 형성 패턴을 위한 평가 연구소입니다.
quorum에는 두 가지 매우 다른 실행 모드가 있습니다:
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의 1회성 실행별 홈에 고정합니다. 실행기는 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 또는 기타 홈 상대 상태, 설치된 플러그인 또는 이전 세션을 전혀 보지 않습니다. 프로비저닝은 실행 전에 해당 1회성 홈에 구성과 각 에이전트에 필요한 호스트 OAuth 자격 증명을 시드하므로 런타임 로그인이 없습니다. Copilot는 또한 격리된 홈 아래에 로컬 Superpowers 플러그인을 스테이징하고, 허용된 외부 환경을 사용하며, 실행 디렉터리 내에 시크릿이 포함된 chmod-0600 .copilot-env를 작성합니다. 이는 폭발 반경을 좁히지만 샌드박스는 아닙니다. OpenCode 및 Copilot 실행기는 추가로 허용된 환경을 사용하지만 라이브 코딩 에이전트는 여전히 광범위한 파일 시스템 및 명령 실행 권한으로 실행됩니다.
신뢰할 수 있는 로컬 환경에서만 라이브 평가를 실행하십시오:
results/, 원시 세션 로그, 세션 상태/도구 호출 아티팩트 및 Gauntlet 에이전트 입력을 민감하게 취급하십시오.설치 및 정적 게이트 실행:```bash bun install bun run check bun run quorum check
컨테이너 외부에서 로컬 또는 break-glass 시나리오를 하나 실행하십시오:```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입니다. 모든 시나리오가 모든 에이전트에 유효한 것은 아닙니다.
BREAKING(자격 증명 축): 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`입니다.
## 공유 평가 어플라이언스
공유 원격 라이브 평가는 신뢰할 수 있는 어플라이언스 호스트에서 실행되도록 설계되었으며, 승인된 자격 증명 번들, 정확한 저장소/참조 출처, 호스트 잠금, 복구 가능한 작업 기록을 갖추고 있습니다. 에이전트는 구성된 호스트에 어플라이언스 헬퍼가 존재하면 이를 사용해야 합니다:```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는 라이브 작업이 활성화된 동안 참조를 변경하는 대신 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 shim만 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