Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
superpowers-evals — Behaviorales Evaluierungslabor (Quorum) für das Superpowers-Projekt, das echte Coding-Agent-CLIs (Claude, Codex, Gemini, Kimi und weitere) durch einen QA-Agenten antreibt und sie hinsichtlich Workflow-Konformität gegenüber Szenarienkriterien und deterministischen Nachprüfungen bewertet | Kitploit
Tools/GitHubGitHub/prime-radiant-inc/superpowers-evals
Scripting & AutomatisierungPenetrationstestsDienstprogramme & FrameworksLernen & BildungKI-SicherheitLabs & Praxis
GitHubprime-radiant-inc/superpowers-evals

superpowers-evals

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

Über

Behaviorales Evaluierungslabor (Quorum) für das Superpowers-Projekt, das echte Coding-Agent-CLIs (Claude, Codex, Gemini, Kimi und weitere) durch einen QA-Agenten antreibt und sie hinsichtlich Workflow-Konformität gegenüber Szenarienkriterien und deterministischen Nachprüfungen bewertet

9712vor 1 TagVon Kitploit geprüft
Teilen

Superpowers Evals

Behaviorales Evaluierungslabor für Superpowers. Quorum treibt echte Coding-Agent-CLIs (Claude, Codex, Antigravity, Gemini, Kimi, OpenCode, Pi und Copilot) durch einen Gauntlet-QA-Agent und bewertet sie anhand von Szenario-Akzeptanzkriterien plus deterministischen Nachkontrollen.

Code, CLI, Pfade und Inline-Prosa verwenden alle Kleinbuchstaben quorum; die großgeschriebene Form Quorum erscheint in Überschriften und der Akteur-Tabelle.

Dies ist keine generische Benchmark-Suite. Es ist ein Evaluierungslabor für die Einhaltung von Arbeitsabläufen: Skill-Auslösung, Worktree-Verhalten, Koordination von Unteragenten, Verifikationsreflexe, Überprüfungsqualität und Kostengestaltungsmuster.

Sicherheitsmodell

quorum hat zwei sehr unterschiedliche Ausführungsmodi:

  • Statische/Unit-Prüfungen sind sicher für öffentliche CI. Sie führen biome, tsc und bun test aus. Sie rufen keine Modell-APIs auf und starten keine Agent-CLIs.
  • Live-Evaluierungen sind vertrauenswürdige Wartungsvorgänge. Sie starten Claude Code, Codex CLI, Antigravity CLI, Gemini CLI, Kimi Code, OpenCode CLI, Pi CLI oder Copilot CLI in permissiven Modi und sammeln rohe Transkripte, Tool-Aufrufe, Dateisystemzustand und Sitzungsprotokolle.

Öffentliche CI muss auf der statischen/Unit-Seite dieser Linie bleiben. Fügen Sie niemals API-Schlüssel, Live-quorum run …-Aufrufe oder gefährliche Modus-Agentenstarts zu öffentlicher CI hinzu.

Risiko von Live-Evaluierungen

Live-Evaluierungen führen den getesteten Coding-Agent mit weitreichenden Ausführungsberechtigungen aus:

  • Claude verwendet --dangerously-skip-permissions.
  • Codex verwendet --dangerously-bypass-approvals-and-sandbox.
  • Antigravity verwendet --dangerously-skip-permissions und verlässt sich auf lokale Browser-/Keyring-Authentifizierung für agy.
  • Gemini verwendet --skip-trust --approval-mode=yolo; API-Key-Auth ist Standard, mit optionaler OAuth-Auth für vertrauenswürdige lokale Läufe.
  • Kimi verwendet --yolo.
  • OpenCode verwendet --dangerously-skip-permissions.
  • Pi verwendet explizite Tool-Allowlists und API-Key-Auth in einem lauf-lokalen Konfigurationsverzeichnis.
  • Copilot verwendet --allow-all.

quorum setzt für jeden Coding-Agent HOME (plus die XDG-Basisverzeichnisse und TMPDIR) auf ein Wegwerf-Pro-Lauf-Home unter <run>/home fest – der Launcher setzt das von src/agents/home-env.ts erstellte $QUORUM_HOME_ENV- Token ein (xdgHomeEnv, die einzige Quelle der Wahrheit). Das Konfigurationsverzeichnis jedes Agenten wird unter dieses Home geklappt (Claude .claude, Codex .codex, Gemini ., OpenCode ., Antigravity ., Copilot .copilot, Kimi .kimi-code, Pi .pi/agent), sodass der Coding-Agent seine Konfiguration über seine eigene -Vorgabe findet und niemals das echte , , , , , , des Hosts oder andere heimrelative Zustände, installierte Plugins oder vorherige Sitzungen sieht. Die Bereitstellung fügt die Konfiguration – und die Host-OAuth-Anmeldeinformationen, die jeder Agent benötigt – vor dem Start in dieses Wegwerf-Home ein, sodass kein Login zur Laufzeit erforderlich ist. Copilot legt außerdem das lokale Superpowers-Plugin unter dem isolierten Home bereit, verwendet eine zugelassene äußere Umgebung und schreibt eine geheimnistragende mit chmod-0600 in das Laufverzeichnis. Das verringert den Schadensradius, ist aber keine Sandbox. OpenCode- und Copilot-Starter verwenden zusätzlich zugelassene Umgebungen, aber Live-Coding-Agenten laufen dennoch mit weitreichenden Dateisystem- und Befehlsausführungsberechtigungen.

Führen Sie Live-Evaluierungen nur aus einer vertrauenswürdigen lokalen Umgebung aus:

  • Exportieren Sie nur den für den ausgewählten Coding-Agent benötigten API-Schlüssel.
  • Vermeiden Sie das Ausführen mit umfangreichen Produktions- oder persönlichen Geheimnissen in der Umgebung.
  • Behandeln Sie results/, rohe Sitzungsprotokolle, Sitzungszustand/Tool-Aufruf-Artefakte und Gauntlet-Agent-Eingaben als vertraulich.
  • Übergeben oder fügen Sie rohe Lauf-Artefakte nicht ein, ohne sie zuvor zu überprüfen.

Schnellstart

Installieren und führen Sie die statischen Prüfungen aus:```bash bun install bun run check bun run quorum check

root@kitploit:~
Führen Sie ein lokales oder break-glass-Szenario außerhalb des Containers aus:```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>

Der Gauntlet-Agent (QA-Treiber) authentifiziert sich standardmäßig bei Anthropic mit ANTHROPIC_API_KEY. Um ihn stattdessen über ein eingeloggtes Claude-Abonnement zu betreiben, setzen Sie CLAUDE_CODE_OAUTH_TOKEN (von claude setup-token) in der Umgebung (z. B. .env); das Harness leitet es weiter und gauntlet bevorzugt es gegenüber dem API-Schlüssel. Hinweis: Ein Abonnement hat Nutzungslimits, die für interaktive Nutzung ausgelegt sind — hochparallele run-all-Batches können diese erreichen, daher bleibt der API-Schlüssel für hohe Last die bessere Wahl.

Agentennamen sind claude, codex, antigravity, gemini, kimi, opencode, pi und copilot. Nicht jedes Szenario ist für jeden Agenten gültig.

BREAKING (Anmeldedatenachse): claude-haiku und claude-sonnet sind keine separaten Agentennamen mehr. Um das Claude-Harness gegen Sonnet oder Haiku auszuführen:```bash bun run quorum run scenarios/ --coding-agent claude --credential sonnet bun run quorum run scenarios/ --coding-agent claude --credential haiku

root@kitploit:~
The `claude` agent's default credential is `opus`.

## Shared Eval Appliance

Shared remote live evals are designed to run from a trusted appliance host with one blessed credential bundle, exact repo/ref provenance, host locks, and recoverable job records. Agents should use the appliance helper once it exists on the configured host:```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>

Die Zielschnittstelle und die Betriebsregeln befinden sich in docs/appliance-runbook.md, unterstützt durch docs/superpowers/specs/2026-06-18-shared-eval-appliance-design.md. doctor ist schreibgeschützt. prepare gibt lock_busy zurück, anstatt Referenzen zu ändern, während ein laufender Job aktiv ist. Host-Zugriff und anbieter-spezifische Break-Glass-Verfahren werden absichtlich aus diesem öffentlichen Repository ferngehalten; verwenden Sie das private Ops-Runbook für diese Details. Rohe bun run quorum ... und scripts/evals-container exec quorum ... bleiben lokale oder vertrauenswürdige Break-Glass-Workflows für gemeinsame Live-Evals.

Container-Laufzeitumgebung

Die Docker-Laufzeitumgebung ist das primäre Rezept für reale Suite-Läufe. Sie behält das Evals-Checkout, das Superpowers-Checkout unter Test, Anmeldeinformationen, Authentifizierungsquellen und alle Lauf-Artefakte auf dem Host, während Quorum innerhalb eines umfangreichen Ubuntu-Workspace-Containers läuft.

Erstellen Sie .env.container oder übergeben Sie eine explizite Umgebungsdatei an 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:~
Dann baue, starte und validiere den 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

Der Wrapper mountet diesen Evals-Checkout unter /workspace/evals, den übergeordneten Superpowers-Checkout unter /workspace/superpowers und das Host-results/-Verzeichnis unter /workspace/evals/results. Überschreiben Sie den Superpowers-Checkout mit --superpowers-root <verz>, wenn der Standard-Pfad des übergeordneten Verzeichnisses nicht das getestete System ist.

Der Image-Build benötigt einen lokalen Gauntlet-Checkout. Der Wrapper findet ihn über GAUNTLET_ROOT oder eine globale Bun-Installation mit bun link; verwenden Sie --gauntlet-root <verz> mit build, um explizit auszuwählen.

Anmeldeinformationen werden als schreibgeschützte Mounts bereitgestellt. Standardmäßig verwendet up zuerst .env.container, dann .env, und mountet die erste gefundene Datei unter /run/evals/credentials.env. Übergeben Sie --env-file <datei> vor up, um explizit auszuwählen. Der Wrapper übergibt die Host-Umgebung nicht pauschal; nur der quorum-Shim innerhalb des Containers lädt die Dotenv-Datei, sodass scripts/evals-container exec bash ... nicht automatisch aktuelle Eval-Anmeldeinformationen erhält. Verwenden Sie down, bevor Sie den Env-File-Mount an einem vorhandenen Container ändern.

OAuth-/Datei-Authentifizierungsquellen sind ebenfalls schreibgeschützt. Vorhandene Verzeichnisse ~/.codex, ~/.gemini, ~/.kimi-code und ~/.pi werden unter /auth/codex, /auth/gemini, /auth/kimi-code und /auth/pi eingehängt. Verwenden Sie --auth codex=<verz>, --auth gemini=<verz>, --auth kimi=<verz> oder --auth pi=<verz>, um eine Quelle zu überschreiben.

Starten Sie mit der Sentinelsuite:```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:~
Führen Sie dieselben Befehle ohne `--tier sentinel` für die vollständige einsatzbereite Suite aus.
`run-all` schreibt jeden Batch unter `results/batches/<batch-id>/` und jeden Durchlauf
unter `results/<scenario>-<agent>-<os>-<timestamp>-<nonce>/`; rendern Sie einen Batch
mit:```bash
scripts/evals-container exec quorum show <batch-id>

run-all gibt einen periodischen Lebendigkeits-Herzschlag aus (⋯ … · running N/jobs · done D · queued Q · [agent:scenario, …]); passen Sie es mit --heartbeat-seconds <n> an (0 deaktiviert). Das Unterbrechen eines Batches – Strg-C oder das Schließen der exec-Sitzung – beendet ihn ordnungsgemäß: Die Warteschlange wird abgebrochen, laufende Ausführungen erhalten SIGINT (und werden als gestoppt aufgezeichnet), und der Batch-Footer wird trotzdem geschrieben, sodass finished_at niemals null bleibt.

Die Container-Laufzeitumgebung mountet den Docker-Socket nicht, veröffentlicht keine Dashboard-Ports und enthält keine Desktop-IDEs. Das Image enthält den Desktop-Installer agy von Antigravity nicht; führen Sie Antigravity host-seitig aus, bis es einen installationspfad ohne grafische Oberfläche gibt:```bash bun run quorum run-all --coding-agents antigravity --jobs 1

root@kitploit:~
For grouped all-agent host sweeps, per-agent credentials, auth mount details,
and troubleshooting, use [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-Laufzeit

Für Evaluierungen unter Windows 11 verwenden Sie `--os windows` (nur Linux+KVM-Hosts):```bash
bun run quorum run scenarios/<name> --coding-agent claude --os windows

Siehe docs/windows/eval-runtime.md für Einrichtung und Bereitstellung.

Kanonische Akteure

Behalten Sie die Akteure klar im Blick; sie zu verwechseln ist der häufigste Triage-Fehler. Diese Namen werden überall verwendet – in Dokumentationen, CLI-Ausgaben, Code, Dateinamen, Commit-Nachrichten.

Ein Durchlauf umfasst zwei LLMs – den Gauntlet-Agent (QA-Tester) und den Coding-Agent (Proband). Getrennte Modelle, getrennte Logs, getrennte Token-Kosten.

Bedienerleitfäden

  • docs/scenario-authoring.md – Szenario-Anatomie, Story/AC-Erstellung, Setup-Helfer, Check-Verben und Autorenfallen.
  • docs/appliance-runbook.md – gemeinsame Betriebsregeln für Remote-Appliance für Agenten.
  • docs/coding-agent-care-and-feeding.md – Anmeldeinformationen, Sweeps, laufzeitspezifische Hinweise pro Agent und Fehlerbehebung.
  • docs/adding-a-coding-agent.md – Checkliste zum Hinzufügen eines neuen Agent-Ziels, Launcher, Provisioner, Normalizer und Smoke-Tests.
  • docs/superpowers/skills/triaging-a-failing-eval.md – Zuordnungsatlas für nicht bestandene Durchläufe.
  • docs/baselines/ – aktuelle bekannte gute Baselines nach Backend.

Achse der Anmeldeinformationen

Die Evaluierungsdimension ist (Szenario, Coding-Agent, credential, os). credentials.yaml im Repo-Stammverzeichnis definiert benannte Anmeldeinformationen; jeder Eintrag deklariert das Modell, das Übertragungsprotokoll (api: openai-chat, openai-responses, anthropic oder gemini), optional base_url für nicht standardmäßige Endpunkte, Authentifizierungstyp (api-key, subscription oder oauth), optional api_key_env, die Laufzeitfamilien, die es bedient (harnesses), und optionale Scheduler-Überschreibungen (max_concurrency, launch_spacing_seconds) sowie einen -Block (, ).

Jedes Agent-YAML deklariert ein default_credential. Überschreiben zur Laufzeit:```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` validiert `credentials.yaml` und die `default_credential` jedes Agents.

Der Scheduler richtet seinen Parallelitätsdeckel und seinen Ratenbegrenzungsriegel am **limiterKey** der Zugangsdaten aus — der `base_url` der Zugangsdaten, sofern gesetzt, andernfalls der Name der Zugangsdaten, verknüpft mit seiner `api` (z. B. `https://…/v1|openai-chat` oder `opus|anthropic` für eine native Zugangsdaten ohne `base_url`).

Zellen, die einen limiterKey gemeinsam nutzen, teilen sich einen Deckel und einen Ratenbegrenzungsriegel: Eine Ratenbegrenzungsantwort auf eine Zelle überspringt sofort alle verbleibenden in der Warteschlange befindlichen Zellen für diesen Endpunkt.

Standardmäßig benannte Zugangsdaten (siehe `credentials.yaml`): `opus`, `sonnet`, `haiku` (Claude-Harness), `codex_sub` (Codex-Abonnement), `kimi_default`, `openrouter_glm_5_2` (Pi-Standard), `pi_default` (nativer Pi-OAuth-Opt-In), `opencode_gpt5`, `gemini_default`, `serf_default`, `glm_5_2_chat`, `glm_5_2_responses`, `ollama_local`.

### Externe Serf-Kampagnen

Kurzlebige Serf-Modell-/Provider-Kampagnen verwenden eine externe Zugangsdatendatei, nicht das kanonische `credentials.yaml` des Repositorys. Übergeben Sie sie explizit mit `--credentials-file` an `quorum run`, `quorum run-all` oder `quorum check`. Bewahren Sie das eigentliche Kampagnen-YAML und alle Rohausführungsartefakte außerhalb von Git auf: Das YAML enthält Routing-Labels und den ausgewählten API-Schlüssel-Umgebungsvariablennamen, niemals einen Schlüsselwert.

Jeder Kampagnenvorlage muss genau ein Modell und einen Anbieter festlegen, Fallbacks deaktivieren und keine Überschreibungen für Prompt, Sampling, Reasoning, Tool oder Token-Limit enthalten. Stellen Sie ihren dedizierten Schlüssel über das vertrauenswürdige Laufzeit-Zugangsdatenpaket bereit. Der Schlüssel muss die beabsichtigte Datenrichtlinie der Kampagne durchsetzen, ein Kampagnenausgabenlimit haben und für eine gemeinsame Kapazitätskampagne keine BYOK-Bindung aufweisen. Ein BYOK-Vergleich ist eine separate Kampagne mit einem separaten Schlüssel und einer Kandidatendatei.

Vor dem Dispatch parst `run-all` die externe Datei einmal und schreibt deren kanonischen Snapshot nach `results/batches/<batch-id>/credentials.snapshot.yaml`; jedes Kind erhält diesen unveränderlichen Snapshot. Ein direkter `quorum run` schreibt denselben kanonischen Snapshot in sein Ausführungsverzeichnis. Das Bearbeiten des Quell-YAML nach Batchstart kann spätere Zellen nicht ändern. Snapshots enthalten schema-bekannte Routing-Metadaten und Umgebungsvariablennamen, keine Geheimniswerte, aber sie bleiben Teil der sensiblen Ausführungsartefakte.

Führen Sie zuerst den agentenneutralen Smoke-Test durch, dann führen Sie das teure Szenario nur für Zugangsdaten aus, deren endgültiges Smoke-Urteil `pass` lautet:```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 ist die sequentielle Latenz-/Kosten-Basislinie. Eine Matrix-Zelle ist ein bezahlter Versuch; der Kampagnenplaner wiederholt oder wiederholt keine Zelle automatisch. Stellen Sie den beschrifteten Vergleich mit quorum costs <batch-id> dar. Nur endgültige pass-Zeilen werden als vergleichbar markiert; fail und indeterminate bleiben sichtbar, aber ohne Rangfolge, und fehlende Messungen werden als fehlend und nicht als Null dargestellt. Die Spalten für berechnete Kosten, geschätzte Kosten und Delta sind Coding-Agent-Kosten. Die vorhandenen --with-gauntlet-Spalten sind separate Gauntlet-Agent-Testumgebungs-Overhead.

Die Live-Abnahme ist manuelle Arbeit vertrauenswürdiger Maintainer und niemals öffentliche CI-Automatisierung:

  1. Führen Sie eine bekannte funktionierende Hello-World-Zelle mit --jobs 1 aus.
  2. Überprüfen Sie verdict.json, trajectory.json, openrouter-generations.json, coding-agent-token-usage.json und quorum costs <batch-id>. Bestätigen Sie Modell, Anbieter, Preset-Version, BYOK ist false, Token/Cache-Buckets, Dauer, berechnete Kosten, Schätzung, Delta und Kandidatenbezeichnungen, einschließlich Quantisierung und Katalogdatum.
  3. Führen Sie eine Fractals-Zelle mit --jobs 1 aus; erfordern Sie endgültiges pass, jede deterministische Prüfung, eine festgeschriebene Main-Checkout-Lieferung und eine vollständige Vergleichszeile.
  4. Führen Sie zwei Hello-World-Kandidaten mit --jobs 2 aus; bestätigen Sie eindeutige Zuordnung ohne kreuzkontaminierte Schlüssel, Generierungen, Bezeichnungen oder Wirtschaftlichkeiten.
  5. Erst dann führen Sie eine sequentielle Fractals-Zelle pro Smoke-Test-bestehenden Kandidaten aus.

Veröffentlichen Sie nur release-geprüfte, bereinigte Schlussfolgerungen in einer datierten docs/experiments/-Notiz, die sowohl Fehlschläge als auch Erfolge festhält. Externe Kampagnen- YAML und Rohartefakte bleiben außerhalb von Git.

Kernbefehle```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` mit keinen Argumenten validiert jedes Szenario und die `credentials.yaml`.
`run-all` führt jedes enthaltene Szenario gegen jeden ausgewählten Coding-Agent aus,
gefiltert nach der `# coding-agents:`-Direktive jedes Szenarios.

## Urteile und Artefakte

quorum erzeugt ein dreiwertiges Urteil:

- `pass` - Gauntlet-Agent bestanden und jeder Post-Check bestanden.
- `fail` - Gauntlet-Agent nicht bestanden oder ein Post-Check nicht bestanden.
- `indeterminate` - Setup/Pre-Check/Capture/Quorum-Fehler, Gauntlet
  `investigate` oder leerer Trace, wenn Trace-Prüfungen vorhanden sind.

Exit-Codes sind 0 für `pass`, 1 für `fail` und 2 für `indeterminate`.

Jeder Lauf erzeugt ein Verzeichnis unter `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/ wird von git ignoriert, da Ausführungsartefakte sensible Transkripte, Anmeldeinformationen, Tool-Aufrufe und Dateisystemzustand enthalten können.

Sichere Prüfungen

Dies sind die Prüfungen, die in CI und bei routinemäßigen PRs erwartet werden:```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` ist das einzelne Tor (Biome lint/format + full-strict `tsc` +
`bun test`); die einzelnen Schritte sind `bun run lint`, `bun run typecheck`, und
`bun test`.

## Architecture

quorum ist **TypeScript auf Bun**. Die Konsole ist `bun run quorum <cmd>` (ein
[commander](https://github.com/tj/commander.js) CLI unter `src/cli/index.ts`, auch
als das `quorum`-Bin bereitgestellt); das Tor ist `bun run check`
(Biome + full-strict `tsc` + `bun test`).

Die Strukturen, die Prozess- und Dateigrenzen überschreiten — `verdict.json`, Batch-
Indizes, Ökonomie, das Gauntlet-Ergebnis, Agent-YAML — sind **zod-Schemata** in
`src/contracts/`, die an jeder Grenze validiert werden, sodass eine fehlerhafte externe Datei
laut scheitert, anstatt ein Urteil zu korrumpieren. Die `cli/`-Schicht parst Befehle
und leitet in die `runner/`-Pipeline (ein Szenario × ein Coding-Agent) oder
`run-all/` (die Matrix) weiter. Unterschiede pro Coding-Agent leben in zwei parallelen
Fan-Outs, die nach Agentenname indiziert sind: `agents/` befüllt die Konfiguration des
Agenten unter dem wegwerfbaren Pro-Lauf `$HOME` (`<run>/home`), und `normalize/` wandelt
das Sitzungsprotokoll dieses Agenten in eine einheitliche Tool-Call-Spur um. Live-Agent-CLI-
Aufrufe und andere nicht-hermetische Unterprozesse gehen durch die
`agents/command-runner.ts`-Nahtstelle, sodass die Unit-Testsuite Fakes einspritzt und niemals
eine echte CLI startet. `scheduler/` ist die gemeinsame Nebenläufigkeits-Engine unter
`run-all/`. Das Dashboard ist ein separates schreibgeschütztes Paket, das `results/`
und `grid-manifest.json` scannt. `env.ts` ist das einzige Modul, das `process.env` liest.```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

Das Triaging eines nicht bestandenen Durchlaufs beginnt mit:```bash bun run quorum show []

root@kitploit:~
Dann verwenden Sie [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)  
für den Attributionsatlas. Für agentspezifische Authentifizierungs-, Bereitstellungs- und Erfassungsprüfungen verwenden Sie [docs/coding-agent-care-and-feeding.md](https://github.com/prime-radiant-inc/superpowers-evals/blob/HEAD/docs/coding-agent-care-and-feeding.md).

Für die aktuelle bekannte Basislinie siehe [docs/baselines/](https://github.com/prime-radiant-inc/superpowers-evals/blob/HEAD/docs/baselines/).

## Beitragsregeln

Dieses Repository übernimmt die Qualitätsanforderungen von `superpowers`.

- Ein Problem pro PR.
- Keine generierten Artefakte oder Geheimnisse committen.
- Keine Live-Evals in öffentliche CI aufnehmen.
- Die PR-Vorlage verwenden und das Sicherheits-/Eval-Lab-Risiko für Änderungen erläutern, die Coding-Agent-Konfigurationen, Shell-Ausführung, Setup-Helfer, Prüfwerkzeuge oder Gauntlet-Agent-Eingaben betreffen.
- Änderungen an der verhaltensprägenden Eval-Methodik benötigen Belege, nicht nur Prosa.

## Übergeordneter Submodule-Bump

`superpowers-evals` wird von `superpowers` als das `evals`-Submodul verwendet.  
Öffnen Sie nach jedem Merge eines PR in `main` hier einen Folge-PR gegen das übergeordnete `superpowers`-Repository, das auf `dev` abzielt, der den `evals`-Submodul-Zeiger auf den gemergeten `superpowers-evals`-Commit setzt.

Behandeln Sie einen `superpowers-evals`-Merge erst dann als vollständig propagiert, wenn dieser übergeordnete Submodule-Bump-PR existiert.

---

Sicherheitsmeldungen → [SECURITY.md](https://github.com/prime-radiant-inc/superpowers-evals/blob/HEAD/SECURITY.md).
Tool herunterladen
$HOME
~/.claude
~/.codex
~/.gemini
~/.kimi-code
~/.pi
~/.copilot
~/.config
.copilot-env
AkteurWas es istOrt / Dateien
GauntletAllgemeines QA-Framework; die gauntlet CLI. Ein Black-Box-Tester.Repo github.com/prime-radiant-inc/gauntlet; unter PATH als gauntlet (über bun link oder GAUNTLET_ROOT)
Gauntlet-AgentDas LLM innerhalb von Gauntlet, das den Coding-Agent antreibt und sich selbst anhand der Story-ACs bewertet.Modell z. B. claude-sonnet-4-6; Ereignisstrom → <run>/gauntlet-agent/results/<runId>/run.jsonl; Urteil → result.{json,md}
Coding-AgentDer zu testende Agent – das SUT. Instanzen: Claude, Codex, Antigravity, Gemini, Kimi, OpenCode, Pi, Copilot.Konfiguration + Sitzungsprotokoll unter seinem temporären $HOME bei <run>/home/…; die von ihm geschriebenen Dateien → <run>/coding-agent-workdir/
QuorumDer TypeScript/Bun-Wrapper. Verantwortlich für Setup, Coding-Agent-Anpassung, deterministische Prüfungen und das endgültige Urteil.Repo superpowers-evals/src/; <run>/verdict.json
compat
thinking_format
max_tokens_field