|
|
hai 4 meses | |
|---|---|---|
| .. | ||
| backends | hai 4 meses | |
| bin | hai 4 meses | |
| docs | hai 4 meses | |
| drill | hai 4 meses | |
| fixtures | hai 4 meses | |
| prompts | hai 4 meses | |
| scenarios | hai 4 meses | |
| setup_helpers | hai 4 meses | |
| tests | hai 4 meses | |
| .gitignore | hai 4 meses | |
| CLAUDE.md | hai 4 meses | |
| README.md | hai 4 meses | |
| pyproject.toml | hai 4 meses | |
| uv.lock | hai 4 meses | |
Superpowers skill compliance benchmark. Drives AI coding agents through tmux sessions and evaluates whether they follow superpowers workflows correctly.
uv sync --extra dev
Optional git hooks:
uv --project evals run pre-commit install
uv --project evals run pre-commit run --all-files
Required environment:
export ANTHROPIC_API_KEY=sk-...
SUPERPOWERS_ROOT defaults to the parent of evals/ (the superpowers repo root) and only needs to be set if you're running drill against a different superpowers checkout.
# Run a single scenario on a single backend
uv run drill run worktree-creation-from-main -b claude
# Run with N repetitions
uv run drill run spec-writing-blind-spot -b claude-opus-4-6 --n 5
# Sweep across multiple backends
uv run drill run spec-writing-blind-spot --models claude-opus-4-6,claude-opus-4-7 --n 10
# Compare results
uv run drill compare spec-writing-blind-spot
# List available scenarios
uv run drill list
| Category | Scenarios | Tests |
|---|---|---|
| Worktree | 11 scenarios | Worktree creation, detection, consent, detached HEAD, and native-tool pressure |
| Skill triggering | 6 scenarios | Auto-invocation for core Superpowers skills |
| SDD workflow | 5 scenarios | Explicit invocation, mid-conversation invocation, real-project execution, and YAGNI enforcement |
| Review/spec/verification | 6 scenarios | Code review, spec review, architectural targeting, design blind spots, and verification reflexes |
| Tool mapping | 3 scenarios | Codex and Gemini subagent tool-name mapping |
| Backend | CLI | Model |
|---|---|---|
claude |
Claude Code | opus-4-7 (default) |
claude-opus-4-6 |
Claude Code | opus-4-6 |
claude-opus-4-7 |
Claude Code | opus-4-7 |
claude-opus-4-6-1m |
Claude Code | opus-4-6 (1M context) |
claude-opus-4-7-1m |
Claude Code | opus-4-7 (1M context) |
codex |
Codex CLI | — |
gemini |
Gemini CLI | auto-gemini-3 |
gemini-2-5-flash |
Gemini CLI | gemini-2.5-flash |
drill/ # Core engine
cli.py # Click CLI (run, compare, list)
engine.py # Tmux session orchestration
actor.py # User-simulator LLM
verifier.py # Criteria evaluator LLM
assertions.py # Deterministic post-session assertions
compare.py # Result loading and cross-backend comparison
sweep.py # Multi-backend N-rep orchestrator
stats.py # Wilson score confidence intervals
scenarios/ # YAML scenario definitions
setup_helpers/ # Repo fixture creators
backends/ # Per-backend YAML configs
bin/ # Assertion helper scripts (tool-called, tool-count, etc.)
prompts/ # Actor and verifier system prompts
fixtures/ # Static template repos
tests/ # pytest suite (122 tests)
docs/ # Design spec and manual testing guide
uv run pytest
uv run ruff check
uv run ty check
setup_helpers/ if you need a custom fixturesetup_helpers/__init__.pyscenarios/your-scenario.yaml with setup, turns, limits, and verify sectionsuv run drill run your-scenario -b claudeSee docs/design.md for the full design spec.