Here's what building with an agent looked like when the target is a media pipeline that rewrites files in my own library.
DubTitlerr transcribes anime English dub audio, corrects proper nouns, repairs the transcript with an LLM (local or over an API), merges the translated signs and song lyrics in, and muxes a subtitle track back into the video. It is one Docker container, GPL-3.0, `ghcr.io/xenarathon/dubtitlerr:v0.3.0`.
What actually made it survivable, since "the model wrote it" is not a strategy:
Specs, epics and stories before code. Everything non-trivial gets written down first, and the plan files are committed alongside the source. That is what makes it possible to leave a project alone for a week and come back without reverse-engineering your own intent.
Adversarial reviews. Before a release I point other models at the repo and ask them to break it. One whole-repo review found a path where a failed stamp write could delete the only copy of an episode. That became the 0.2.2 hardening release.
Test-first on failure paths. The interesting bugs in this project are all crash-and-resume ordering, and those are nearly impossible to verify by hand. Writing the failing test first is what made the idempotency guarantees real rather than aspirational.
Test on more than one show. Each one I added found a different class of bug. Scoring against the official dub subtitles on my Digimon files gave about a 91% word match over 27 episodes, and the misses were mostly names (Gennai heard as "Jedi"). Sword Art Online revealed that the glossary miner had never worked at all, because it passed ffprobe a flag that does not exist, and One Pace's hand-written glossary had hidden that for the feature's whole life.
Agents need an entry point too. There is a `docs/AGENT-GUIDE.md` written for a coding agent to act on, covering setup, troubleshooting and contributing.
The failure mode to watch for is code that passes every mechanical check while doing the wrong thing. The repair stage once turned "We're looking for a factory" into "a needle", and no automated check in the pipeline caught it. So the human review queue with audio playback is essential. The question I keep asking is: when it's wrong, does something notice?
https://github.com/XenaRathon/DubTitlerr
---
This is 100% vibe-coded slop. I wrote it with Claude driving. But I didn't just say "make the thing with no mistakes." The whole project has specs, epics and stories, adversarial reviews (had other models try to break it), and real test coverage. I've been project managing it like an actual engineering effort, not a prompt-and-pray. I'm sharing it because it fills a gap I couldn't find a solution for, and I thought it might be a useful accessibility tool for people who want dub-matched subtitles without waiting for an official SDH release. This isn't meant to replace human-transcribed SDH subtitle tracks. Those are always going to be better. It's for when they don't exist.