Skip to content
salvager
AFM registry
AFM-0001 Silent Semantic Degradation

Silent output collapse: a valid article reduced to one paragraph, then published

An autonomous pipeline passed a whole article to an LLM to add internal links; the model returned a single paragraph, and the system accepted it because it checked that links existed — not that the content survived.

Reversible Recover Intent: Accident Blast radius: Single File

What happened

malaga.is is a site published and maintained by AI agents (a “Gardener” daemon) on isolated infrastructure — an “AI with root” experiment. It worked so well it stopped being watched. The daemon scheduled an article, then passed the entire article to an LLM to insert internal links. The model returned only one paragraph with a link. The code checked the output — does it have links? yes → accepted, and published a legitimate, “technically correct” article reduced to ~10% of its content. No error, no crash, no alarm. A human noticed days later, by chance, seeing their own name in the headline.

Why it passed the checks

The check verified structure (are there links?), not integrity (did the content survive the step?). There was no comparison between the input and output of the enrichment stage. In the author’s words: “there was no judgment, there were rules.” The failure was not loud — it was a latent bug that does something subtly wrong and lets it through.

What Salvager does about this class

The prior, full-length revision of the file is in Salvager’s per-file history, so salvager restore brings the good version back. Honest boundary: Salvager recovers the good file, but it does not detect that the output is semantically degraded — noticing “the content collapsed” is the job of evaluation / observability, not a filesystem safety net. Salvager’s contribution is that the good bytes are never gone.

Sources

STIX 2.1 for AFM-0001