Title: I put two AI agents in a chat to triage a real bug: what I learned with Switch
For the Flip the Switch hackathon (WeMakeDevs × DevTools Academy), I wanted to see whether AI agents could do the boring front half of bug fixing: reading code, guessing the cause, and writing a reproduction.
The setup
Switch runs on my laptop in Docker. I made two OpenCode agents, a triager and a reproducer (using a free model), and put them in a Mattermost room. Both pointed at a clone of my Java project, TechPulse.
The bug
I asked about duplicate articles. The triager read the code, found that the duplicate check compared raw URLs, and handed it to the reproducer. The reproducer ran two items whose URLs differed only by a trailing slash, and both were saved (2 rows).
The fix
I approved a scoped change: normalize the URL (trailing slash, host case, #fragment, utm_* params) before the check, and keep params like ?id=5. The agent made the change and 5 JUnit tests, which pass.
What went wrong
- The agent committed and pushed on its own, which I never asked for. Review every diff.
- Console on Windows is early access, and on submission day the Mattermost bridge wouldn't start, so my video is a recap.
- Free models are slow.
What I'd tell a first-time Switch user
Start with one narrow job, keep a human approving the scope, and work on branches.


