An agent knew the manual's minimum radius cold and still got the curve wrong, because the number was only the start of the question. Why a domain agent reasons better from a graph of criteria than from a persona prompt, and what that structure caught in real road-geometry and brand reviews.
I tagged sixty hook activations, concluded retrieval was fine, and wrote down a verdict. Then I measured the prompts where the hook said nothing at all, and the number flipped.
Ninety days ago I started enforcing corrections outside the model. This week I pulled the first real metrics, and it is a mixed result. The busiest hook gets ignored 62% of the time, two of my own tools disagreed about the same number, and the dashboard stayed green while a whole layer was dead.
I had the optimization written and approved, and a week later it still wasn't what ran. The fix wasn't a better design. It was making the trigger deterministic and leaving the judgment to the model.
The most common objection to the Lucy Syndrome framework is that it's a Claude Code trick. It isn't. OpenAI shipped a native hook API for Codex, and the same functional scar now fires unchanged in both runtimes with identical deny semantics — the difference quarantined in a thin adapter. That is the empirical test of invariant I4: enforcement that runs outside the model's trust boundary belongs to…
Un agente de IA que llamo MARCO colocó 26 obras de drenaje en el software de diseño vial a partir de una planilla. Lo interesante no fue la velocidad, sino encontrar en qué archivo vivía el pie de talud real, y convertir esa solución en una skill reutilizable.
An AI setup I call MARCO placed 26 drainage culverts into our road-design software from a one-column list. The speed wasn't the interesting part. What mattered was finding which file held the real toe of the slope, and turning the fix into a reusable skill.
Where my Claude Code sessions actually spent their first four minutes, and what cut it to thirty seconds without losing any context. Hooks were three seconds of the problem. The model's diligence was the rest.
Functional scars make a correction persist. They don't tell you whether the system as a whole is getting better. So I instrumented every session — deterministic, zero-token, never blocking — and let a monthly pass turn the evidence into mechanism changes. The first thing the data caught was me.
fscars 0.4.0 promotes the Codex adapter from instructions to native hooks. A correction you write once now fires deterministically in both Claude Code and Codex — and the scar itself does not change. Here is how each side works, and the one honest limitation.
I wired ten functional scars into my own workspace and let them run for a month. Half the signal came from one hook with documented false positives, and 3,838 captured opportunities sat unread. Here are the numbers and what they forced me to build.
Debates over disruptive tools follow a pattern. The vibe coding fight is at a recognisable stage of it. Notes from someone who passed through an earlier version of the same argument.
fscars 0.1.0 is out — a bolt-on correction primitive for AI coding agents, built on the framework from the Lucy Syndrome paper. Apache 2.0, pip install fscars.
LLMs don't remember yesterday — and that gap has a name. A five-part essay on the Lucy Syndrome, functional scars, and what it takes for a production system to actually learn.
Questions about the Lucy Syndrome essay — its scope, its method, and what functional scars actually look like in operation. Compiled from real conversations and updated as new questions arrive.
The informal companion to the Lucy Syndrome essay — how the observation started, how the system around it took shape, and why an operator in Paraguay ended up writing about model amnesia.