Coding Agent Battles

August 25, 2026 · View on GitHub

Public logbook for honest head-to-head comparisons of coding-agent scaffold + model configurations.

Want to see the winning lane run by a controller in production? The patterns live in hermes-conductor.

Current corpus

Participants

AgentModel / runtime labelNotes
OpenCodeGLM-5.2Z.AI coding model via OpenCode scaffold
Claude CodeGLM-5.2 [1m]Claude Code scaffold configured against GLM-5.2
MiMoCodeGLM-5.2Xiaomi MiMoCode scaffold configured against GLM-5.2
Pi Coding AgentGLM-5.2Pi scaffold configured against GLM-5.2
Codex CLIGPT-5.5OpenAI Codex CLI scaffold/model pair
Antigravity agyGemini 3.5 Flash MediumAntigravity scaffold/model pair; token/cost telemetry unavailable in this corpus

Interpretation caveat: these are scaffold + model comparisons. Four agents share GLM-5.2, while Codex and agy use different model families. Cost and pass/fail should not be read as scaffold-only conclusions until a model-controlled sweep exists.

What gets compared

Each battle keeps the task, constraints and verification identical across agents.

DimensionEvidence to store
TaskPrompt, starting repo/commit, allowed tools, timebox
OutputFinal diff, branch/commit, generated artifacts
CorrectnessTests, lint, typecheck, CLI/browser smoke, screenshots where useful
QualityFinal patch score, execution-quality score, evidence transparency notes
EfficiencyWall-clock, messages/turns, tool calls, retries
EconomicsInput/output/reasoning/cache tokens, normalized public estimate, native/vendor cost where available
ReviewHermes independent verification notes and final verdict

Telemetry collection

ccusage is the first-pass collector for supported local coding-agent sources:

npx --yes ccusage@latest claude session --json
npx --yes ccusage@latest codex session --json
npx --yes ccusage@latest opencode session --json
npx --yes ccusage@latest hermes session --json
npx --yes ccusage@latest pi session --json
npx --yes ccusage@latest gemini session --json

Per-run reports may still use direct JSON/JSONL/SQLite extraction when ccusage cannot map a focused row back to the benchmark workspace/session. Those direct extracts are fallback/cross-check evidence, not a replacement for ccusage where ccusage has reliable run attribution. Public telemetry limitations are documented in docs/audit/telemetry-provenance.md.

Repository layout

tasks/                 Candidate battle tasks and task specs
runs/                  One folder per executed battle
docs/                  GitHub Pages dashboard and public run artifacts
docs/audit/            Deterministic ledger, telemetry provenance, LLM review outputs
scripts/               Dashboard, telemetry, and audit generation scripts

Suggested run folder format:

runs/YYYY-MM-DD-task-slug/
  task.md
  results.md
  metrics.md
  metrics.json
  agents/
    mimo/
    opencode/
    agy/
    claude-code/
    codex-cli/
    pi/
  evidence/

Sources / benchmark inspiration

Created: 2026-06-22