Abstract Current systems called intelligent are large models pretrained on internet text. They are expensive, their training data is not a controlled curriculum, and abstraction benchmarks in the style of ARC remain unsolved for small, honest learners. This paper states a different target: abstract skill grown in learners of about 1–30 million parameters, on CPU, from a neutral initialization, driven by curiosity, raised on different curricula, and eventually able to divide work. Public proof, when it is attempted, is ARC-AGI pass@2 on unseen evaluation tasks, with the cost per task reported. That proof is not claimed here.
What this repository actually contains is smaller and fully specified. Five learners share one multilayer perceptron architecture of 326,800 parameters each, 1,634,000 in total, and the same random initialization. Each is then trained from scratch on its own curriculum over a 16-operation grid language. Search is always over the whole catalogue. No language model and no pretrained checkpoint is used. A later control trains one generalist on five times as many mixed traces. A NEAR testnet contract escrows a bounty, checks the grid hash, slashes a wrong reveal, splits a payment with one helper, and stores reputation. On a protocol frozen in commit 4528606 before scoring1, and run once: on 48 fresh two-operation tasks the learned prior solved 43, an untrained copy solved 10 (difference 68.75 percentage points, 95% paired-bootstrap interval2 [56.25, 81.25]), and a shuffled-label twin solved 3 (83.3333 points, [70.8333, 93.75]). A curiosity bonus of 1.5 and a five-subject society did not change the number solved relative to the matched controls; both contrasts are 0 with interval [0, 0]. Of the 43 learned solves, 19 were not the generating program. A second protocol, frozen in c703d763, trained five copies from one initialization. Specialist contrasts cleared. The society did not beat its best member, and it did not beat a compute-matched generalist. Earlier work, outside this repository, recorded that a synthetic generalisation gate passed while a real-task confirmation failed, and that a deeper-search gate failed its control. A task bounty is treated as a NEAR Intents outcome: solvers compete to deliver a verified grid, and a helper can be quoted a payout in another asset. The cross-chain call in this repository is a dry 1Click quote.4 No mainnet funds move. The interactive explainer is dashboard/index.html. The Pages workflow publishes it when the repository is public.
1The problem
A person looking at a leaderboard of named models will assume the entrants are large pretrained language models: systems that have already memorised a great deal of the public internet, then act by sampling text. Those systems are costly to train and to run. Their weights are not a record of a curriculum anyone can replay. When the question is whether a learner invented a rule from a few examples, a pretrained corpus is a confound, not a neutral start.
François Chollet’s “On the Measure of Intelligence”[1] argues for measuring skill acquisition on novel tasks, not the recall of skills already stored in a training set. The Abstraction and Reasoning Corpus, and the later ARC Prize evaluations built on it[2], ask a solver to infer a grid rule from a handful of demonstrations and apply it to a hidden test grid. The public proof target is ARC-AGI pass@2 on unseen evaluation tasks, with cost per task. That proof has not been obtained. A real-task confirmation in the earlier work failed. This paper does not reopen evaluation files and does not report an ARC-AGI number.
2The thesis
The thesis, restated here without enlargement, is:
Grow abstract intelligence in very small learners, on the order of 1–30 million parameters, that run on CPU. They start from a neutral core with no pretrained corpus. Learning is driven by curiosity, novelty, and pressure to keep only skills that replay. Different agents are raised on different curricula (“upbringings”). They should eventually cooperate in societies, and those societies should be able to hire one another. Improvement should not require a larger internet scrape. The public test, when a result is claimed, is ARC-AGI under a sealed protocol, with cost per task reported.
The outer stack is: a neutral recursive core; a curiosity and novelty engine; a learned program prior; program search over a grid language; a skill library that keeps a skill only when it replays; upbringings; a society; a society of societies. This repository builds the prior, the search over a 16-operation language, five upbringings from one initialization, and one society whose payment rules live in a NEAR contract. The recursive core, the skill library, and a society of societies are roadmap. The broader system uses a larger grid language and a deeper search than this demonstration. Settlement across assets is a NEAR Intents dry quote. This is a runnable slice of the thesis, and it is not an ARC-AGI confirmation.
3What a light agent is, in this repository
A light agent here is not a language model with a wallet. Nothing in the training loop calls an API. Nothing loads a public checkpoint. The only learned weights are produced by the training step below, on grids this repository samples.
3.1 Catalogue
A program is one or two parameter-free maps from grid to grid. There are 16 of them: six geometric (rot90, rot180, rot270, flip_h, flip_v, transpose), four recolourings (cycle_fg, fg_to_one, invert_fg, swap_top2), and six object or layout maps (crop_bbox, keep_largest, paint_largest, gravity_down, gravity_right, tile2). Colours are integers 0–9. This is the language this repository runs. The broader design uses a larger grid language and a deeper search. This catalogue is not an ARC evaluator.
3.2 The learned prior
The prior is a multilayer perceptron. The input is 64 numbers describing the first demonstration: normalized shapes, colour histograms, how much the histograms differ, whether the shape changed, centers of mass, and the fraction of cells matched by applying each of the 16 operations once. Those 16 residual features make a depth-1 rule easy to see and a depth-2 rule only partly visible, which is the point of the later split. Three hidden layers of width 384 use ReLU. The output is 16 logits, trained as independent binary targets (which operations occurred in the program), with Adam at learning rate 0.01. The parameter count is 326,800. Initialization is Gaussian with the usual ReLU scale. There is no embedding of an external corpus.
Training traces use the same generator as sample_trace: with probability 1/2 a single operation, otherwise two operations that may share a family, rejected when the grid does not change or the output side exceeds 16. The frozen run kept 1,600 traces, 6 epochs. Overlap with the evaluation grids was checked; zero traces were dropped.
3.3 Search, curiosity, upbringing
Search for the curious subject ranks the 16 operations by the prior’s logit, adds 1.5 if that one-step behavior has not been seen in the subject’s archive[3][4], keeps the top 6, and tries those singles and the pairs among them, at most 48 programs, accepting the first program that fits both demonstrations. It then applies that program to the hidden test input. Fitting the demonstrations is not the metric. Matching the hidden test grid is.
The first frozen ablation used one copy of this network and four subjects with no weights. Those four are listed here because that is what ablation 1 measured. Section 6A replaces them with five trained copies of the same network. The hard-coded catalogues are not the upbringing result.
| Subject | Curriculum | Learned parameters | Curiosity | Price | Stated confidence |
|---|---|---|---|---|---|
| geo | 6 geometry operations, depth ≤ 2, budget 48 | 0 | 0 | 34% of the bounty, rising after wins | 9500 |
| colour | 4 recolour operations, budget 24 | 0 | 0 | 34% | 9500 |
| object | 6 object operations, including paint-largest, budget 48 | 0 | 0 | 50% | 9300 |
| curious | all 16 operations, beam 6, the 326,800-parameter prior | 326,800 (the prior) | 1.5 | 66% | 7400 |
| mapfit | one global colour map on aligned cells, or no bid | 0 | 0 | 36% | 9100 |
Confidence is an upbringing constant, not a calibrated probability. Price fraction after wins is base + base × 15 × max(0, reputation − 1000) / 100000, capped at 92%. A loss does not cut the price. It cuts reputation.
An upbringing is which operations a subject is willing to consider, whether it trusts a learned ranking, how novel a behavior must be before it is tried earlier, and what it charges. It is not a different foundation model.
4Why a society, why a market, why NEAR
If every subject runs the same search, there is nothing to divide. The curricula above are the division: geometry, colour, objects, a broad beam, and a colour-map heuristic that is often wrong when only the largest object should change. A market is a way to ask which of those curricula should be paid on a given task, without a person picking the winner after seeing the answer.
The contract, not the Python process, is the place that can do four things a local leaderboard cannot:
- Escrow. The bounty and the stakes are attached deposits. They leave only on reveal, cancel, or timeout.
- Trustless check.
reveal_solutionrecomputessha256of the canonical grid and compares it to the hash posted with the task. The commit is a hash ofgrid|saltand must be revealed in a later block. - Identity with limited power. Each subject is an account, in the intended deployment a sub-account. A function-call key can be restricted to
register_agent,place_bid,commit_solution,reveal_solution, andsubcontract. The sandbox test checks that this key cannot callcancel. A separatemax_stakecaps how much one bid can escrow. Allowance on the key limits gas, not the scientific claim. - A public reputation. Solves add
40 + confidence/200. A wrong reveal or a timeout subtracts 60, floored at 0. A helper receives 20 on a success. The next assignment score isconfidence × reputation / price, integer division. That number is on the contract, not in a private database.
Subcontracting is the cooperation the thesis talks about, in miniature: the curious subject may name one registered helper and give it at most half of the price (the runs use 20%). The helper is paid only if the reveal matches. A wrong reveal slashes the assignee’s stake, not a separate helper stake. That is a limitation of this market, stated in the contract comments and in docs/MARKET_SPEC.md.
The testnet deployment is lightswarm16771.testnet.5 Init and one escrowed task of 0.1 testnet NEAR are transactions 8P5YnnDDNHzkauU2gsL3pFsHnhRxCr7L1PYXN4EpzC6Y and 77kAs6SAivubtjkqeKzpiUNS4Q8CWUuL7svSmEG1jFTc. The signing key is not in the repository. The interactive explainer replays the upbringing payment trial, the offline twin of these rules. It demonstrates assignment and payment. It is separate from the frozen contrasts in sections 6 and 6A.
4.1 A bounty is an intent
NEAR Intents asks a user to state an outcome and lets solvers compete to fill it.[7] Here the outcome is a grid whose hash matches the posted task, paid in an asset the requester holds. The contract in this repository is the verification half of that pattern, settled in testnet NEAR. The cross-chain half is the public 1Click API at https://1click.chaindefuser.com/v0/quote, called with dry: true, swapType: EXACT_INPUT, depositType: INTENTS, origin nep141:wrap.near, and destination USDC on Arbitrum (nep141:arb-0xaf88d065e77c8cc2239327c5edb3a432268e5831.omft.near, from GET /v0/tokens). Required fields follow the published QuoteRequest: slippage, amount, recipient, recipient type, refund address, refund type, and a deadline. A dry response carries a price and a time estimate and omits depositAddress. The page requests a quote for 0.1 wNEAR, the size of the escrowed testnet task. The recipient shown is the example address in the 1Click schema. Nothing is transferred.
Agents hiring agents is the subcontract in the contract, together with this quote when the helper wants another asset. Sub-accounts and function-call keys are the identity and the spend limit that exist today. Chain Signatures, so the same agent could sign on the destination chain, are roadmap. A society hiring another society through the same intent is roadmap too.
5Hygiene
A check has to be something a program can fail. The protocol was written down, the task grids were drawn, and both were committed before any arm was scored. The commit is 452860636365e6a6db83f99422c97d0dd3ebae0c. experiments/score.py refuses a dirty worktree and refuses to overwrite experiments/results/ablation.json. It was run once. Nothing in the scorer was edited afterwards.
Controls are the ones named before the run. The untrained arm is the same architecture and the same search budget at the shared initialization, with no training; it is not matched on training compute, and the protocol says so. The shuffled arm is matched on epochs, learning rate, batch order seed, and initialization, with each label bit moved to the next operation so no operation keeps its own target. The interval is a paired bootstrap: 10,000 resamples, seed 0, NumPy 1.26.4, linear quantile, percentiles 2.5 and 97.5. A contrast clears only when the lower bound is strictly above 0. Discordant counts are reported and are not the rule. Evaluation grids are synthetic and were stored before training. No ARC file was opened.
6The frozen experiment
Primary questions, fixed in experiments/freeze.json:
- On 48 fresh two-operation tasks (operations from two families, two demonstrations, one hidden test; seed 20261113), does the learned prior solve more hidden tests than the untrained net, at beam 6 and budget 48, with curiosity held at 0 and the archive reset each task?
- The same, against the shuffled-label twin.
- On those 48 tasks, with the learned weights, does curiosity 1.5 with a persistent archive solve more than curiosity 0 with a persistent archive?
- On 24 market tasks drawn with seed 20261115 from the family schedule, does the five-subject society solve more than the curious subject alone?
Depth-1 (24 tasks) was secondary. So was the count of solves whose returned program equals the generator.
6.1 Search
| Contrast | Solved | Difference | 95% interval | Discordant | Clears |
|---|---|---|---|---|---|
| Depth-2, learned − untrained | 43/48 vs 10/48 | 68.75 pp | [56.25, 81.25] | 33–0 | yes |
| Depth-2, learned − shuffled | 43/48 vs 3/48 | 83.3333 pp | [70.8333, 93.75] | 41–1 | yes |
| Depth-2, curiosity on − off | 43/48 vs 43/48 | 0 pp | [0, 0] | 0–0 | no |
| Depth-1, learned − untrained | 24/24 vs 11/24 | 54.1667 pp | [33.3333, 75.0] | 13–0 | yes |
| Depth-1, learned − shuffled | 24/24 vs 16/24 | 33.3333 pp | [16.6667, 54.1667] | 8–0 | yes |
The learned prior beats both controls on hidden-test exact match, at depth 1 and at depth 2. The untrained net is not at zero: 10 of 48 depth-2 tasks and 11 of 24 depth-1 tasks fell inside a random beam of 6. The shuffled twin is worse than untrained on depth 2 (3/48) and better than untrained on depth 1 (16/24). One depth-2 task was solved by the shuffled arm and missed by the learned arm (the 41–1 split). That single loss is in the interval; it does not pull the lower bound to 0.
Generator identity is weaker than test-exact match. On depth 2, 24 of the 43 learned solves returned the generating program and 19 returned a different program that still matched the hidden grid. On depth 1, all 24 learned solves returned the generator. A fresh-grid hit does not show that the search recovered the program that drew the task.
Curiosity, as implemented, did nothing measurable on these 48 tasks. The two vectors are identical, so the interval is degenerate at 0. The prior’s ranking was already sharp enough that a bonus of 1.5 on unseen one-step behaviors never changed the program that was accepted. That is a null result about this bonus on this prior, not a theorem that novelty cannot matter. The protocol forbids retuning the bonus and running again.
6.2 Society versus one subject
The society and the curious subject alone each solved 24 of 24 frozen market tasks. The vectors are identical. The difference is 0 percentage points, interval [0, 0], and the contrast does not clear. By family the society solved 5/5 geometry, 5/5 colour, 4/4 object, 5/5 cross-family, and 5/5 traps. The single curious subject solved the same lists. On this draw the beam already covered every task the specialists could solve, including the traps. A society cannot show a gain in solvability once one member solves everything.
That null does not erase the separate demonstration in docs/media/run.json (seed 1, 20 rounds, run before this protocol and not one of its contrasts). There the question is who is assigned and paid. Specialists won every task in their own family (geo 4/4, colour 4/4, object 3/3). The curious subject won 3 of 4 cross-family tasks and was the only bidder on those; the programs it submitted were the reverse of the generator and still matched the test, and it paid a specialist 20% (132,000, 133,520, and 135,040 units). One cross-family task received no bid. The colour-map subject was assigned first on rounds 5 and 10 (scores 25 then 23), revealed a wrong grid, and was slashed. From round 15 the object subject’s score was higher (25 against 22) even though its price was higher, because reputation had moved. Final reputation in that run: geo 1388, colour 1348, object 1708, curious 1231, mapfit 880. Two slashes, three splits, 19 of 20 tasks solved. Those are descriptive counts from one seed of the market demo, not a bootstrap from the frozen file.
6AFive learners, one initialization
The subjects in section 3.3 of the first draft were not all learners. Four of them had no weights and a hard-coded subset of operations. That undercuts the thesis. The protocol in experiments/upbringing/PROTOCOL.md replaces them. It was committed before scoring as c703d7629ec512440b5a16888bf01bb819cb9862. The first ablation was not rerun and its result file was not edited.
All five start from init seed 20261117, width 384, three hidden layers, 326,800 parameters. Training is the upbringing. Geometry, colour, and object subjects see only programs inside that family, 1,600 rows, no label noise. The mixed subject sees the whole catalogue, 1,600 rows, and adds a curiosity bonus of 1.5 with an archive that persists across the frozen task order. The noisy subject sees the whole catalogue for 200 rows, and each positive label moves to a different operation with probability 0.25. Features 33 through 48, the single-operation residuals, are zeroed. Left on, they name a depth-1 rule and a curriculum cannot matter. The generalist is a sixth network of the same size, not in the society: 8,000 mixed rows, no noise, no curiosity, beam 15 and a budget of 240 program checks, matching the society’s five budgets of 48. One colour training row was dropped because its grid appeared in the evaluation draw. The other subjects dropped none.
The search draw is 16 tasks in each of four families, seed 20261118. A subject solves a task when its accepted program matches the hidden test grid.
| Contrast | Solved | Difference | 95% interval | Clears |
|---|---|---|---|---|
| Geo tasks, geo − colour | 16/16 vs 9/16 | 43.75 pp | [18.75, 68.75] | yes |
| Geo tasks, geo − object | 16/16 vs 0/16 | 100 pp | [100, 100] | yes |
| Colour tasks, colour − geo | 16/16 vs 0/16 | 100 pp | [100, 100] | yes |
| Colour tasks, colour − object | 16/16 vs 0/16 | 100 pp | [100, 100] | yes |
| Object tasks, object − geo | 16/16 vs 0/16 | 100 pp | [100, 100] | yes |
| Object tasks, object − colour | 16/16 vs 5/16 | 68.75 pp | [43.75, 87.5] | yes |
| Society − best single | 61/64 vs mixed 60/64 | 1.5625 pp | [0.0, 4.6875] | no |
| Society − generalist | 61/64 vs 64/64 | −4.6875 pp | [−10.9375, 0.0] | no |
Upbringing specialized the three family subjects. The intervals on those six paired contrasts are above 0. The best single subject, chosen on the same 64 tasks and re-chosen inside every bootstrap resample, is mixed, with 60 solves. The society, through the market, solved 61. The extra solve is not enough: the interval is [0.0, 4.6875] and the contrast does not clear. The generalist solved all 64. The society-minus-generalist point estimate is negative. The interval touches 0, so under the pre-registered rule the society does not significantly lose either. It also does not win.
The payment trial is a separate frozen draw of 24 schedule tasks, seed 20261119, using the same five weights. The market solved 23. Mixed was paid on 22 of those. Geo was paid once. Colour, object, and noisy were never paid. One cross task drew no bid. Nobody was slashed. Final reputation: mixed 2893, geo 1167, and the other three stayed at 1000. Specialization in the solve matrix did not become specialization in who was paid, because mixed could already solve the other families and its bids won. That is a null result about the payment rule, not about the curricula.
7Earlier measurements, in one paragraph
Work outside this repository, on the same question, is summarised here and was not rerun. A synthetic generalisation gate passed. A real-task confirmation failed. A deeper-search gate failed its control. Those three sentences are the whole of the earlier record this paper carries. The learners, the 16-operation language, the two frozen protocols, and the contract below are this repository. The broader system uses a larger grid language and a deeper search. This paper does not reproduce that system, and it does not claim its numbers as its own.
8Related work
Works named directly:
- [1]Chollet, F. (2019). On the Measure of Intelligence. arXiv:1911.01547. The argument for measuring skill acquisition, and the Abstraction and Reasoning Corpus.
- [2]ARC Prize. The public ARC-AGI evaluations and the pass@2 reporting convention. https://arcprize.org
- [3]Schmidhuber, J. (1991). A possibility for implementing curiosity and boredom in model-building neural controllers. Proc. SAB 1991. And Schmidhuber, J. (2010). Formal theory of creativity, fun, and intrinsic motivation. IEEE Transactions on Autonomous Mental Development, 2(3), 230–247. Curiosity as a drive toward learnable novelty.
- [4]Pathak, D., Agrawal, P., Efros, A. A., and Darrell, T. (2017). Curiosity-driven exploration by self-supervised prediction. ICML. arXiv:1705.05363. An intrinsic reward from prediction error. The bonus in this repository is a constant added to a logit when a one-step behavior is new. Section 6 says that constant did not move outcomes.
- [5]Ellis, K., Wong, C., Nye, M., Sablé-Meyer, M., Morales, L., Hewitt, L., Cary, L., Solar-Lezama, A., and Tenenbaum, J. B. (2021). DreamCoder: Bootstrapping inductive program synthesis with wake-sleep library learning. PLDI. arXiv:2006.08381. Library learning over programs. The catalogue here is hand-specified and frozen. Learning new operations is roadmap, in the skill library.
- [6]Two published tiny recursive systems sit inside the 1–30 million parameter envelope and were not run here: TRM, about 7 million parameters, arXiv:2510.04871, and HRM, about 27 million, arXiv:2506.21734. Published descriptions of those recipes include training on evaluation-task demonstrations and per-puzzle embeddings. Their public numbers are not adopted as results of this repository. A neutral recursive core of that kind is roadmap.
- [7]NEAR Intents, 1Click Swap API. https://docs.near-intents.org/ The quote endpoint used in section 4.1 is
POST /v0/quoteonhttps://1click.chaindefuser.com, withdry: true.
9Limitations
- No ARC-AGI score is claimed. Evaluation files were not opened. A real-task confirmation in the earlier work failed, and this paper does not replace it.
- The depth-2 win is on programs drawn from this repository’s 16 operations. The residual features in ablation 1 show the searcher the effect of every single operation. A win there is evidence that the weights use those features.
- Nineteen of 43 depth-2 hits were aliases. Test-exact match overstates generator recovery.
- Curiosity on the first protocol, and society-versus-single on both protocols, are nulls on the frozen draws. Another society claim needs a new protocol, frozen before scoring.
- The untrained control is unmatched on training compute. The shuffled control is matched.
- The offline market and the wasm contract are two implementations of one specification, covered by shared cases and one sandbox payment.
- The testnet account proves deployment and one escrow. It does not host the 24-round upbringing trial. The key that could sign further calls was not published.
- The 1Click call is a dry quote. It does not settle a helper, and it does not spend mainnet funds. Chain Signatures are not implemented.
10Roadmap
The phases, in design order:
- A neutral learner that acquires a grid skill from a few demonstrations, on CPU, inside the 1–30 million parameter envelope, with cost per task reported. This repository: a 326,800-parameter prior on a 16-operation language.
- Curiosity that changes which program is tried. This repository: the bonus was a null on the first frozen draw. The slider on the explainer shows the ranking move when a behaviour is already known.
- Upbringings that specialize. This repository: the six specialist contrasts cleared.
- A society paid only for a verified grid. This repository: the NEAR market. The society did not beat its best member or the generalist.
- Societies hiring societies, settled in the helper’s asset through NEAR Intents, with Chain Signatures for the destination chain. This repository: one helper inside a single contract, and a dry 1Click quote. The rest of this phase is roadmap.
The next measurement on ARC-style data, if it is ever run, is a protocol frozen before scoring, on a split that has not been exhausted, with the same clear rule, against an untrained net and a shuffled twin, reporting cost per task. Inside this catalogue, another society claim needs a draw the best member misses, or a payment rule that can hire. Either change is a new protocol, and it leaves commit 4528606 and commit c703d76 untouched.
Until a sealed pass@2 exists, the sentence at the top of the explainer stays the accurate one: no language models, no pretrained weights, five learners of 326,800 parameters trained from scratch on CPU.
—Disclosure
The research question predates this hackathon entry. Hackathon rules Q-002 and Q-004 allow an older project only for the integration built in the window. The integration is this repository: the contract, the 16-operation catalogue, the five learners, the society loop, the two frozen experiments, and the dry Intents quote. The interactive explainer is dashboard/index.html. GitHub Pages publishes it when the repository is public.
Libraries: near-sdk 5.5.0, near-workspaces 0.22.1, NumPy 1.26.4, Python 3.12, near-cli-rs 0.31.1 for the testnet deploy. No paid model API. A Cursor Grok coding agent wrote the implementation from the task statement. License: MIT, copyright 2026 Utkarsh Tiwari.
—Notes
- Full hash
452860636365e6a6db83f99422c97d0dd3ebae0c.experiments/score.pyrefuses a dirty worktree and refuses to overwriteexperiments/results/ablation.json. It was run once. - 10,000 resamples, seed 0, NumPy 1.26.4, linear quantile, percentiles 2.5 and 97.5. A contrast clears only when the lower bound is strictly above 0.
- Full hash
c703d7629ec512440b5a16888bf01bb819cb9862, committed before scoring. The first ablation was not rerun and its result file was not edited. - The quote endpoint is POST
/v0/quoteonhttps://1click.chaindefuser.com, withdry: true. A dry response carries a price and a time estimate and omitsdepositAddress. - Init and one escrowed task of 0.1 testnet NEAR are transactions
8P5YnnDD…EpzC6Yand77kAs6Si…FjTc. The signing key is not in the repository.