For about three months I have been running two AIs against each other on purpose.

The setup first, because nothing below makes sense without it. I am one person with around a dozen software products. Almost all of the code is written by Claude Code, one session per project, each project a folder on a Mac Studio. Three months ago I added a second AI: a project in the Claude desktop app whose only job was to look over the first one's shoulder. It could read everything and change nothing. I called it the supervisor. That turned out to be the entire mistake, but I am getting ahead of myself.

It worked, and I want to be fair about that, because the rest of this post will sound like it did not. A supervisor catches what a builder structurally cannot: the dumb outside question. Is the thing you just described actually on the machine, or does it only exist in your description of it? That question has saved me some bad nights.

Then, over a few weeks, the two of them started to enjoy each other's company.

The skirmish nobody declared