# Nodecode on ARC-AGI-3, GPT-6.1 Sol at xhigh: the run log

Everything behind the GPT-6.1 Sol line on nodecode.ai's research chart: every game, every attempt, every model call
and every action. 25 of 25 public games won, mean score 98.89, $38.50 at OpenAI's list price, 2,694 model calls,
155,316,430 tokens. Played 2026-10-09 to 2026-10-11.

## Check the scores

ARC-AGI-3 games are deterministic. The same actions from a fresh game give the same frames, levels and score.
`verify.py` makes each game fresh in ARC Prize's own toolkit (arc-agi 0.9.9, seed 0), plays the actions in
`actions/<game>.jsonl`, and compares the end state, levels, action count, the toolkit's scorecard score and a SHA-256
of the final frame with `games.csv`.

    pip install arc-agi==0.9.9
    python verify.py --games path/to/environment_files

`--games` is the toolkit's `environment_files` directory holding the 25 public games. In its default mode the toolkit
downloads a game there the first time `Arcade().make("<game_id>")` runs (an `ARC_API_KEY` from arcprize.org). The game
ids, with their versions, are the `game_id` column of `games.csv`. The last line it prints should read
`all games replay to the logged result`.

## Check the cost

Each row of `calls.csv` is one model call: uncached input, cached input, output and reasoning tokens (reasoning is
inside output), and its price at OpenAI's list rates for GPT-6.1 Sol: $2.50 per million input tokens, $0.10 cached,
$10 output. Every uncached input token is priced at the input rate. `list_usd` summed over the file is $38.50.

The total counts attempts the chart does not keep. The first sweep ran out of API credit with four games unfinished
and one not started; those five were resumed from their last position, or started again. A resume continues the same session, so its calls are counted once. The
attempts that were dropped are in `attempts.csv` with `counted_in = dropped attempt`: lf52 $0.73, re86 $1.60,
sk48 $5.27. Without them the kept runs cost $30.90 (`kept = 1` in `calls.csv`).

## Files

| File | What |
| --- | --- |
| `games.csv` | One row per game: the attempt kept, end state, levels, actions, scorecard score, per-level actions against the human baseline, final frame hash, calls, tokens and dollars over every attempt |
| `attempts.csv` | One row per attempt, the calls and dollars it added, and whether it is the kept run or dropped |
| `calls.csv` | One row per model call |
| `actions/<game>.jsonl` | The kept run's actions in order: the action, its x and y for a click, levels completed and state after it, and when it was played |
| `verify.py` | The replay check above |

## The run

| | |
| --- | --- |
| Harness | Nodecode, build c49352e35 (2026-10-08), with its ARC game tools. One autonomous session per game. |
| Model | GPT-6.1 Sol, reasoning effort xhigh, 180,000-token context window |
| Games | The 25 ARC-AGI-3 public games, ARC Prize's toolkit arc-agi 0.9.9, offline, seed 0 |
| Limits | 1,000 actions and 4 hours per game. The fresh sk48 rerun had 1,500 actions and won in 563. |
| Score | The toolkit's scorecard: each level scored against its human baseline, the levels weighted by their index, a won game capped at 100 |
| Attempts | `gJ25` is the first sweep. `gK25`, `gL25` and `gM25` are the reruns of dc22, lf52, re86, sk48 and wa30. |

Model transcripts are not published.
