Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
superpowers-evals — Laboratorio di valutazione comportamentale (Quorum) per il progetto superpowers che guida CLI di agenti di codifica reali (Claude, Codex, Gemini, Kimi e altri) attraverso un agente QA e le valuta in base alla conformità al flusso di lavoro rispetto ai criteri dello scenario e ai controlli deterministici post-esecuzione. | Kitploit
Strumenti/GitHubGitHub/prime-radiant-inc/superpowers-evals
Scripting e AutomazionePenetration TestingUtilità e FrameworkApprendimento e FormazioneSicurezza dell'IALab e Pratica
GitHubprime-radiant-inc/superpowers-evals

superpowers-evals

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →

Informazioni

97121 giorno faRevisionato da Kitploit

Laboratorio di valutazione comportamentale (Quorum) per il progetto superpowers che guida CLI di agenti di codifica reali (Claude, Codex, Gemini, Kimi e altri) attraverso un agente QA e le valuta in base alla conformità al flusso di lavoro rispetto ai criteri dello scenario e ai controlli deterministici post-esecuzione.

Condividi

Superpowers Evals

Laboratorio di valutazione comportamentale per superpowers. Quorum guida CLI reali di coding-agent (Claude, Codex, Antigravity, Gemini, Kimi, OpenCode, Pi e Copilot) attraverso un agente Gauntlet QA e li valuta rispetto ai criteri di accettazione dello scenario più controlli deterministici successivi.

Codice, CLI, percorsi e prosa inline usano tutti quorum in minuscolo; la forma maiuscola Quorum appare nelle intestazioni e nella tabella degli attori.

Questa non è una suite di benchmark generica. È un laboratorio di valutazione per la conformità del flusso di lavoro: attivazione delle skill, comportamento del worktree, coordinamento dei subagenti, riflessi di verifica e pattern di modellazione dei costi.

Modello di Sicurezza

quorum ha due modalità di esecuzione molto diverse:

  • Controlli statici/di unità sono sicuri per la CI pubblica. Eseguono biome, tsc e bun test. Non chiamano API dei modelli e non avviano CLI di agenti.
  • Valutazioni live sono operazioni per manutentori fidati. Avviano Claude Code, Codex CLI, Antigravity CLI, Gemini CLI, Kimi Code, OpenCode CLI, Pi CLI, o Copilot CLI in modalità permissive e raccolgono trascrizioni grezze, chiamate di strumenti, stato del filesystem e log di sessione.

La CI pubblica deve rimanere dalla parte dei controlli statici/di unità di quella linea. Non aggiungere mai chiavi API, invocazioni live quorum run …, o lanci di agenti in modalità pericolosa alla CI pubblica.

Rischio delle Valutazioni Live

Le valutazioni live eseguono il Coding-Agent sotto test con ampi poteri di esecuzione:

  • Claude usa --dangerously-skip-permissions.
  • Codex usa --dangerously-bypass-approvals-and-sandbox.
  • Antigravity usa --dangerously-skip-permissions e si basa sull'autenticazione locale tramite browser/keyring per agy.
  • Gemini usa --skip-trust --approval-mode=yolo; l'autenticazione tramite chiave API è predefinita, con autenticazione OAuth opzionale per esecuzioni locali fidate.
  • Kimi usa --yolo.
  • OpenCode usa --dangerously-skip-permissions.
  • Pi usa elenchi di strumenti espliciti e autenticazione tramite chiave API in una directory di configurazione locale per esecuzione.
  • Copilot usa --allow-all.

quorum fissa la HOME di ogni Coding-Agent (più le directory base XDG e TMPDIR) in una home temporanea per esecuzione <run>/home — il launcher inserisce il token $QUORUM_HOME_ENV costruito da src/agents/home-env.ts (xdgHomeEnv, l'unica fonte di verità). La directory di configurazione di ogni agente è collassata sotto quella home (Claude .claude, Codex .codex, Gemini ., OpenCode ., Antigravity ., Copilot .copilot, Kimi .kimi-code, Pi .pi/agent), così il Coding-Agent trova la sua configurazione tramite il suo default e non vede mai le reali directory , , , , , , , o altro stato relativo alla home dell'host, plugin installati, o sessioni precedenti. Il provisioning inserisce la configurazione — e le credenziali OAuth dell'host necessarie a ciascun agente — in quella home temporanea prima del lancio, quindi non c'è login durante l'esecuzione. Copilot prepara anche il plugin locale Superpowers sotto la home isolata, usa un ambiente esterno autorizzato, e scrive un con segreti con chmod-0600 all'interno della directory di esecuzione. Questo restringe il raggio d'impatto ma non è una sandbox. I launcher di OpenCode e Copilot usano inoltre ambienti autorizzati, ma i Coding-Agent live vengono comunque eseguiti con ampi poteri di esecuzione di comandi e filesystem.

Esegui le valutazioni live solo da un ambiente locale affidabile:

  • Esporta solo la chiave API necessaria per il Coding-Agent selezionato.
  • Evita di eseguire con ampi segreti di produzione o personali nell'ambiente.
  • Tratta results/, i log di sessione grezzi, gli artefatti di stato di sessione/chiamate di strumenti e gli input del Gauntlet-Agent come sensibili.
  • Non committare o incollare artefatti grezzi di esecuzione senza averli prima controllati.

Avvio Rapido

Installa ed esegui i controlli statici:```bash bun install bun run check bun run quorum check

root@kitploit:~
Esegui uno scenario locale o di break-glass all'esterno del contenitore:```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>

L'agente Gauntlet (driver QA) si autentica ad Anthropic con ANTHROPIC_API_KEY per impostazione predefinita. Per utilizzarlo invece da un abbonamento Claude con accesso effettuato, imposta CLAUDE_CODE_OAUTH_TOKEN (da claude setup-token) nell'ambiente (es. .env); l'harness lo passa e gauntlet lo preferisce alla chiave API. Nota: un abbonamento ha limiti di utilizzo pensati per l'uso interattivo — ad alta concorrenza i batch run-all possono raggiungerli, quindi la chiave API rimane la scelta migliore per carichi pesanti.

I nomi degli agenti sono claude, codex, antigravity, gemini, kimi, opencode, pi e copilot. Non tutti gli scenari sono validi per ogni agente.

BREAKING (credential axis): claude-haiku e claude-sonnet non sono più nomi di agenti separati. Per eseguire l'harness Claude su 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 credenziale predefinita dell'agente `claude` è `opus`.

## Shared Eval Appliance

Gli eval live remoti condivisi sono progettati per essere eseguiti da un host appliance affidabile con un bundle di credenziali approvato, provenienza esatta repo/ref, blocchi host e record di job recuperabili. Gli agenti dovrebbero utilizzare l'helper dell'appliance una volta che esiste sull'host configurato:```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>

L'interfaccia di destinazione e le regole operative si trovano in docs/appliance-runbook.md, supportate da docs/superpowers/specs/2026-06-18-shared-eval-appliance-design.md. doctor è in sola lettura. prepare restituisce lock_busy invece di modificare i riferimenti mentre un job attivo è in esecuzione. L'accesso all'host e le procedure di break-glass specifiche del provider sono intenzionalmente tenuti fuori da questo repository pubblico; usa il runbook operativo privato per quei dettagli. I comandi grezzi bun run quorum ... e scripts/evals-container exec quorum ... rimangono flussi di lavoro locali o break-glass affidabili per valutazioni live condivise.

Container Runtime

Il runtime Docker è la ricetta principale per le esecuzioni reali della suite. Mantiene il checkout degli evals, il checkout di Superpowers in test, le credenziali, le fonti di autenticazione e tutti gli artefatti di esecuzione sull'host mentre quorum viene eseguito all'interno di un contenitore workspace Ubuntu ricco.

Crea .env.container o passa un file env esplicito 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:~
Quindi costruisci, avvia e convalida il container:```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

Il wrapper monta questo checkout evals su /workspace/evals, il checkout Superpowers padre su /workspace/superpowers, e la directory host results/ su /workspace/evals/results. Sostituisci il checkout Superpowers con --superpowers-root <dir> quando il percorso padre predefinito non è il sistema in test.

La build dell'immagine necessita di un checkout locale di Gauntlet. Il wrapper lo trova da GAUNTLET_ROOT o da un'installazione globale bun link di Bun; usa --gauntlet-root <dir> con build per scegliere esplicitamente.

Le credenziali sono mount di sola lettura. Di default, up usa prima .env.container, poi .env, e monta il primo trovato su /run/evals/credentials.env. Passa --env-file <file> prima di up per scegliere esplicitamente. Il wrapper non passa l'intero ambiente host; solo lo shim quorum nel container carica il file dotenv, quindi scripts/evals-container exec bash ... non riceve automaticamente le credenziali live dell'evals. Usa down prima di cambiare il mount del file env su un container esistente.

Anche le sorgenti di autenticazione OAuth/file sono di sola lettura. Le directory esistenti ~/.codex, ~/.gemini, ~/.kimi-code e ~/.pi vengono montate rispettivamente su /auth/codex, /auth/gemini, /auth/kimi-code e /auth/pi. Usa --auth codex=<dir>, --auth gemini=<dir>, --auth kimi=<dir> o --auth pi=<dir> per sovrascrivere una sorgente.

Inizia con la suite 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

root@kitploit:~
Esegui gli stessi comandi senza `--tier sentinel` per la suite completa pronta. `run-all` scrive ogni batch in `results/batches/<batch-id>/` e ogni esecuzione in `results/<scenario>-<agent>-<os>-<timestamp>-<nonce>/`; renderizza un batch con:```bash
scripts/evals-container exec quorum show <batch-id>

run-all stampa un heartbeat periodico di attività (⋯ … · running N/jobs · done D · queued Q · [agent:scenario, …]); è possibile regolarlo con --heartbeat-seconds <n> (0 lo disabilita). Interrompere un batch — Ctrl-C, o la chiusura della sessione exec — lo ferma in modo pulito: la coda viene cancellata, le esecuzioni in corso ricevono un SIGINT (e vengono registrate come fermate), e il footer del batch viene comunque scritto, quindi finished_at non viene mai lasciato nullo.

Il runtime del container non monta il socket Docker, non pubblica le porte della dashboard, né include IDE desktop. L'immagine omette l'installer desktop agy di Antigravity; esegui Antigravity lato host finché non esiste un percorso di installazione headless:```bash bun run quorum run-all --coding-agents antigravity --jobs 1

root@kitploit:~
Per sweep di host con tutti gli agenti raggruppati, credenziali per agente, dettagli di montaggio auth e risoluzione dei problemi, utilizzare [docs/coding-agent-care-and-feeding.md](https://github.com/prime-radiant-inc/superpowers-evals/blob/HEAD/docs/coding-agent-care-and-feeding.md).

## Windows Runtime

Per valutazioni su Windows 11, usa `--os windows` (solo host Linux+KVM):```bash
bun run quorum run scenarios/<name> --coding-agent claude --os windows

Vedi docs/windows/eval-runtime.md per configurazione e implementazione.

Attori Canonici

Mantenere chiari gli attori; confonderli è l'errore di triage più comune. Questi nomi sono usati ovunque — documentazione, output CLI, codice, nomi di file, messaggi di commit.

Un run coinvolge due LLM — il Gauntlet-Agent (tester QA) e il Coding-Agent (soggetto). Modelli separati, log separati, costi di token separati.

Guide per l'Operatore

  • docs/scenario-authoring.md - anatomia dello scenario, costruzione di story/AC, helper di configurazione, verbi di controllo e trappole di authoring.
  • docs/appliance-runbook.md - regole operative per l'appliance remota condivisa per gli agenti.
  • docs/coding-agent-care-and-feeding.md - credenziali, sweeps, note di runtime per agente, e risoluzione dei problemi.
  • docs/adding-a-coding-agent.md - checklist per aggiungere un nuovo target di agente, launcher, provisioner, normalizer, e smoke.
  • docs/superpowers/skills/triaging-a-failing-eval.md - atlante di attribuzione per run non passati.
  • docs/baselines/ - baseline attuali note-come-buone per backend.

Asse Credenziali

La dimensione di valutazione è (scenario, coding-agent, credential, os). credentials.yaml nella root del repository definisce credenziali nominate; ogni voce dichiara il modello, il protocollo di connessione (api: openai-chat, openai-responses, anthropic, o gemini), opzionale base_url per endpoint non predefiniti, tipo di autenticazione (api-key, subscription, o oauth), opzionale api_key_env, le famiglie di runtime che serve (harnesses), e opzionali override dello scheduler (max_concurrency, launch_spacing_seconds) e un blocco (, ).

Ogni YAML di agente dichiara un default_credential. Sovrascrivi a runtime:```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` convalida `credentials.yaml` e `default_credential` di ogni agente.

Lo scheduler basa il proprio limite di concorrenza e il latch di rate-limit sulla **limiterKey** della credenziale — il `base_url` della credenziale se impostato, altrimenti il nome della credenziale, unito alla sua `api` (ad es. `https://…/v1|openai-chat`, o `opus|anthropic` per una credenziale nativa senza `base_url`). Le celle che condividono una limiterKey condividono un limite e un latch di rate-limit: una risposta di rate-limit su qualsiasi cella salta immediatamente tutte le celle rimanenti in coda per quell'endpoint.

Credenziali standard con nome (vedi `credentials.yaml`): `opus`, `sonnet`, `haiku` (Claude harness), `codex_sub` (abbonamento Codex), `kimi_default`, `openrouter_glm_5_2` (Pi predefinito), `pi_default` (opt-in Pi OAuth nativo), `opencode_gpt5`, `gemini_default`, `serf_default`, `glm_5_2_chat`, `glm_5_2_responses`, `ollama_local`.

### Campagne Serf esterne

Le campagne Serf di breve durata per modello/provider utilizzano un file di credenziali esterno, non il `credentials.yaml` canonico del repository. Passalo esplicitamente con `--credentials-file` a `quorum run`, `quorum run-all` o `quorum check`. Tieni il vero YAML della campagna e tutti gli artefatti grezzi delle esecuzioni fuori da Git: lo YAML contiene etichette di instradamento e il nome della variabile d'ambiente della chiave API selezionata, mai un valore di chiave.

Ogni preset di campagna deve fissare esattamente un modello e un provider, disabilitare i fallback, e non contenere override di prompt, sampling, reasoning, tool o limiti di token. Fornisci la sua chiave dedicata tramite il bundle di credenziali runtime affidabile. La chiave deve applicare la policy dei dati prevista dalla campagna, avere un limite di spesa per la campagna e, per una campagna a capacità condivisa, non avere binding BYOK. Un confronto BYOK è una campagna separata con una chiave separata e un file candidato separato.

Prima dell'invio, `run-all` analizza il file esterno una volta e scrive il suo snapshot canonico in `results/batches/<batch-id>/credentials.snapshot.yaml`; ogni figlio riceve quello snapshot immutabile. Un `quorum run` diretto scrive lo stesso snapshot canonico nella propria directory di esecuzione. Modificare lo YAML di origine dopo l'avvio di un batch non può cambiare le celle successive. Gli snapshot contengono metadati di instradamento conosciuti dallo schema e nomi di variabili d'ambiente, non valori segreti, ma rimangono parte degli artefatti di esecuzione sensibili.

Esegui prima lo smoke test neutrale rispetto all'agente, poi esegui lo scenario costoso solo per le credenziali il cui verdetto finale dello smoke test è `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 è la baseline sequenziale di latenza/costo. Una cella della matrice è un tentativo a pagamento; lo scheduler della campagna non ritenta o ripete automaticamente una cella. Visualizza il confronto etichettato con quorum costs <batch-id>. Solo le righe pass finali sono contrassegnate come confrontabili; fail e indeterminate rimangono visibili ma non classificate, e le misurazioni mancanti vengono visualizzate come mancanti anziché zero. Le colonne Charged, Estimated e Delta sono i costi del Coding-Agent. Le colonne esistenti --with-gauntlet sono overhead separati dell'harness Gauntlet-Agent.

L'accettazione live è lavoro manuale di manutentori fidati, mai automazione CI pubblica:

  1. Esegui una cella hello-world conosciuta come funzionante con --jobs 1.
  2. Ispeziona verdict.json, trajectory.json, openrouter-generations.json, coding-agent-token-usage.json e quorum costs <batch-id>. Conferma modello, provider, versione del preset, BYOK è false, bucket token/cache, durata, costo addebitato, stima, delta ed etichette dei candidati, inclusi quantizzazione e data del catalogo.
  3. Esegui una cella Fractals con --jobs 1; richiedi pass finale, ogni controllo deterministico, consegna con checkout del main confermata e una riga di confronto completa.
  4. Esegui due candidati hello-world con --jobs 2; conferma attribuzione distinta senza chiavi, generazioni, etichette o costi incrociati contaminati.
  5. Solo allora esegui una cella Fractals sequenziale per ogni candidato superato dal fumo.

Pubblica solo conclusioni revisionate e sanificate in una nota datata docs/experiments/, registrando sia fallimenti che successi. Il file YAML della campagna esterna e gli artefatti grezzi rimangono fuori da Git.

Comandi Principali```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` senza argomenti convalida ogni scenario e `credentials.yaml`.
`run-all` esegue ogni scenario incluso contro ogni Coding-Agent selezionato, filtrato dalla direttiva `# coding-agents:` di ogni scenario.

## Verdetto e Artefatti

quorum produce un verdetto a tre valori:

- `pass` - Gauntlet-Agent superato e ogni post-check superato.
- `fail` - Gauntlet-Agent fallito, o un post-check fallito.
- `indeterminate` - fallimento setup/pre-check/capture/quorum, Gauntlet `investigate`, o trace vuoto quando i trace checks sono presenti.

I codici di uscita sono 0 per `pass`, 1 per `fail` e 2 per `indeterminate`.

Ogni esecuzione produce una directory sotto `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/ è gitignored perché gli artefatti di esecuzione possono contenere trascrizioni sensibili, credenziali, chiamate di strumenti e stato del filesystem.

Controlli di Sicurezza

Questi sono i controlli previsti in CI e nelle PR di routine:```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` è il singolo gate (Biome lint/format + full-strict `tsc` + `bun test`); i singoli passi sono `bun run lint`, `bun run typecheck` e `bun test`.

## Architettura

quorum è **TypeScript su Bun**. La console è `bun run quorum <cmd>` (una CLI [commander](https://github.com/tj/commander.js) in `src/cli/index.ts`, esposta anche come bin `quorum`); il gate è `bun run check` (Biome + full-strict `tsc` + `bun test`).

Le strutture che attraversano i confini di processo e file — `verdict.json`, indici batch, economics, il risultato Gauntlet, YAML degli agent — sono **schemi zod** in `src/contracts/`, validati a ogni confine, in modo che un file esterno malformato fallisca rumorosamente invece di corrompere un verdetto. Il livello `cli/` analizza i comandi e li smista nella pipeline `runner/` (uno scenario × un Coding-Agent) o in `run-all/` (la matrice). Le differenze per Coding-Agent risiedono in due fan-out paralleli chiave per nome agente: `agents/` semina la configurazione dell'agente sotto il `$HOME` temporaneo per esecuzione (`<run>/home`), e `normalize/` trasforma il log di sessione di quell'agente in una traccia uniforme di chiamate a strumenti. Le chiamate live agente-CLI e altri sottoprocessi non ermetici passano attraverso il punto di giunzione `agents/command-runner.ts`, in modo che la suite unità inietti finti e non lanci mai una CLI reale. `scheduler/` è il motore di concorrenza condiviso sotto `run-all/`. Il dashboard è un pacchetto separato in sola lettura che scansiona `results/` e `grid-manifest.json`. `env.ts` è l'unico modulo che legge `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

Triage

Il triage di un run non riuscito inizia con:```bash bun run quorum show []

root@kitploit:~
Quindi utilizzare [docs/superpowers/skills/triaging-a-failing-eval.md](https://github.com/prime-radiant-inc/superpowers-evals/blob/HEAD/docs/superpowers/skills/triaging-a-failing-eval.md)
per l'atlante di attribuzione. Per i controlli di autenticazione, provisioning e acquisizione specifici dell'agente,
utilizzare [docs/coding-agent-care-and-feeding.md](https://github.com/prime-radiant-inc/superpowers-evals/blob/HEAD/docs/coding-agent-care-and-feeding.md).

Per la baseline attuale conosciuta come buona, vedere [docs/baselines/](https://github.com/prime-radiant-inc/superpowers-evals/blob/HEAD/docs/baselines/).

## Regole di Contribuzione

Questo repository eredita il livello di qualità di `superpowers`.

- Un problema per PR.
- Non fare commit di artefatti di esecuzione generati o segreti.
- Non aggiungere valutazioni live alla CI pubblica.
- Utilizzare il template PR e spiegare il rischio di sicurezza/lab di valutazione per le modifiche che riguardano configurazioni Coding-Agent, esecuzione shell, helper di setup, strumenti di controllo o input di Gauntlet-Agent.
- Le modifiche alla metodologia di valutazione che modella il comportamento necessitano di prove, non solo testo.

## Aggiornamento Submodulo Padre

`superpowers-evals` è consumato da `superpowers` come submodulo `evals`.
Dopo che qualsiasi PR viene unito a `main` qui, aprire un PR successivo contro il repository padre `superpowers` con destinazione `dev` che aggiorni il puntatore del submodulo `evals` al commit unito di `superpowers-evals`.

Non considerare un'unione di `superpowers-evals` come completamente propagata finché quel PR di aggiornamento del submodulo padre non esiste.

---

Segnalazione di sicurezza → [SECURITY.md](https://github.com/prime-radiant-inc/superpowers-evals/blob/HEAD/SECURITY.md).
Scarica lo strumento
$HOME
~/.claude
~/.codex
~/.gemini
~/.kimi-code
~/.pi
~/.copilot
~/.config
.copilot-env
AttoreCos'èDove risiede / i suoi file
GauntletFramework QA generico; la CLI gauntlet. Un tester black-box.repo github.com/prime-radiant-inc/gauntlet; su PATH come gauntlet (tramite bun link o GAUNTLET_ROOT)
Gauntlet-AgentL'LLM all'interno di Gauntlet che guida il Coding-Agent e si auto-valuta rispetto ai criteri di accettazione (AC) della storia.modello p.es. claude-sonnet-4-6; flusso di eventi → <run>/gauntlet-agent/results/<runId>/run.jsonl; verdetto → result.{json,md}
Coding-AgentL'agente sotto test — il SUT. Istanze: Claude, Codex, Antigravity, Gemini, Kimi, OpenCode, Pi, Copilot.config + log di sessione nella sua $HOME temporanea in <run>/home/…; i file che scrive → <run>/coding-agent-workdir/
QuorumIl wrapper TypeScript/Bun. Gestisce configurazione, adattamento del Coding-Agent, controlli deterministici e il verdetto finale.repo superpowers-evals/src/; <run>/verdict.json
compat
thinking_format
max_tokens_field