Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
superpowers-evals — Поведенческая оценочная лаборатория (Quorum) для проекта superpowers, который управляет реальными coding-agent CLI (Claude, Codex, Gemini, Kimi и другими) через QA-агента и оценивает их соблюдение workflow на основе критериев сценариев и детерминированных post-checks. | Kitploit
Инструменты/GitHubGitHub/prime-radiant-inc/superpowers-evals
Скриптинг и автоматизацияТестирование на ПроникновениеУтилиты и фреймворкиОбучение и ОбразованиеБезопасность ИИЛаборатории и Практика
GitHubprime-radiant-inc/superpowers-evals

superpowers-evals

Поведенческая оценочная лаборатория (Quorum) для проекта superpowers, который управляет реальными coding-agent CLI (Claude, Codex, Gemini, Kimi и другими) через QA-агента и оценивает их соблюдение workflow на основе критериев сценариев и детерминированных post-checks.

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий
97121 день назадПроверено Kitploit

Superpowers Evals

Лаборатория поведенческого оценивания для superpowers. Quorum управляет реальными CLI кодирующих агентов (Claude, Codex, Antigravity, Gemini, Kimi, OpenCode, Pi и Copilot) через QA-агента Gauntlet и оценивает их по критериям приемки сценариев и детерминированным пост-проверкам.

Код, CLI, пути и встроенный прозаический текст используют строчные буквы quorum; форма с заглавной буквы Quorum появляется в заголовках и таблице акторов.

Это не универсальный набор тестов. Это лаборатория оценивания для соответствия рабочим процессам: запуск навыков, поведение рабочего дерева, координация субагентов, рефлексы проверки, качество рецензирования и шаблоны формирования затрат.

Модель безопасности

quorum имеет два очень разных режима выполнения:

  • Статические/юнит-проверки безопасны для публичного CI. Они запускают biome, tsc и bun test. Они не вызывают API моделей и не запускают CLI агентов.
  • Живые оценки — операции для доверенных мейнтейнеров. Они запускают Claude Code, Codex CLI, Antigravity CLI, Gemini CLI, Kimi Code, OpenCode CLI, Pi CLI или Copilot CLI в разрешительных режимах и собирают сырые транскрипты, вызовы инструментов, состояние файловой системы и журналы сессий.

Публичный CI должен оставаться на статической/юнит-стороне этой линии. Никогда не добавляйте API-ключи, вызовы quorum run … в живом режиме или запуски агентов в опасном режиме в публичный CI.

Риск живых оценок

Живые оценки запускают тестируемого кодирующего агента с широкими полномочиями:

  • Claude использует --dangerously-skip-permissions.
  • Codex использует --dangerously-bypass-approvals-and-sandbox.
  • Antigravity использует --dangerously-skip-permissions и полагается на локальную аутентификацию браузера/связки ключей для agy.
  • Gemini использует --skip-trust --approval-mode=yolo; аутентификация по API-ключу по умолчанию, с опциональной OAuth-аутентификацией для доверенных локальных запусков.
  • Kimi использует --yolo.
  • OpenCode использует --dangerously-skip-permissions.
  • Pi использует явные списки разрешенных инструментов и аутентификацию по API-ключу в локальном каталоге конфигурации.
  • Copilot использует --allow-all.

quorum фиксирует HOME каждого кодирующего агента (плюс базовые каталоги XDG и TMPDIR) на одноразовый домашний каталог для каждого запуска по пути <run>/home — лаунчер вставляет токен $QUORUM_HOME_ENV, созданный src/agents/home-env.ts (xdgHomeEnv, единственный источник истины). Каталог конфигурации каждого агента находится внутри этого домашнего каталога (Claude .claude, Codex .codex, Gemini ., OpenCode ., Antigravity ., Copilot .copilot, Kimi .kimi-code, Pi .pi/agent), так что кодирующий агент находит свою конфигурацию через свой по умолчанию и никогда не видит реальные , , , , , , хоста или другие состояния, плагины или предыдущие сессии, связанные с домашним каталогом. Подготовка (provisioning) помещает конфигурацию — и учетные данные OAuth хоста, необходимые каждому агенту — в этот одноразовый домашний каталог перед запуском, так что логин во время выполнения не требуется. Copilot также размещает локальный плагин Superpowers в изолированном домашнем каталоге, использует разрешенное внешнее окружение и записывает файл с секретами с правами chmod 0600 внутри каталога запуска. Это сужает радиус поражения, но не является песочницей. Лаунчеры OpenCode и Copilot дополнительно используют разрешенные окружения, но живые кодирующие агенты по-прежнему имеют широкие полномочия по работе с файловой системой и выполнению команд.

Запускайте живые оценки только из доверенного локального окружения:

  • Экспортируйте только API-ключ, необходимый для выбранного кодирующего агента.
  • Избегайте запуска с широкими производственными или личными секретами в окружении.
  • Относитесь к results/, сырым журналам сессий, артефактам состояния сессии/вызовов инструментов и входным данным Gauntlet-Agent как к конфиденциальным.
  • Не коммитьте и не вставляйте сырые артефакты запуска без предварительной проверки.

Быстрый старт

Установите и запустите статические проверки:```bash bun install bun run check bun run quorum check

root@kitploit:~
Запустите один локальный сценарий или сценарий экстренного доступа вне контейнера:```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>

Драйвер Gauntlet-Agent (QA драйвер) по умолчанию аутентифицируется в Anthropic с помощью ANTHROPIC_API_KEY. Чтобы управлять им из залогиненной подписки Claude, вместо этого установите CLAUDE_CODE_OAUTH_TOKEN (из claude setup-token) в окружении (например, .env); обвязка передаёт его, и gauntlet предпочитает его API-ключу. Примечание: у подписки есть лимиты использования, рассчитанные на интерактивное использование — высококонкурентные пакеты run-all могут их достичь, поэтому API-ключ остаётся лучшим вариантом для тяжёлой нагрузки.

Имена агентов: claude, codex, antigravity, gemini, kimi, opencode, pi и copilot. Не каждый сценарий действителен для каждого агента.

КРИТИЧЕСКОЕ ИЗМЕНЕНИЕ (ось учётных данных): claude-haiku и claude-sonnet больше не являются отдельными именами агентов. Чтобы запустить обвязку Claude против Sonnet или Haiku:```bash bun run quorum run scenarios/ --coding-agent claude --credential sonnet bun run quorum run scenarios/ --coding-agent claude --credential haiku

root@kitploit:~
Учётные данные по умолчанию для агента `claude` — `opus`.

## Общее устройство для оценок

Общие удалённые интерактивные оценки предназначены для выполнения с доверенного хоста-устройства с одним одобренным набором учётных данных, точным указанием источника репозитория/ссылки, блокировками хоста и восстанавливаемыми записями заданий. Агенты должны использовать вспомогательное устройство (appliance helper) после его появления на настроенном хосте:```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 является основным рецептом для реальных запусков наборов тестов. Она сохраняет рабочие копии evals, проверяемую рабочую копию Superpowers, учетные данные, источники аутентификации и все артефакты запуска на хосте, в то время как quorum работает внутри полнофункционального контейнера Ubuntu workspace.

Создайте .env.container или передайте явный файл окружения в 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:~
Затем соберите, запустите и проверьте контейнер:```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 с помощью --superpowers-root <dir>, если путь по умолчанию не является тестируемой системой.

Для сборки образа требуется локальный репозиторий Gauntlet. Обёртка находит его по переменной GAUNTLET_ROOT или глобальной установке Bun через bun link; используйте --gauntlet-root <dir> вместе с build, чтобы явно указать расположение.

Учётные данные монтируются только для чтения. По умолчанию up сначала проверяет .env.container, затем .env и монтирует первый найденный файл в /run/evals/credentials.env. Передайте --env-file <file> перед up, чтобы явно указать файл. Обёртка не передаёт всё окружение хоста целиком; только внутриконтейнерный shim quorum загружает dotenv-файл, поэтому scripts/evals-container exec bash ... не получает автоматически актуальные учётные данные для eval. Используйте down перед изменением монтирования env-файла в существующем контейнере.

Источники 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

root@kitploit:~
Выполните те же команды без `--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 выводит периодический сигнал активности (heartbeat) (⋯ … · running N/jobs · done D · queued Q · [agent:scenario, …]); настройте его с помощью --heartbeat-seconds <n> (0 отключает). Прерывание пакета — Ctrl-C или закрытие сессии exec — останавливает его корректно: очередь отменяется, выполняющиеся запуски получают SIGINT (и помечаются как остановленные), а нижний колонтитул пакета все равно записывается, поэтому finished_at никогда не остается null.

Среда выполнения контейнера не монтирует сокет Docker, не публикует порты панели мониторинга и не включает настольные IDE. В образе отсутствует настольный установщик agy от Antigravity; запускайте Antigravity на стороне хоста, пока не появится путь безголовой установки:```bash bun run quorum run-all --coding-agents antigravity --jobs 1

root@kitploit:~
Для групповых обходов хостов со всеми агентами, учетных данных на агента, деталей монтирования аутентификации и устранения неполадок используйте [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

Для оценок на Windows 11 используйте `--os windows` (только хосты Linux+KVM):```bash
bun run quorum run scenarios/<name> --coding-agent claude --os windows

Смотрите docs/windows/eval-runtime.md для настройки и развертывания.

Канонические участники

Не путайте участников; их перепутывание — самая распространенная ошибка при триаже. Эти имена используются повсюду — в документации, выводе CLI, коде, именах файлов, сообщениях коммитов.

Запуск включает две LLM — Gauntlet-Agent (тестировщик QA) и Coding-Agent (испытуемый). Отдельные модели, отдельные журналы, отдельные затраты токенов.

Руководства по эксплуатации

  • docs/scenario-authoring.md — анатомия сценария, создание истории/AC, вспомогательные средства настройки, глаголы проверок и ловушки авторства.
  • docs/appliance-runbook.md — общие правила эксплуатации удаленного устройства для агентов.
  • docs/coding-agent-care-and-feeding.md — учетные данные, развертывания, заметки по времени выполнения каждого агента и устранение неполадок.
  • docs/adding-a-coding-agent.md — контрольный список для добавления новой цели агента, лаунчера, провизионера, нормализатора и smoke-теста.
  • docs/superpowers/skills/triaging-a-failing-eval.md — атлас атрибуции для непроходных запусков.
  • docs/baselines/ — текущие известные рабочие эталоны по бэкендам.

Ось учетных данных

Измерение оценки — (сценарий, coding-agent, учетные данные, ОС). Файл credentials.yaml в корне репозитория определяет именованные учетные данные; каждая запись объявляет модель, протокол передачи (api: openai-chat, openai-responses, anthropic или gemini), необязательный base_url для нестандартных конечных точек, тип аутентификации (api-key, subscription или oauth), необязательный api_key_env, семейства времени выполнения, которые он обслуживает (harnesses), и необязательные переопределения планировщика (max_concurrency, launch_spacing_seconds), а также блок (, ).

Каждый YAML агента объявляет default_credential. Переопределение во время выполнения:```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` проверяет `credentials.yaml` и `default_credential` каждого агента.

Планировщик привязывает свой лимит параллелизма и блокировку ограничения скорости к **limiterKey** учетных данных — это `base_url` учетных данных, если он задан, иначе имя учетных данных, объединенное с их `api` (например, `https://…/v1|openai-chat` или `opus|anthropic` для собственных учетных данных без `base_url`). Ячейки, имеющие общий limiterKey, разделяют один лимит и одну блокировку: ответ об ограничении скорости на любой ячейке немедленно пропускает все остальные ожидающие ячейки для этой конечной точки.

Стандартные именованные учетные данные (см. `credentials.yaml`): `opus`, `sonnet`, `haiku` (обвязка Claude), `codex_sub` (подписка Codex), `kimi_default`, `openrouter_glm_5_2` (Pi по умолчанию), `pi_default` (встроенный OAuth Pi по желанию), `opencode_gpt5`, `gemini_default`, `serf_default`, `glm_5_2_chat`, `glm_5_2_responses`, `ollama_local`.

### Внешние кампании Serf

Краткосрочные кампании модели/провайдера Serf используют внешний файл учетных данных, а не канонический `credentials.yaml` репозитория. Передавайте его явно с помощью `--credentials-file` командам `quorum run`, `quorum run-all` или `quorum check`. Храните реальный YAML кампании и все необработанные артефакты запуска вне Git: YAML содержит метки маршрутизации и имя переменной окружения выбранного API-ключа, но никогда — значение ключа.

Каждый предустановленный шаблон кампании должен привязываться ровно к одной модели и одному провайдеру, отключать резервные варианты и не содержать переопределений для промпта, сэмплирования, рассуждений, инструментов или лимита токенов. Предоставьте его выделенный ключ через доверенный пакет учетных данных времени выполнения. Ключ должен обеспечивать соблюдение заданной политики данных кампании, иметь лимит расходов на кампанию, а для кампании с общей емкостью — не иметь привязки BYOK. Сравнение BYOK — это отдельная кампания с отдельным ключом и файлом кандидатов.

Перед отправкой `run-all` один раз анализирует внешний файл и записывает его канонический снимок в `results/batches/<batch-id>/credentials.snapshot.yaml`; каждый дочерний процесс получает этот неизменяемый снимок. Прямой вызов `quorum run` записывает тот же канонический снимок в свой каталог запуска. Редактирование исходного YAML после запуска пакетной обработки не может изменить последующие ячейки. Снимки содержат известные схеме метаданные маршрутизации и имена переменных окружения, а не секретные значения, но они остаются частью конфиденциальных артефактов запуска.

Сначала запустите агент-нейтральный дымовой тест, затем запустите дорогостоящий сценарий только для тех учетных данных, чей итоговый вердикт дымового теста — `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 — это базовый уровень последовательной задержки/стоимости. Одна ячейка матрицы — это одна платная попытка; планировщик кампании не выполняет автоматический повтор или повторение ячейки. Визуализируйте сравнение с метками с помощью quorum costs <batch-id>. Только строки с окончательным статусом pass помечаются как сравнимые; fail и indeterminate остаются видимыми, но не ранжируются, а отсутствующие измерения отображаются как отсутствующие, а не как ноль. Столбцы Charged, Estimated и Delta — это затраты Coding-Agent. Существующие столбцы --with-gauntlet — это отдельные накладные расходы инфраструктуры Gauntlet-Agent.

Приемка в реальных условиях — это ручная работа доверенного мейнтейнера, никогда не автоматизация публичного CI:

  1. Запустите одну заведомо рабочую ячейку hello-world с параметром --jobs 1.
  2. Проверьте verdict.json, trajectory.json, openrouter-generations.json, coding-agent-token-usage.json и quorum costs <batch-id>. Подтвердите модель, провайдера, версию пресета, BYOK = false, корзины токенов/кэша, длительность, оплаченную стоимость, оценку, дельту и метки кандидатов, включая квантизацию и дату каталога.
  3. Запустите одну ячейку Fractals с --jobs 1; требуется окончательный статус pass, все детерминированные проверки, доставка зафиксированного main-checkout и полная строка сравнения.
  4. Запустите двух кандидатов hello-world с --jobs 2; подтвердите различие атрибуции без перекрестного загрязнения ключей, поколений, меток или экономики.
  5. Только после этого запустите по одной последовательной ячейке Fractals для каждого кандидата, прошедшего дымовое тестирование.

Публикуйте только прошедшие рецензирование релиза, очищенные выводы в датированной заметке docs/experiments/, фиксируя как неудачи, так и успехи. Внешние YAML кампаний и исходные артефакты остаются вне Git.

Основные команды```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` без аргументов проверяет все сценарии и `credentials.yaml`.
`run-all` запускает все включенные сценарии против каждого выбранного Coding-Agent, отфильтрованные по директиве `# coding-agents:` каждого сценария.

## Вердикты и артефакты

quorum выдает трехзначный вердикт:

- `pass` — Gauntlet-Agent прошел и все последующие проверки пройдены.
- `fail` — Gauntlet-Agent провалился, или последующая проверка провалена.
- `indeterminate` — сбой настройки/предварительной проверки/захвата/quorum, Gauntlet `investigate` или пустой трейс при наличии проверок трейс.

Коды выхода: 0 для `pass`, 1 для `fail` и 2 для `indeterminate`.

Каждый запуск создает одну директорию в `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/ игнорируется git, так как артефакты выполнения могут содержать чувствительные транскрипты, учетные данные, вызовы инструментов и состояние файловой системы.

Безопасные проверки

Это проверки, ожидаемые в CI и в обычных пул-реквестах:```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` — это единый шлюз (Biome lint/format + full-strict `tsc` + `bun test`); отдельные шаги: `bun run lint`, `bun run typecheck` и `bun test`.

## Архитектура

quorum — это **TypeScript на Bun**. Консоль: `bun run quorum <cmd>` (CLI на [commander](https://github.com/tj/commander.js) в `src/cli/index.ts`, также предоставляется как бинарник `quorum`); шлюз — `bun run check` (Biome + full-strict `tsc` + `bun test`).

Формы данных, пересекающие границы процессов и файлов — `verdict.json`, индексы пакетов, экономика, результат Gauntlet, YAML агента — это **zod-схемы** в `src/contracts/`, проверяемые на каждой границе, поэтому некорректный внешний файл громко завершается ошибкой, а не повреждает вердикт. Слой `cli/` разбирает команды и направляет их в конвейер `runner/` (один сценарий × один Coding-Agent) или в `run-all/` (матрица). Различия между Coding-Agent реализованы в двух параллельных разветвлениях, ключом которых является имя агента: `agents/` заполняет конфигурацию агента во временном `$HOME` для каждого запуска (`<run>/home`), а `normalize/` преобразует журнал сеанса этого агента в единую трассировку вызовов инструментов. Живые вызовы агент-CLI и другие негерметичные подпроцессы проходят через шов `agents/command-runner.ts`, поэтому модульные тесты внедряют заглушки и никогда не запускают настоящий CLI. `scheduler/` — это общий движок параллелизма в `run-all/`. Панель мониторинга — это отдельный пакет только для чтения, который сканирует `results/` и `grid-manifest.json`. `env.ts` — единственный модуль, читающий `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

Триаж

Триаж непрошедшего прогона начинается с:```bash bun run quorum show []

root@kitploit:~
Затем используйте [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) для атласа атрибуции. Для проверок аутентификации, подготовки и захвата, специфичных для агента, используйте [docs/coding-agent-care-and-feeding.md](https://github.com/prime-radiant-inc/superpowers-evals/blob/HEAD/docs/coding-agent-care-and-feeding.md).

Для текущего известного хорошего базового уровня см. [docs/baselines/](https://github.com/prime-radiant-inc/superpowers-evals/blob/HEAD/docs/baselines/).

## Правила внесения вклада

Этот репозиторий наследует планку качества `superpowers`.

- Одна проблема на PR.
- Не фиксируйте сгенерированные артефакты запуска или секреты.
- Не добавляйте живые оценки в общедоступный CI.
- Используйте шаблон PR и объясните риск для безопасности/лаборатории оценок для изменений, затрагивающих конфигурации Coding-Agent, выполнение команд оболочки, вспомогательные функции настройки, инструменты проверки или ввод Gauntlet-Agent.
- Изменения в методологии оценки, формирующей поведение, требуют доказательств, а не просто текста.

## Обновление родительского подмодуля

`superpowers-evals` потребляется `superpowers` в качестве подмодуля `evals`.
После слияния любого PR в `main` здесь, откройте последующий PR в родительском репозитории `superpowers`, указывающий на `dev`, который обновит указатель подмодуля `evals` на объединённый коммит `superpowers-evals`.

Не считайте слияние `superpowers-evals` полностью распространённым до тех пор, пока не появится такой PR обновления родительского подмодуля.

---

Сообщение о безопасности → [SECURITY.md](https://github.com/prime-radiant-inc/superpowers-evals/blob/HEAD/SECURITY.md).
Скачать инструмент
$HOME
~/.claude
~/.codex
~/.gemini
~/.kimi-code
~/.pi
~/.copilot
~/.config
.copilot-env
УчастникЧто этоГде находится / его файлы
GauntletУниверсальный QA-фреймворк; CLI gauntlet. Тестер «черного ящика».репозиторий github.com/prime-radiant-inc/gauntlet; в PATH как gauntlet (через bun link или GAUNTLET_ROOT)
Gauntlet-AgentLLM внутри Gauntlet, который управляет Coding-Agent и сам оценивает по AC истории.модель, например claude-sonnet-4-6; поток событий → <run>/gauntlet-agent/results/<runId>/run.jsonl; вердикт → result.{json,md}
Coding-AgentТестируемый агент — SUT. Экземпляры: Claude, Codex, Antigravity, Gemini, Kimi, OpenCode, Pi, Copilot.конфиг + журнал сеанса в его временной $HOME по пути <run>/home/…; файлы, которые он записывает → <run>/coding-agent-workdir/
QuorumОбёртка на TypeScript/Bun. Владеет настройкой, адаптацией Coding-Agent, детерминированными проверками и окончательным вердиктом.репозиторий superpowers-evals/src/; <run>/verdict.json
compat
thinking_format
max_tokens_field