Continual-ARC

A continual learning benchmark · 3 tracks · 257 runs

Continual-ARC

A lifelong stream of ARC puzzles that come back with fresh inputs after long gaps, while new ones keep arriving. It measures whether a learner gets cheaper on work it has seen before, whether it keeps notes like an agent harness or updates its weights.

Results · ARC-AGI-1

Budget used each time a task comes back

We ran three agent harnesses through the stream with every learning mechanism they ship switched on, then again with everything they wrote deleted before every instance. A learner that has learned a task should fall below the dotted line, where the demo-cache floor sits once it holds the task's demonstrations. The harnesses start a few points under the bare model, since they can test a guess against the demonstrations, and stay there however often the task returns. The program library, a deliberately naive baseline built around ARC, falls well below.

GPT-6 Luna · workstreams
01020304001234567times the task had come up beforebudget used (%)
demo-cache floor after its first meeting, 24.9

Replay a run at medium effort:Stateless floorDemo-cache floorProgram libraryPrime Agent, as shippedHermes Agent, as shippedOpenClaw, as shipped

Saved by the harnesses' memory
−6.1 to +1.0points
Each harness against itself wiped before every instance, at every effort. None saved measurably more than nothing.
Returning tasks solved for free
1.3percent at most
Left to decide what to keep, no harness answered more of its returning instances right first time without a demonstration. The program library: 68 to 87 percent.
The program library's lead
13 to 30points less
Budget it used below every harness, at every effort. No harness measurably beat even the demo-cache floor.

The curves are the paper's Figure 3, on the workstreams stream. The three numbers pair each comparison instance by instance and pool the three orders, with 95 percent intervals by bootstrap over tasks; the returning tasks are those of Appendix F. Every figure of the paper is on Figures.

The benchmark

How it works

One instance

The learner sees the task's id and a fresh input grid. It can buy a demonstration, one more input with its output, or submit an answer and hear only right or wrong. A demonstration and a wrong answer each cost 1, up to eight of each, and a right answer ends the instance.

Step through a real one, or play it.

Test input

Demonstrations bought

None yet

Answers

None yet

DemonstrationsWrong answers0 of 16 spent

Hermes Agent meets task 46442a0e for the first time: the task's id and a test input, nothing more.

Step 21 of the ARC-AGI-1 workstreams stream, as Hermes Agent played it on GPT-6 Luna, medium. Open it in the replay for everything it reasoned and called.

A stream of instances

25 tasks over 200 instances, four active at a time, each worked in bursts of about three and resting about thirty, with a new task every two. A task came back after a median gap of 5 instances, and at most 141. Then 25 held-out tasks, once each.

The task played above is lit in it.

workstreams125050100150held-out
Point at a column to see which task it served; the task’s marks light up.
first meeting with the taskthe task comes backtask active, in a spellheld-out task, served once

The score

An instance is charged its demonstrations and wrong answers out of 16. U is the share of that budget used, averaged over the stream, so lower is better, and P, the share solved within the cap, sits beside it. A learner that has kept a task's rule can answer at once and spend nothing.

Keeps nothingReplays its pairsHas learned ittimes the task has come up

One that has learned the task answers it at once, so its line falls towards zero. In the runs the nearest is the program library: U 11.7 and P 93.5 on the workstreams stream, GPT-6 Luna, medium.

Each edition gets its own track and its own number, and no score pools them. The tasks of every track are on Tasks.

Leaderboard · ARC-AGI-1

Budget used on the workstreams stream

The full leaderboard
#LearnerGPT-6 Luna, lowGPT-6 Luna, mediumGPT-6 Luna, high
1Program library15.7 ±4.211.7 ±4.27.8 ±3.4
2Prime Agentas shipped42.8 ±4.723.6 ±2.820.2 ±2.5
3OpenClawmemory wiped39.3 ±4.025.0 ±3.323.2 ±2.9
4Prime Agentmemory wiped42.1 ±4.525.1 ±3.520.5 ±2.3
5Demo-cache floor38.1 ±5.225.3 ±4.717.4 ±3.8
6OpenClawas shipped42.3 ±4.226.8 ±2.923.2 ±2.8
7Hermes Agentmemory wiped39.0 ±4.428.0 ±3.823.6 ±3.4
8Hermes Agentas shipped44.2 ±4.929.7 ±3.821.6 ±2.6
9Stateless floor49.0 ±5.233.3 ±4.026.9 ±3.3

U in percent of the budget, lower is better, with the standard error over tasks; ranked at medium effort. Each number opens the replay of its run.

Replay · GPT-6 Luna, medium · workstreams

Watch a run

Every instance of every run can be replayed, from what the learner bought and submitted to what a harness chose to keep after the verdict. Each pair below ran on the same schedule, so their instances line up one for one.

The program library, kept and wiped

Every answer is a Python program, checked free against the demonstrations. A program that reproduces them all is kept and runs first when its task returns. With its programs wiped before every instance, it writes each one again from scratch.

Or choose any run by track, learner, variant, effort and order on Replay.

Run your own

Run it on your learner

The stream and the records of every run are public, and there is no held-out set. Run your learner or harness on the canonical stream, send the run directory as a pull request, and it joins the leaderboard marked reported until we rerun it.

shell
git clone https://github.com/unifyai/continual-arc
cd continual-arc
uv venv && uv pip install -e ".[dev]"
uv run continual-arc data fetch
uv run continual-arc schedule make --config arc1-small \
  --mode workstreams --seed 0 --out arc1-ws0.json
How to run a harness and submit a result

Cite

BibTeX

Continual-ARC: Measuring Skill Acquisition over a Working Lifetime. Daniel Lenton, unify, 2026.

bibtex
@misc{lenton2026continualarc,
  title  = {Continual-ARC: Measuring Skill Acquisition over a Working Lifetime},
  author = {Lenton, Daniel},
  year   = {2026},
  url    = {https://unify.ai/continual-arc}
}