Every new issue needs the same first pass — is this real, can I reproduce it, is it worth fixing today — and that pass is what eats the start of a day. Not because any one of those questions is hard, but because you ask yourself the same three things every single morning, for every single issue, before you've done anything else.
A `scheduled` agent doesn't wait for a thread to tell it something's wrong — it has no thread to wait on at all. Give it an interval instead, and it goes and looks for the work itself, the same way you'd poll a repo for anything new. That's the shift: instead of a message arriving and an agent reacting, an agent goes looking, on its own, before you've had coffee.
The moment it finds something worth acting on, it doesn't try to triage, reproduce, and fix an issue all in one breath — it hands the next stage to a fresh thread of its own, scheduled to pick up where the last one left off. Triage becomes its own thread. Reproduce becomes the next one. Fix becomes the one after that. Each thread only has to get one job right.
That's a different shape than pairing two agents for two roles. Here it's one agent, moving through the same pipeline every time, reading each thread's own content to figure out which stage it's in. The steps aren't separate responsibilities the way a reviewer's judgment is separate from a builder's — they're stages of one linear job, done in order, which is exactly when one agent walking through phases beats two agents split by role.
Nothing in that pipeline merges or closes anything on its own. The last thread in the chain hands you a proposed fix, the same as any other change an agent proposes — something to look at, not something that already happened. The chore that used to open your morning is just... done by the time you get to it.