# GMod Bench report

Run: `994f70d3-7e59-4879-8cf8-62b85eb66dba`
Fixtures: `gmod.player-iterator.v1`
Repeat: 1 · Concurrency: 1
Started: 2026-07-10T12:44:11.264Z · Completed: 2026-07-10T12:44:44.412Z
Wall clock: 33s · Sum of attempt durations: 8038ms (avg 2010ms, min 798ms, max 4843ms)

## Model leaderboard

Sorted by **fixture score** (each fixture weighted equally; failures score zero), then fixture solve rate, coverage, and pass rate.

| Rank | Runner / model | Fixture score | Fixture solve | Pass | Partial | Incorrect | Scored | Coverage | Pass rate | Fixture pass | Scored quality | Protocol err | Fixtures | Avg ms | Prompt/Compl tok |
| ---: | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| 1 | `openrouter/openai/gpt-oss-20b:free@low` | 50.0% | 0.0% | 0 | 1 | 0 | 1 | 100.0% | 0.0% | 0.0% | 0.50 | 0 | 0/1 | 4843 | 243/126 |
| 2 | `openrouter/google/gemma-4-26b-a4b-it:free` | 0.0% | 0.0% | 0 | 0 | 0 | 0 | 0.0% | 0.0% | 0.0% | 0.00 | 1 | 0/1 | 798 | 0/0 |
| 3 | `openrouter/meta-llama/llama-3.2-3b-instruct:free` | 0.0% | 0.0% | 0 | 0 | 0 | 0 | 0.0% | 0.0% | 0.0% | 0.00 | 1 | 0/1 | 1279 | 0/0 |
| 4 | `openrouter/qwen/qwen3-coder:free` | 0.0% | 0.0% | 0 | 0 | 0 | 0 | 0.0% | 0.0% | 0.0% | 0.00 | 1 | 0/1 | 1118 | 0/0 |

## Rates

- Scored attempts: 1
- Pass / partial / incorrect: 0 / 1 / 0
- Pass rate (scored): 0/1
- Fixture pass rate (passed fixture groups / scored fixture groups): 0/1
- Overall mean score (pass=1, partial=0.5): —
- Protocol errors: 3
- Policy violations: 0
- Trace errors: 0
- Timeouts: 0
- Unavailable: 0
- Unsupported: 0

## Usage & timing

Token counts: **provider** when the runner reports them (OpenRouter); otherwise **estimated** (~chars/4) so CLI runs still get numbers.

- Prompt tokens: 243
- Completion tokens: 126
- Reasoning tokens: 0
- Total tokens: 369
- Cached prompt tokens: 0
- Cache write tokens: 0
- Reported cost: 0
- Upstream inference cost: 0
- Attempts with token counts: 1 (provider 1, estimated 0)
- Answer bytes (sum): 0
- Attempt duration avg/min/max: 2010 / 798 / 4843 ms

## Groups (single-sample result + mean score)

| Fixture | Runner | K | Passes | Passed | Mean | Best |
| --- | --- | ---: | ---: | --- | ---: | --- |
| gmod.player-iterator.v1 | openrouter/google/gemma-4-26b-a4b-it:free | 1 | 0 | no | — | protocol_error |
| gmod.player-iterator.v1 | openrouter/meta-llama/llama-3.2-3b-instruct:free | 1 | 0 | no | — | protocol_error |
| gmod.player-iterator.v1 | openrouter/openai/gpt-oss-20b:free@low | 1 | 0 | no | — | partial |
| gmod.player-iterator.v1 | openrouter/qwen/qwen3-coder:free | 1 | 0 | no | — | protocol_error |

## Attempts

| Fixture | Adapter | Model | # | Status | ms | P/C tok | Reason tok | Src | Bytes | Body | Detail |
| --- | --- | --- | ---: | --- | ---: | ---: | ---: | --- | ---: | --- | --- |
| gmod.player-iterator.v1 | openrouter | meta-llama/llama-3.2-3b-instruct:free | 1 | protocol_error | 1279 | —/— | — | — | — | no | OpenRouter HTTP 429. |
| gmod.player-iterator.v1 | openrouter | openai/gpt-oss-20b:free@low | 1 | partial | 4843 | 243/126 | — | — | — | yes | Still materializes player.GetAll(). |
| gmod.player-iterator.v1 | openrouter | google/gemma-4-26b-a4b-it:free | 1 | protocol_error | 798 | —/— | — | — | — | no | OpenRouter HTTP 429. |
| gmod.player-iterator.v1 | openrouter | qwen/qwen3-coder:free | 1 | protocol_error | 1118 | —/— | — | — | — | no | OpenRouter HTTP 429. |

## Files (audit pack)

Same run directory contains:

- `run.json` — full structured artifact (answers + per-attempt metrics; raw stdout stripped)
- `metadata.json` — run provenance + `usageTotals` (tokens, cost, timing)
- `leaderboard.json` / `leaderboard.csv` — fixture-normalized model ranking, diagnostics, tokens, and timing
- `attempts.jsonl` / `attempts.csv` — one row per attempt + tokens/timing/sizes
- `preds.jsonl` — SWE-style predictions with usage fields
- `responses/<adapter>/<model>/<fixture>--kN.txt` — graded answer files
- `raw/*.log` — redacted stdout/stderr when keepRaw is on (default)

Compare two models: `bun run bench compare --run <run.json> --model "A" --model "B"`
