Evolving Agents Labs

Experiments in how agents learn, remember, and prove what they know.

Agents that modify themselves are easy to build and hard to trust. Everything here attacks the second half of that sentence — versioning an agent's evolution so a human can review it, reading a model's internal workspace to catch a memory it was tricked into keeping, or constraining a small model at the decoder so invalid output is not discouraged but impossible.

Each experiment is labelled by how much evidence stands behind it — including the ones where the evidence went against us.

Everything here comes out of an ongoing conversation between Matias Molinas and Ismael Faro — the ideas, the architecture, and the code. The repositories are where those conversations got tested.

Reproducible clone it and run it — no API key
Results published findings, negative ones included
Prototype runs, but needs setup or has no eval yet
Moved the code lives on inside evolving-agents
Archived readable, not maintained
evolving-agents Reproducible

The agent loop is solved. What happens after you fork a session is not.

A plugin for the Claude Agent SDK. Fork branches a session and nothing rejoins the branches — no merge, no diff between two sessions, nothing that refuses to promote an agent whose eval regressed. This began in 2025 as eighteen thousand lines with three test functions; ten thousand of them were deleted the day the SDK made them unnecessary.

Jul 2026
skillos Prototype

What if the operating system were written entirely in markdown?

Skills as programs, traces as logs, consolidation as sleep — plus a line-op dialect that lets small models patch files by emitting edits instead of rewriting whole documents.

Jun 2026
agentvcs Reproducible Moved

What if an agent's autonomous evolution could be merged back into your release, like any other branch?

Version control where one commit carries code, goal, model pins, trace and sub-agent swarm together, and conflicts are handed to a reconciler over a plain stdin/stdout contract. Now the engine under the evolving-agents plugin, at packages/agentvcs.

Jul 2026
evolving-robot Prototype Moved

What if a robot that missed a fallen patient could rewrite its own care protocol overnight?

Florence patrols a hospital ward, fails to check a patient standing outside her lamp radius, and revises the skill that caused it. The rewrite survives only if it outscores the protocol it replaced.

Jul 2026
evolving-memory Results Moved

What if an agent's memory consolidated itself the way sleep consolidates yours?

A trajectory engine that chunks execution traces, connects them and curates what survives. Its headline idea — indexing a component by what it is for as well as what it is — was rebuilt and measured at 80% either way. No advantage, published anyway.

Apr 2026
token-trie Reproducible Archived

What if a small model could not emit invalid syntax, because the decoder refused to let it?

Every legal instruction is pre-tokenized into a trie of token IDs and the sampler's valid-next set is masked at each step. A 350M-parameter model plays Tetris in a browser tab, fully offline. Masking logits needs the sampler, which an API-backed SDK does not hand you — which is why this one could not follow the others.

May 2026
sleep-harness Results Archived

What if you could catch a poisoned memory by watching which concepts light up inside the model?

An interpretability firewall for agent memory. Reads the residual stream through a Jacobian lens to flag injected instructions that are lexically identical to benign text, and to scan third-party adapters for trojans before they mount. Needs the weights, so it stayed where it is.

Jul 2026
skillos_robot Prototype Archived

What if the robot were just a device driver for a language model?

A slow vision-language brain plans at roughly one hertz while a reactive controller drives motors at twenty, over a bytecode link to an ESP32.

May 2026
qa Prototype Archived

What if your test suite told you what it had quietly stopped checking?

Every assertion is fingerprinted and diffed across runs, so a check that silently disappeared surfaces as a finding. Passing exploratory sessions get frozen into deterministic scripts.

Jun 2026