Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
superpowers-evals — Laboratorio de evaluación de comportamiento (Quorum) para el proyecto superpowers que impulsa CLIs reales de agentes de codificación (Claude, Codex, Gemini, Kimi y más) a través de un agente de QA y los califica según el cumplimiento del flujo de trabajo contra criterios de escenario y comprobaciones posteriores deterministas. | Kitploit
Herramientas/GitHubGitHub/prime-radiant-inc/superpowers-evals
Scripting y AutomatizaciónPruebas de PenetraciónUtilidades y FrameworksAprendizaje y EducaciónSeguridad de IALabs y Práctica
GitHubprime-radiant-inc/superpowers-evals

superpowers-evals

Ver Repositorio
97128hace 9h 47mRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →

Acerca de

Laboratorio de evaluación de comportamiento (Quorum) para el proyecto superpowers que impulsa CLIs reales de agentes de codificación (Claude, Codex, Gemini, Kimi y más) a través de un agente de QA y los califica según el cumplimiento del flujo de trabajo contra criterios de escenario y comprobaciones posteriores deterministas.

Compartir

Superpowers Evals

Laboratorio de evaluación comportamental para superpowers. Quorum impulsa CLIs reales de agentes de codificación (Claude, Codex, Antigravity, Gemini, Kimi, OpenCode, Pi y Copilot) a través de un agente de control de calidad Gauntlet y los califica según los criterios de aceptación del escenario más comprobaciones posteriores deterministas.

El código, la CLI, las rutas y el texto en línea usan quorum en minúsculas; la forma capitalizada Quorum aparece en los encabezados y la tabla de actores.

No es un conjunto de pruebas genérico. Es un laboratorio de evaluación para el cumplimiento del flujo de trabajo: activación de habilidades, comportamiento del área de trabajo, coordinación de subagentes, reflejos de verificación, calidad de revisión y patrones de modelado de costos.

Modelo de Seguridad

quorum tiene dos modos de ejecución muy diferentes:

  • Las comprobaciones estáticas/de unidad son seguras para CI público. Ejecutan biome, tsc y bun test. No llaman a las API del modelo ni inician agentes CLI.
  • Las evaluaciones en vivo son operaciones de mantenedores de confianza. Inician Claude Code, Codex CLI, Antigravity CLI, Gemini CLI, Kimi Code, OpenCode CLI, Pi CLI o Copilot CLI en modos permisivos y recopilan transcripciones en bruto, llamadas a herramientas, estado del sistema de archivos y registros de sesión.

El CI público debe permanecer en el lado estático/de unidad de esa línea. Nunca agregue claves API, invocaciones en vivo de quorum run … ni lanzamientos de agentes en modo peligroso al CI público.

Riesgo de Evaluación en Vivo

Las evaluaciones en vivo ejecutan el Coding-Agent bajo prueba con amplio poder de ejecución:

  • Claude usa --dangerously-skip-permissions.
  • Codex usa --dangerously-bypass-approvals-and-sandbox.
  • Antigravity usa --dangerously-skip-permissions y depende de la autenticación local de navegador/llave para agy.
  • Gemini usa --skip-trust --approval-mode=yolo; la autenticación por clave API es la predeterminada, con autenticación OAuth opt-in para ejecuciones locales de confianza.
  • Kimi usa --yolo.
  • OpenCode usa --dangerously-skip-permissions.
  • Pi usa listas de herramientas explícitas permitidas y autenticación por clave API en un directorio de configuración local de ejecución.
  • Copilot usa --allow-all.

quorum fija el HOME de cada Coding-Agent (además de los directorios base XDG y TMPDIR) a un hogar desechable por ejecución en <run>/home — el lanzador inserta el token $QUORUM_HOME_ENV construido por src/agents/home-env.ts (xdgHomeEnv, la única fuente de verdad). El directorio de configuración de cada agente se colapsa debajo de ese hogar (Claude .claude, Codex .codex, Gemini ., OpenCode ., Antigravity ., Copilot .copilot, Kimi .kimi-code, Pi .pi/agent), de modo que el Coding-Agent encuentre su configuración a través de su propio $HOME predeterminado y nunca vea el ~/.claude, ~/.codex, ~/.gemini, ~/.kimi-code, ~/.pi, ~/.copilot, ~/.config real del host u otro estado relativo al hogar, complementos instalados o sesiones anteriores. El aprovisionamiento siembra la configuración — y las credenciales OAuth del host que cada agente necesita — en ese hogar desechable antes del lanzamiento, por lo que no hay inicio de sesión en tiempo de ejecución. Copilot también coloca el complemento local de Superpowers bajo el hogar aislado, usa un entorno externo en lista blanca y escribe un .copilot-env que contiene secretos con permisos chmod-0600 dentro del directorio de ejecución. Esto reduce el radio de explosión pero no es un sandbox. Los lanzadores de OpenCode y Copilot también usan entornos en lista blanca, pero los Coding-Agents en vivo aún se ejecutan con amplio poder de sistema de archivos y ejecución de comandos.

Ejecute evaluaciones en vivo solo desde un entorno local de confianza:

  • Exporte únicamente la clave API necesaria para el Coding-Agent seleccionado.
  • Evite ejecutar con secretos de producción o personales amplios en el entorno.
  • Trate results/, los registros de sesión en bruto, los artefactos de llamadas a herramientas/estado de sesión y las entradas del Gauntlet-Agent como sensibles.
  • No confirme ni pegue artefactos de ejecución en bruto sin revisarlos primero.

Inicio Rápido

Instale y ejecute los controles estáticos:```bash bun install bun run check bun run quorum check

root@kitploit:~
Ejecuta un escenario local o de emergencia fuera del contenedor:```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>

El Gauntlet-Agent (controlador de QA) se autentica con Anthropic usando ANTHROPIC_API_KEY de manera predeterminada. Para usarlo desde una suscripción activa de Claude en su lugar, establezca CLAUDE_CODE_OAUTH_TOKEN (de claude setup-token) en el entorno (p. ej. .env); el arnés lo pasa y gauntlet lo prefiere sobre la clave de API. Nota: una suscripción tiene límites de uso diseñados para uso interactivo — los lotes run-all de alta concurrencia pueden alcanzarlos, por lo que la clave de API sigue siendo la opción más adecuada para cargas pesadas.

Los nombres de agentes son claude, codex, antigravity, gemini, kimi, opencode, pi y copilot. No todos los escenarios son válidos para cada agente.

RUPTURA (eje de credenciales): claude-haiku y claude-sonnet ya no son nombres de agentes separados. Para ejecutar el arnés de Claude contra Sonnet o Haiku:```bash bun run quorum run scenarios/ --coding-agent claude --credential sonnet bun run quorum run scenarios/ --coding-agent claude --credential haiku

root@kitploit:~
La credencial predeterminada del agente `claude` es `opus`.

## Aparato de Evaluación Compartido

Las evaluaciones en vivo remotas compartidas están diseñadas para ejecutarse desde un host del aparato de confianza con un paquete de credenciales autorizado, procedencia exacta de repo/ref, bloqueos de host y registros de trabajo recuperables. Los agentes deben usar el ayudante del aparato una vez que exista en el host configurado:```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>

La interfaz objetivo y las reglas de operación se encuentran en docs/appliance-runbook.md, respaldadas por docs/superpowers/specs/2026-06-18-shared-eval-appliance-design.md. doctor es de solo lectura. prepare devuelve lock_busy en lugar de cambiar las referencias mientras un trabajo en vivo está activo. El acceso al host y los procedimientos break-glass específicos del proveedor se mantienen intencionalmente fuera de este repositorio público; use el runbook privado de operaciones para esos detalles. Los comandos sin formato bun run quorum ... y scripts/evals-container exec quorum ... permanecen como flujos de trabajo break-glass locales o de confianza para evaluaciones en vivo compartidas.

Tiempo de ejecución del contenedor

El runtime de Docker es la receta principal para ejecuciones reales de suites. Mantiene el checkout de evals, el checkout de Superpowers bajo prueba, credenciales, fuentes de autenticación y todos los artefactos de ejecución en el host mientras quorum se ejecuta dentro de un contenedor de espacio de trabajo Ubuntu completo.

Cree .env.container o pase un archivo env explícito a 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=...

root@kitploit:~
Luego, construye, inicia y valida el contenedor:```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

El wrapper monta este checkout de evals en /workspace/evals, el checkout padre de Superpowers en /workspace/superpowers, y el directorio results/ del host en /workspace/evals/results. Sobrescribe el checkout de Superpowers con --superpowers-root <dir> cuando la ruta padre por defecto no sea el sistema bajo prueba.

La construcción de la imagen necesita un checkout local de Gauntlet. El wrapper lo descubre desde GAUNTLET_ROOT o una instalación global de Bun bun link; usa --gauntlet-root <dir> con build para elegir explícitamente.

Las credenciales son montajes de solo lectura. Por defecto, up usa primero .env.container, luego .env, y monta el primer archivo encontrado en /run/evals/credentials.env. Pasa --env-file <file> antes de up para elegir explícitamente. El wrapper no pasa el entorno del host en su totalidad; solo el shim quorum dentro del contenedor carga el archivo dotenv, por lo que scripts/evals-container exec bash ... no recibe automáticamente las credenciales de eval activas. Usa down antes de cambiar el montaje del archivo env-file en un contenedor existente.

Las fuentes de autenticación OAuth/archivo también son de solo lectura. Los directorios existentes ~/.codex, ~/.gemini, ~/.kimi-code y ~/.pi se montan en /auth/codex, /auth/gemini, /auth/kimi-code y /auth/pi. Usa --auth codex=<dir>, --auth gemini=<dir>, --auth kimi=<dir> o --auth pi=<dir> para sobrescribir una fuente.

Comienza con la suite centinela:```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

root@kitploit:~
Ejecute los mismos comandos sin `--tier sentinel` para la suite completa lista.
`run-all` escribe cada lote bajo `results/batches/<batch-id>/` y cada ejecución
bajo `results/<scenario>-<agent>-<os>-<timestamp>-<nonce>/`; renderice un lote
con:```bash
scripts/evals-container exec quorum show <batch-id>

run-all imprime un latido de actividad periódico (⋯ … · running N/jobs · done D · queued Q · [agent:scenario, …]); ajústelo con --heartbeat-seconds <n> (0 lo desactiva). Interrumpir un lote — Ctrl-C, o el cierre de la sesión exec — lo detiene de forma ordenada: la cola se cancela, las ejecuciones en curso reciben SIGINT (y se registran como detenidas), y el pie de página del lote aún se escribe, por lo que finished_at nunca queda nulo.

El tiempo de ejecución del contenedor no monta el socket de Docker, no publica puertos del panel ni incluye IDEs de escritorio. La imagen omite el instalador de escritorio agy de Antigravity; ejecute Antigravity en el lado del host hasta que exista una ruta de instalación headless:```bash bun run quorum run-all --coding-agents antigravity --jobs 1

root@kitploit:~
Para barridos de hosts agrupados de todos los agentes, credenciales por agente, detalles de montaje de autenticación y solución de problemas, use [docs/coding-agent-care-and-feeding.md](https://github.com/prime-radiant-inc/superpowers-evals/blob/main/docs/coding-agent-care-and-feeding.md).

## Tiempo de ejecución de Windows

Para evaluaciones en Windows 11, use `--os windows` (solo hosts Linux+KVM):```bash
bun run quorum run scenarios/<name> --coding-agent claude --os windows

Consulte docs/windows/eval-runtime.md para configuración e implementación.

Actores Canónicos

Mantenga los actores claros; confundirlos es el error de triaje más común. Estos nombres se usan en todas partes — docs, salida de CLI, código, nombres de archivo, mensajes de commit.

ActorQué esDónde reside / sus archivos
GauntletFramework de QA de propósito general; la CLI gauntlet. Un probador de caja negra.repo github.com/prime-radiant-inc/gauntlet; en PATH como gauntlet (vía bun link o GAUNTLET_ROOT)
Gauntlet-AgentEl LLM dentro de Gauntlet que impulsa el Coding-Agent y se autoevalúa según los AC de la historia.modelo p.ej. claude-sonnet-4-6; flujo de eventos → <run>/gauntlet-agent/results/<runId>/run.jsonl; veredicto → result.{json,md}
Coding-AgentEl agente bajo prueba — el SUT. Instancias: Claude, Codex, Antigravity, Gemini, Kimi, OpenCode, Pi, Copilot.configuración + registro de sesión bajo su $HOME desechable en <run>/home/…; los archivos que escribe → <run>/coding-agent-workdir/
QuorumEl envoltorio de TypeScript/Bun. Posee la configuración, adaptación del Coding-Agent, verificaciones deterministas y el veredicto final.repo superpowers-evals/src/; <run>/verdict.json

Una ejecución involucra dos LLM — el Gauntlet-Agent (evaluador de QA) y el Coding-Agent (sujeto). Modelos separados, registros separados, costos de token separados.

Guías de Operador

  • docs/scenario-authoring.md - anatomía del escenario, elaboración de historia/AC, ayudantes de configuración, verbos de verificación y trampas de autoría.
  • docs/appliance-runbook.md - reglas operativas de aparato remoto compartido para agentes.
  • docs/coding-agent-care-and-feeding.md
    • credenciales, sweeps, notas de ejecución por agente y resolución de problemas.
  • docs/adding-a-coding-agent.md - lista de verificación para agregar un nuevo agente objetivo, lanzador, aprovisionador, normalizador y smoke.
  • docs/superpowers/skills/triaging-a-failing-eval.md
    • atlas de atribución para ejecuciones no aprobadas.
  • docs/baselines/ - líneas base conocidas actualmente por backend.

Eje de Credenciales

La dimensión de evaluación es (escenario, coding-agent, credencial, os). credentials.yaml en la raíz del repositorio define credenciales con nombre; cada entrada declara el modelo, protocolo de cable (api: openai-chat, openai-responses, anthropic, o gemini), base_url opcional para endpoints no predeterminados, tipo de autenticación (api-key, subscription, o oauth), api_key_env opcional, las familias de tiempo de ejecución a las que sirve (harnesses), y anulaciones de programador opcionales (max_concurrency, launch_spacing_seconds) y un bloque compat (thinking_format, max_tokens_field).

Cada YAML de agente declara un default_credential. Sobrescribir en tiempo de ejecución:```bash

run against a named credential

bun run quorum run scenarios/ --coding-agent claude --credential sonnet

run-all against multiple credentials (incompatible cells are skipped)

bun run quorum run-all --coding-agents claude,opencode --credentials sonnet,haiku,opencode_gpt5 --jobs 4

root@kitploit:~
`quorum check` valida `credentials.yaml` y el `default_credential` de cada agente.

El planificador basa su límite de concurrencia y su pestillo de límite de velocidad en la **limiterKey** de la credencial: el `base_url` de la credencial si está establecido, o en caso contrario el nombre de la credencial, concatenado con su `api` (por ejemplo, `https://…/v1|openai-chat`, o `opus|anthropic` para una credencial nativa sin `base_url`). Las celdas que comparten una limiterKey comparten un límite de concurrencia y un pestillo de límite de velocidad: una respuesta de límite de velocidad en cualquier celda salta inmediatamente todas las celdas restantes en cola para ese endpoint.

Credenciales estándar con nombre (consulte `credentials.yaml`): `opus`, `sonnet`, `haiku` (Claude harness), `codex_sub` (Codex subscription), `kimi_default`, `openrouter_glm_5_2` (Pi default), `pi_default` (native Pi OAuth opt-in), `opencode_gpt5`, `gemini_default`, `serf_default`, `glm_5_2_chat`, `glm_5_2_responses`, `ollama_local`.

### Campañas externas de Serf

Las campañas de corta duración del modelo/proveedor Serf utilizan un archivo de credenciales externo, no el `credentials.yaml` canónico del repositorio. Páselo explícitamente con `--credentials-file` a `quorum run`, `quorum run-all`, o `quorum check`. Mantenga el YAML real de la campaña y todos los artefactos de ejecución sin procesar fuera de Git: el YAML contiene etiquetas de enrutamiento y el nombre de la variable de entorno de la clave API seleccionada, nunca un valor de clave.

Cada preset de campaña debe fijar exactamente un modelo y un proveedor, deshabilitar los fallbacks, y no contener anulaciones de prompt, muestreo, razonamiento, herramienta o límite de tokens. Proporcione su clave dedicada a través del paquete de credenciales de tiempo de ejecución de confianza. La clave debe cumplir con la política de datos prevista para la campaña, tener un límite de gasto de campaña y, para una campaña de capacidad compartida, no tener un enlace BYOK. Una comparación BYOK es una campaña separada con una clave separada y un archivo candidato.

Antes del envío, `run-all` analiza el archivo externo una vez y escribe su instantánea canónica en `results/batches/<batch-id>/credentials.snapshot.yaml`; cada hijo recibe esa instantánea inmutable. Un `quorum run` directo escribe la misma instantánea canónica en su directorio de ejecución. Editar el YAML de origen después de que un lote comience no puede cambiar celdas posteriores. Las instantáneas contienen metadatos de enrutamiento conocidos por el esquema y nombres de variables de entorno, no valores secretos, pero siguen siendo parte de los artefactos de ejecución sensibles.

Ejecute primero la prueba de humo neutral al agente, luego ejecute el escenario costoso solo para credenciales cuyo veredicto final de la prueba de humo sea `pass`:```bash
quorum run-all \
  --scenarios 00-quorum-smoke-hello-world \
  --include-drafts \
  --coding-agents serf \
  --credentials-file /secure/campaign.yaml \
  --credentials serf_example_a \
  --jobs 1

quorum run-all \
  --scenarios serf-builder-fractals \
  --coding-agents serf \
  --credentials-file /secure/campaign.yaml \
  --credentials serf_example_a \
  --jobs 1

--jobs 1 es la línea base secuencial de latencia/costo. Una celda de matriz es un intento pagado; el programador de campañas no reintenta ni repite automáticamente una celda. Representa la comparación etiquetada con quorum costs <batch-id>. Solo las filas finales pass se marcan como comparables; fail e indeterminate permanecen visibles pero sin clasificar, y las mediciones faltantes se representan como faltantes en lugar de cero. Las columnas de cargo, estimado y delta son costos de Coding-Agent. Las columnas existentes --with-gauntlet son gastos generales separados del arnés de Gauntlet-Agent.

La aceptación en vivo es trabajo manual de mantenedores de confianza, nunca automatización de CI pública:

  1. Ejecuta una celda hello-world conocida y buena con --jobs 1.
  2. Inspecciona verdict.json, trajectory.json, openrouter-generations.json, coding-agent-token-usage.json y quorum costs <batch-id>. Confirma modelo, proveedor, versión de preset, BYOK es falso, depósitos de token/caché, duración, costo cargado, estimación, delta y etiquetas de candidato, incluyendo cuantización y fecha de catálogo.
  3. Ejecuta una celda Fractals con --jobs 1; requiere pass final, cada verificación determinista, entrega confirmada de checkout principal y una fila de comparación completa.
  4. Ejecuta dos candidatos hello-world con --jobs 2; confirma atribución distinta sin claves, generaciones, etiquetas o economía contaminadas de forma cruzada.
  5. Solo entonces ejecuta una celda Fractals secuencial por candidato que pase la prueba de humo.

Publica solo conclusiones revisadas y saneadas para la versión en una nota fechada docs/experiments/, registrando tanto fallos como éxitos. El YAML de campaña externo y los artefactos sin procesar permanecen fuera de Git.

Comandos Principales```bash

bun run quorum list bun run quorum new my-new-scenario bun run quorum check my-new-scenario bun run quorum run scenarios/ --coding-agent bun run quorum run scenarios/ --coding-agent claude --credential sonnet bun run quorum run-all --coding-agents claude,codex --jobs 2 bun run quorum run-all --coding-agents claude --credentials sonnet,haiku --jobs 2 bun run quorum show bun run quorum costs

root@kitploit:~
`quorum check` sin argumentos valida cada escenario y `credentials.yaml`.
`run-all` ejecuta cada escenario incluido contra cada Coding-Agent seleccionado, filtrado por la directiva `# coding-agents:` de cada escenario.

## Veredictos y Artefactos

quorum produce un veredicto de tres valores:

- `pass` - Gauntlet-Agent aprobó y todas las verificaciones posteriores aprobaron.
- `fail` - Gauntlet-Agent falló, o una verificación posterior falló.
- `indeterminate` - fallo de configuración/verificación previa/captura/quorum, Gauntlet `investigate`, o traza vacía cuando hay verificaciones de traza presentes.

Los códigos de salida son 0 para `pass`, 1 para `fail` y 2 para `indeterminate`.

Cada ejecución produce un directorio bajo `results/`:```text
results/<scenario>-<coding-agent>-<os>-<timestamp>-<nonce>/
|-- verdict.json                     composed result; start here
|-- gauntlet-agent/                  Gauntlet-Agent evidence
|-- coding-agent-workdir/            files the Coding-Agent produced
|-- home/                            throwaway Coding-Agent HOME
|-- trajectory.json                  normalized ATIF trace
`-- coding-agent-token-usage.json    Coding-Agent token cost, when priced

results/ es ignorado por git porque los artefactos de ejecución pueden contener transcripciones sensibles, credenciales, llamadas a herramientas y estado del sistema de archivos.

Verificaciones Seguras

Estos son los chequeos esperados en CI y en PRs rutinarios:```bash bun run check # biome ci . && tsc --noEmit && bun test — the full gate bun run quorum check # validate every scenario directory

root@kitploit:~
`bun run check` es la única compuerta (Biome lint/format + full-strict `tsc` + `bun test`); los pasos individuales son `bun run lint`, `bun run typecheck` y `bun test`.

## Arquitectura

quorum es **TypeScript on Bun**. La consola es `bun run quorum <cmd>` (una CLI de [commander](https://github.com/tj/commander.js) en `src/cli/index.ts`, también expuesta como el binario `quorum`); la compuerta es `bun run check` (Biome + full-strict `tsc` + `bun test`).

Las formas que cruzan los límites de procesos y archivos — `verdict.json`, índices de lotes, economía, el resultado de Gauntlet, YAML del agente — son **esquemas zod** en `src/contracts/`, validados en cada límite, de modo que un archivo externo malformado falla ruidosamente en lugar de corromper un veredicto. La capa `cli/` analiza comandos y los despacha hacia el pipeline `runner/` (un escenario × un Coding-Agent) o `run-all/` (la matriz). Las diferencias por agente de codificación residen en dos abanicos paralelos clave por nombre de agente: `agents/` siembra la configuración del agente bajo el `$HOME` desechable por ejecución (`<run>/home`), y `normalize/` convierte el registro de sesión de ese agente en un rastro uniforme de llamadas a herramientas. Las llamadas en vivo agente-CLI y otros subprocesos no herméticos pasan por la costura `agents/command-runner.ts`, de modo que el conjunto de pruebas unitarias inyecta simulaciones y nunca lanza una CLI real. `scheduler/` es el motor de concurrencia compartido bajo `run-all/`. El panel es un paquete separado de solo lectura que escanea `results/` y `grid-manifest.json`. `env.ts` es el único módulo que lee `process.env`.```text
src/
  cli/                  commander CLI: run, list, new, check, show, costs, run-all, grid-manifest
    index.ts              command wiring + run / costs / run-all / grid-manifest actions
    render.ts             verdict renderer for triage (quorum show)
    render-batch.ts       batch-matrix renderer (quorum show <batch>)
    resolve-target.ts     run/batch target resolution; scenario.ts scenario loading
  runner/               per-run orchestration (one scenario × one Coding-Agent)
    index.ts              setup → pre-checks → gauntlet drive → capture → post-checks → compose
    context.ts            populate the Gauntlet-Agent context dir (HOWTO + launch-agent shim)
    phase.ts              phase.json (setup/agent/checks) for the dashboard
    stopped.ts            SIGINT → stopped (indeterminate) verdict; errors.ts staged run-error stages
  agents/               per-Coding-Agent provisioning (resolveAgent dispatch)
    index.ts              agent registry + dispatch (incl. the inline Claude/Default adapters)
    command-runner.ts     injectable subprocess seam (live CLIs faked in tests)
    <agent>.ts            codex/gemini/kimi/opencode/pi/copilot/antigravity adapters
  normalize/            session-log → normalized tool-call trace, one module per dialect
  capture/              session-log snapshot/diff + tool-call capture + token usage; cwd-filter
  obol/                 obol cost estimation (session-log + gauntlet sidecar)
  economics.ts          token-cost composition → coding-agent-token-usage.json
  composer.ts           three-valued verdict from the gauntlet + checks layers
  checks/               sources prelude.sh + checks.sh, runs pre()/post(), collects check records
    prelude.sh            bare-verb DSL: defines each check verb as a bash function that
                          delegates to the TS dispatchers (no bin/ shims, no PATH prepend)
  scheduler/            central concurrency dispatcher (one global slot pool, per-harness limits + spacing)
  run-all/              scenario × Coding-Agent matrix over the scheduler; batch index
  setup-helpers/        scenario fixture builders + the `setup-helpers` CLI (dispatch registry)
  contracts/            zod schemas at the JSON boundaries (verdict, batch, economics, gauntlet, agent-config)
  scaffold.ts           `quorum new` / `quorum check`
  setup-step.ts         runs scenario setup.sh (sources prelude.sh via BASH_ENV so bare verbs resolve)
  story-meta.ts         story.md frontmatter (quorum_max_time, quorum_tier, status)
  env.ts                the single process.env boundary
  paths.ts              repo root, UTC stamps, nonces
  invariant.ts          assertNever exhaustiveness guard for closed unions
  check/                typed check verbs: fs-verbs.ts (file/git/env + bootstrap),
                        dispatch.ts (table + `not`), transcript-dispatch.ts, record.ts (sole emitter)
  cli/check-tool.ts     the dispatcher behind every check verb function (file-exists,
                        file-contains, command-succeeds, git-*, assert-checkout-clean,
                        requires-tool, not, files-exist, the *-installed/hook/extension
                        checks); check-transcript.ts and setup-helpers/cli.ts are the
                        other two dispatchers the prelude delegates to
  cli/list-check-verbs.ts  prints the FS_VERBS verb set the prelude loops over (drift-proof)
coding-agents/          per-Coding-Agent material:
  <name>.yaml             CLI config
  <name>-context/         HOWTO prose and launchers for the Gauntlet-Agent
scenarios/              scenarios (one directory each)
fixtures/               shared static fixture repos (e.g. template-repo/, sdd-*/)
test/                   bun test suite
docs/                   design notes, specs, plans, testing protocols, baselines
packages/dashboard/     read-only web matrix UI: scan/view, typed HTML templates, SSE bus, Bun.serve

Triaje

El triaje de una ejecución no exitosa comienza con:```bash bun run quorum show []

root@kitploit:~
Luego use [docs/superpowers/skills/triaging-a-failing-eval.md](https://github.com/prime-radiant-inc/superpowers-evals/blob/main/docs/superpowers/skills/triaging-a-failing-eval.md) para el atlas de atribución. Para comprobaciones de autenticación, aprovisionamiento y captura específicas del agente, use [docs/coding-agent-care-and-feeding.md](https://github.com/prime-radiant-inc/superpowers-evals/blob/main/docs/coding-agent-care-and-feeding.md).

Para la línea base actual conocida como buena, consulte [docs/baselines/](https://github.com/prime-radiant-inc/superpowers-evals/blob/main/docs/baselines).

## Reglas de Contribución

Este repositorio hereda el nivel de calidad de `superpowers`.

- Un problema por PR.
- No confíe artefactos de ejecución generados ni secretos.
- No agregue evaluaciones en vivo a CI público.
- Use la plantilla de PR y explique el riesgo de seguridad/laboratorio de evaluación para cambios que afecten configuraciones de Coding-Agent, ejecución de shell, ayudantes de configuración, herramientas de verificación o entrada de Gauntlet-Agent.
- Los cambios en la metodología de evaluación que moldean el comportamiento necesitan evidencia, no solo prosa.

## Actualización del Submódulo Padre

`superpowers-evals` es consumido por `superpowers` como el submódulo `evals`. Después de que cualquier PR se fusione con `main` aquí, abra un PR de seguimiento contra el repositorio padre `superpowers` que apunte a `dev` y que actualice el puntero del submódulo `evals` al commit fusionado de `superpowers-evals`.

No considere una fusión de `superpowers-evals` como completamente propagada hasta que exista ese PR de actualización del submódulo padre.

---

Reporte de seguridad → [SECURITY.md](https://github.com/prime-radiant-inc/superpowers-evals/blob/main/SECURITY.md).
Descargar herramienta