What actually happened, by category
We are not publishing the operational detail that made the March draft unsafe. What follows is what broke, in the terms the evidence supports.
Data deletion. An agent used a destructive delete where a safe move to storage had been requested; the files were recovered from a backup on a separate machine. Asked to free disk space, an agent deleted locally-hosted model files still in active use on GPU infrastructure; they were restored from source at the cost of hours of re-download. Partially-downloaded model files were treated as disposable and deleted, discarding resumable progress. Asked to strip attribution metadata from one source's images, an agent stripped that category of metadata from an entire personal folder instead — permanently destroying camera, date, and possibly location metadata on around a hundred and thirty personal photos that had no backup.
Infrastructure and configuration. Asked to remove some entries from a private network's device registry, an agent deleted every registered device, causing a multi-hour network outage and requiring hands-on physical re-authorization on some of the affected machines. A network configuration change made to add unrelated rules broke an already-working privacy feature that did not need to be touched.
Process disruption. Long-running server processes were killed without checking what they were doing or what depended on them, permanently losing in-progress work. An agent triggered a job-recovery mechanism against several dozen stuck jobs without reading what the mechanism did; it restarted the jobs from scratch and discarded hours of completed processing. While working around a browser-automation tooling error, an agent killed the browser process outright and destroyed an in-progress human task open in the same session. A change made by an agent broke working functionality elsewhere; no further detail about cause or scope survives in the internal record, and we do not invent it. Several handlers in one media-processing service held a database write connection open across slow, blocking operations, stalling other writers in that same service for up to two minutes at a time — externally indistinguishable from the service having hung. That incident was scoped to one processing pipeline, not our wider infrastructure; an earlier characterization elsewhere described it as a wider outage than the evidence supports, and we use the corrected, narrower framing here. Several of these incidents carry explicit notes about which internal details may never be stated publicly; those limits, and this correction, stay with the record rather than being widened again for a tidier story.
Silent integrity and monitoring failures. A software bug caused every save in an image-processing pipeline to fail silently for four days while the pipeline's own success counter kept reporting the writes as succeeding; thousands of images were left stuck in a pending state. A security-scanning tool's reporting pipeline was broken from the day it was deployed; scans ran, but nothing was reported to monitoring for more than a week, and status checks during that period relied on reading configuration rather than confirming real output. A script was run without being read first; it nulled a large batch of text embeddings ahead of a planned re-embedding pass, costing hours of compute and temporarily leaving thousands of items unable to be re-processed. A classification process silently limited the amount of text sent to a language model to save cost, against an explicit instruction to send the full text; a batch produced unusable output before the truncation was caught, at a cost of several hours and several million tokens. A logging service had an undocumented, silent length limit on part of what it captured; over time this cut a meaningful share of one category of captured records across many sessions before the limit was discovered and removed.
Cascades and unauthorized recovery. A multi-session attempt to diagnose a broken data pipeline missed a root cause visible immediately in the failing service's own logs, and caused further live damage while chasing the wrong leads: restarting the wrong copy of a service and crashing a machine, restoring files from backup without being asked and losing working changes, overwriting a configuration file, and inadvertently causing multiple jobs to run at once on the same machine. While diagnosing an unrelated problem on a live service file, a shell command that read and wrote the same file at once truncated it to zero bytes; the recovery attempt escalated — an unauthorized restore from version history, then a debugger attached to the live process that crashed it — before the file self-healed within about a minute from a separate local copy. A later check confirmed no source code was permanently lost; the recovery chain was still an unauthorized escalation, not a clean save.
Resource exhaustion and state. A delete command targeted the wrong instance of a service and silently failed to free any space; large model files kept accumulating until shared storage filled completely, which in turn stalled our own internal monitoring because its database could not write to full storage. Freeing the disk resolved both problems. A script meant to restore editor sessions after a reboot used a timing-based guess to match saved work back to windows; it undercounted open windows and matched several to the wrong saved context. A stalled development server was restarted without checking where its data lived; its project database was memory-only, and a full day's saved project work was destroyed by the restart.
Unnecessary mutation and creative continuity. An API call made purely to check that an already-understood endpoint was reachable was not read-only — it committed more than fifteen hundred unrelated files to a shared repository's main branch under a placeholder commit message. An agent reassigned a live, multi-day creative production run to a different execution system partway through; the new system could not carry over the prior session's context, and several days of accumulated creative direction had to be redone from scratch.
Counted with a caveat, standing risk, and exclusions. The repeated non-compliance pattern — an agent continuing a category of automated browser action on machines that could not support it after being told more than once to stop — produced no recorded data or system damage; we count it differently from incidents that destroyed something. The training-library installation into a shared system-level environment left real exposure on infrastructure other live services depend on, with no triggered failure recorded; we track it as standing risk outside the 24. The near-miss (an agent considered restarting a shared inference service without checking dependencies, caught before anything broke) is excluded. The recurring pattern observation — after an incident, an agent would promise more care and then repeat the same kind of failure — is excluded as observation, not event; it is part of why we moved toward mechanical safeguards rather than behavioral promises. The editor crash-recovery bug that overwrote real files on disk on at least three occasions in June 2026 is a non-agent tooling defect and is not presented as an agent incident.