assay.

Continual learning for frozen models

Teach a frozen model new skills. Take them back exactly.

Assay is a research program on learning after training. New capabilities and facts go in as small modules that switch on only for their own domain and come out bit-for-bit. The base model never changes, so nothing it already knew is overwritten.

5 modules live at once 0 changed base weights every bar set before the run

Operation library · frozen 4B model

5 / 5 installed
  • 0.95

    “A veks B. C veks A.” Who veks A?

  • 0.90

    Two placements given. Who is in the middle?

  • 0.82

    A chain of comparisons. Who is second?

  • 0.87

    Comparisons stated with “not”. Who ranks higher?

  • 0.96

    Rule out everyone else. Who holds the role?

swaps

Refused. Tracking state across steps would not install at any module size we tried.

base weightssha 937e8ac4c9756126 · unchanged
unrelated skillssyllogisms 0.99 · arithmetic 0.89 · unchanged
Held-out accuracy with each module on or off. Chance is 0.50 (tick). Switch a module off: the base weights stay identical.

01 The idea

A capability is a function. A fact is a point. Reasoning over time is a process.

Installs

Functions install.

A skill is defined over a whole space of inputs, so it applies wherever the reasoning lands. One module of about 10,000 parameters installs transitive inference: held-out domains go from 73% to 94%, above 10-shot prompting (78%) and above a prompt that spells out the rule (70%).

Needs an interface

Points need a way in.

A fact only answers the exact question it was stored under. Read in place during reasoning, an installed fact comes back 71% of the time; asked as an isolated lookup, 93%. Giving facts that interface lifted multi-hop accuracy on edited facts from 30% to 44%.

Open question

Processes need a workspace.

Tracking state step by step is the one thing no module has carried. It also defeats a single forward pass: permutation tracking stays at chance even after full training, while written step-by-step reasoning solves it. Whether a latent workspace can replace the writing is what we are testing now.

02 The architecture

A frozen cortex, and everything that learns around it.

We never retrain the base model. Everything new lives in parts that can be tested on their own, switched on only where they apply, and removed without a trace.

Each part is marked by its current status: demonstrated, partial, or open.

  • Cortex
    demonstrated

    A frozen pretrained model: Qwen3-4B in our experiments. Every result is checked against the same base-weight hash.

  • Modules
    demonstrated

    Small installed modules for skills and facts, each routed to its own domain and removable bit-for-bit.

  • Consolidation
    demonstrated

    A loop that decides what stays. Modules are built from the model's own verified answers, and a functional-invariance constraint keeps earlier ones alive.

  • Usage
    partial

    A small adapter that learns what to look up and how to carry it through a chain of reasoning.

  • Workspace
    open

    Latent reasoning for what cannot be installed: state that has to be tracked step by step.

  • World models
    demonstrated

    Rules installed into learned dynamics models, where there is no prompt to state them in.

  • Arbiter
    demonstrated

    Choosing among candidate outputs by predicted outcome instead of likelihood.

03 Results

Measured, with the bound in the same line.

ResultMeasuredBound
One installed reasoning operation, on held-out domains0.73 → 0.94
10-shot prompting 0.78
A skill, not new competence: it transfers across content, never to neighbouring operations.
Five operations live at once, built from the model's own verified answers0.82 – 0.96
unrelated skills unchanged
Synthetic operation families. Step-by-step state tracking was refused.
Learning signal: verified answers vs reasoning traces+0.17 to +0.23
vs +0.00
Three replications on held-out domains; one 4B model family.
Accumulation under a functional-invariance constraint23/23 facts alive
after 5 generations
(vs 3/11 without)
The cost to new learning grows with every generation.
Installed facts inside reasoning: read in place vs isolated lookuprecall 0.71 → 0.93
multi-hop 0.30 → 0.44
Composition gained +0.07 against the +0.20 we set as the bar.
A usage adapter on edited multi-hop questions+0.10
95% CI [0.04, 0.16]
Trained by supervision. Outcome RL added nothing.
LLM plus a world model with installed rules, vs the LLM given the rules0.98 vs 0.20One environment, templated language.
Code: pick candidates by predicted outcome vs by likelihood0.35 vs 0.15
on problems the model fails
40 tasks, replicated on 20 more.

Every bar was written down before the run it judges. Full records, including the retractions, are in the research repository.

04 Negative results

What failed, and what it taught us.

  • Reinforcement learning for fact use

    Outcome RL collapsed at the same point in two runs. The policy learned phrasing habits, such as asking which city where the question needed a country, that derail the next step.

  • A latent workspace nobody read

    Our first continuous-thought model scored just as well with its thoughts replaced by averages, or by another example's thoughts.

  • Installing simulation

    Step-by-step state tracking was refused three times, at every module size we tried. One variant fit its training data and transferred nothing.

  • Trusting perplexity

    A full fine-tune lost 62% of its question-answering knowledge while perplexity stayed flat. We measure retention with question batteries instead.

05 Open source

What you can run today.

Library · Apache-2.0

assay-gate

A write-path gate for agent memory. It rejects poisoned, contradictory and stale writes before they are stored, with a reason for every decision: 98–100% rejection on LOCOMO and LongMemEval-S, regenerated by one command.

$ pip install assay-gate

Demo

assay-memory

Memory for local models that folds facts into the weights. The model answers from an empty context, then forgets on command, with the base weights restored.

Record

assay-research

The research record: every result with its preregistered bar, its controls, its bound, and the failures kept next to the wins.

06 How we work

Preregistered. Controlled. Failures kept.

Bars before runs

Every pass or fail threshold is written down before the experiment that it judges, and deviations are recorded with the reason.

Controls that could win

Each result is compared against the alternatives that could explain it: scrambled modules, prompts that describe the rule, and the model without the module.

Paired and seeded

Before and after are measured on the same questions, with confidence intervals, and the base-weight hash is checked on every run.

Assay is built by Arsenios Papachristos in Thessaloniki, Greece. The experiments run on frozen open-weight models, on a single laptop.

Contact

Work with us.

For research collaborations, design partners who want models that learn on the job and can undo it, or a note when the write-up is out.

We reply from arseniospapa@gmail.com. Never sold. See the privacy note.

Good fits

  • Research groups working on continual learning, model editing, or latent reasoning.
  • Teams that fine-tune per customer and need to undo it cleanly.
  • Robotics teams adding rules to learned world models without retraining.
  • Anyone who has to prove that a model forgot something.