World models for ARC-AGI-3

Can an agent learn a game's hidden rules while playing, then plan inside what it learned?

Running · Apr 2026 · updated Oct 2026 · Code and data

A lineage of bets on ARC-AGI-3. Each one is documented, including the ones that scored zero.

The lineage

  1. TCCA (Apr 2026, retired). Neuro-symbolic Kaggle agent.
  2. iwm (Jun 2026). Standard-library-only symbolic agent. Scored 0 official levels; the failure analysis is written up.
  3. categorical-cat (Jun to Jul 2026). Category-theory world model with typed graph rewrite rules.
  4. Virgil (Jul to Sep 2026, archived 2026-09-10). World-model agent.
  5. Mechanic Composition Worlds (Sep 2026). Paper in prep; nothing more is public yet.

Every result, with its rules

Scores from different rules are not comparable. n-pass runs and single-play runs are never compared.

System When Result Rules Evidence
TCCA 2026-04-04 0.27%; 3 of 183 levels; ls20 from 0 to 1 of 7 levels Full public sweep, before generalisation tcca-arcagi3 README
TCCA 2026-04-06 0.263% on the full benchmark in 147 s on a Kaggle CPU; ~2 MB Kaggle constraints Owner’s email to EF, 2026-06-19
Claude Opus 4.6 / Gemini 3.1 Pro 2026-04-06 0.2% each; Claude cost $8,900 for the full benchmark Same benchmark, same date Same email
TCCA Apr 2026 26.3% on the Agentica subset; per-game score 1.317 Agentica subset Owner’s email to F Inc, 2026-04-08
TCCA Apr 2026 0.2567%; 4 of 183 levels; 4 games with a solved level Offline public benchmark, 25 public games, 11,217 actions Scorecard 183d29b0…, repo README
categorical-cat Jul 2026 0.0 official across 11 environments Live official run, 1,978 actions Repo README
categorical-cat Jul 2026 1.00 vs 0.00 held-out exact match over an identity baseline Offline replay verifier Repo README
Virgil Jul 2026 LS20 level 0 in 76 actions (60 survey, 16 planned) Hand-authored world model: this is planning, not autonomous induction Public replay-verified trace, re-verified 2026-09-24
Virgil Jul 2026 2.02% on the 25 public games; 0.23% on the 55 private games Independently scored (July resume); 0.23 is the Kaggle account’s best Resume, Jul 2026; Blackstar status
Virgil, n-pass Sep 2026 RHAE 1.445% (max over plays); 14 of 25 games; 17 levels Research run, not rules-conforming: two passes of 4,000 actions per game virgil branch experiment/n-pass-explore-exploit-summaries
Virgil v3 Sep 2026 2.01558 on the public 25 Best-of-two replay, not single-play arc-virgil-demo, lineage audit
Virgil-CX Jul 2026 2.23%; 13 of 25 games scored; 16 levels; ~20 min Explore-then-replay: two plays per game, best kept. 4,000 actions and 512 MiB per game; CPU only, no neural components, no GPU Run A; reproduced from frozen code with the official scorer, 2026-09-24
Virgil-CX Jul 2026 0.56%; 14 games scored; 17 levels Single-play competition rules Run B
Virgil-CX 2026 0.27 Kaggle leaderboard score; Kaggle scores the competition on hidden games Kaggle leaderboard

What the 76 actions do and don’t show

Virgil clears level 0 of LS20 in 76 actions: 60 to survey the game and 16 planned.176 actions1 Replay-verified, re-verified on 2026-09-24. The world model was hand-authored. The world model that does the planning was written by hand. So this shows planning inside a known model, not induction of the model from play.

A causal benchmark

Virgil-CX came with a 10-category causal benchmark: hidden state, delayed effects, ordered goals, transfer. It has counterfactual variants and white-box and black-box tracks.

Watch it play

A short video shows Virgil v3 on the real engine. It is a demo, not a scored run.

The monograph

A 70-page private reconstruction of the whole line (4 Oct 2026): “continue the research, narrow the claim”. A recovered two-pass run scores 1.4449538% mean RHAE, 17 of 183 levels, no full game won.

What’s next

Blackstar, the ARC Prize 2026 entry. See Research.

Data and code

arc-agi3-world-models is public. The rest is private.

Cite
@misc{paul2026arcagi3,
  author = {Paul, Kanishk},
  title = {World models for ARC-AGI-3},
  year = {2026},
  howpublished = {Research page, kanishkpaul.com},
  url = {https://www.kanishkpaul.com/research/arc-agi-3},
  note = {Code and data: https://github.com/kanishkpaul/arc-agi3-world-models},
}