Writing
what broke in a weekend agent test
a breakdown of a promising workflow that failed once the edge cases and cleanup steps showed up.
Where it started
the first version looked great in a demo. the agent took a rough brief, searched through a small folder of notes, drafted an output, and placed it in the right place. watching it run felt like seeing a tiny assistant finally understand the rhythm of the desk.
for a few hours, it worked well enough to be dangerous. that is the tricky stage with agent workflows. they can produce one beautiful run before the system underneath them is actually ready.
by sunday evening, the weak points started showing up. not in the model’s writing, but in the boring parts around it: filenames, retries, partial outputs, stale context, and unclear ownership between steps.
The exciting part
the biggest failure was state. the agent knew what it had done inside a single run, but the system around it did not have a clean memory of what counted as finished. a draft could be created twice. a source could be skipped silently. a failed step could look like a completed step because a file existed with the right name.
the second failure was cleanup. demos rarely show cleanup because cleanup is not cinematic. but real workflows depend on it. temporary files need to be removed, half-written outputs need labels, and anything waiting for human review needs to be impossible to confuse with something already approved.
the third failure was handoff. i had given the agent a job, but not a clear contract. what should it ask before changing? what should it never touch? what should it summarize when it finishes? the missing answers created tiny moments of uncertainty that added up.
none of these failures were dramatic. that made them more useful. the system did not explode. it just became harder to trust, and trust is the whole point.
What lasts
the fix was not to make the agent smarter. the fix was to make the workflow more honest. every step needed an explicit input, output, and review state. every generated file needed a clear status. every retry needed to explain what changed.
i also learned to separate creative work from operational work. let the agent draft, compare, summarize, or suggest. but let the surrounding system decide where files go, what counts as complete, and when a human should step in.
a good agent workflow should be boring around the edges. boring names. boring folders. boring status labels. the creativity can live inside the work, but the container needs to be predictable.
the weekend test failed in the way useful experiments fail. it showed where confidence was borrowed instead of earned. it made the next version smaller, clearer, and easier to inspect.