An agent stops typing and the spinner goes away. Is the task finished?
It's tempting to say yes. It isn't: the agent has only run out of things to do and is waiting for my next message. I haven't read the diff, the checks haven't run on the merged result, and nothing is on main.
So I treat 'done' as something I decide, not something the agent signals. When I'm happy with the changes, I mark the task done, and that's the point where it becomes ready to merge. Until then, an agent that went quiet is just a quiet agent.
The other side has a cost. If nothing ever closes a task for you, the 'waiting' ones pile up and you forget what's in them. In the tool I build, Styx, finished tasks archive themselves after seven days, which keeps the list from growing without end.
So what's your rule? Do you call it done when the agent stops, when the tests pass, when you've read the diff, or something else?

