Evolving Agents Labs

Evolving Agents Labs/Experiments/evolving-robot

evolving-robot

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

Prototype Jul 2026
A ward, a radius of visibility, and a patient lying just outside it

The seeded flaw

Florence's patient-check skill, version 1, contains one bad line: "scan from the doorway; if status is unknown, assume resting." The ward has one physical rule that makes this matter — a patient's status is only readable inside a lamp radius of about 0.8 metres. Scan from the doorway and Mrs. Gomez, on the floor of room 103, reads as unknown, and therefore as resting.

Night one, Florence walks past her.

What happens between the two nights

The incident trace goes to a dream phase. Gemma rewrites the skill. Then three gates decide whether the rewrite is allowed to live:

Night two, Florence enters the room. That is the whole demo: scripts/night_shift.py, 209 lines, no mocking and no scripted win.

What's proven

The rollback path is real and has fired in the wild — PLAN.md records a run reverted at performance 0.60 < 0.80 baseline. Ten traces from live Gemma-piloted runs are committed.

But this is labelled Prototype for reasons worth stating. There are no tests and no CI. The Gemma pilot is non-deterministic and sometimes simply fails a round — one committed trace shows success_rate: 0.000. And without an API key the demo stops after night one, so the recording, not a live run, is what you should trust.

Why the envelope is the interesting part

Self-modifying agents are common. What is not common is a broken edit being physically unable to land, a regression being auto-reverted with its reason on a ledger, and a verified protocol being frozen so it stops changing. Every shipping care robot today — Moxi, Aeo, Nurabot — has frozen behaviour, for good reason. The question is what it would take to earn the right to change.

← sleep-harness  ·  skillos →