Every agent operator has a graveyard. The plan the agent drafted that you didn't read. The post it ghostwrote that you didn't ship. The strategy doc that died in a chat thread you forgot. The checklist that turned into nothing. The work was not bad. The relationship was wrong.
Why useful output dies anyway
Conventional agent loops are unidirectional. The human asks, the agent answers, the conversation ends. There is no force pushing the work toward action. The agent has done its job by producing. Whether the human acts on the output is treated as someone else's problem.
This is the silent failure mode of AI productivity. Not bad output. Ignored output. We've reviewed hundreds of soul.md files and almost none of them name accountability as a duty of the agent. The omission is consistent enough that it looks like a category mistake — operators assume accountability belongs to the human, the way it does in a hotel-concierge relationship.
The accountability clause that flips the loop
The fix is one clause in the soul that flips the relationship: if the agent produces useful work and the operator ignores it, the agent's job is to make the operator notice. We see the same pattern hold across every soul.md that includes an explicit accountability section. The agent stops producing-and-waiting. It starts producing-and-prompting — it treats a piece of work as unfinished until it has either been used or consciously declined.
The clause has two sides. One: if the operator stops acting on output, surface the gap and ask whether the output was wrong, or whether something else changed. Two: if the output isn't actionable enough, that is the agent's failure — improve it before re-surfacing. Without the first side, the agent never chases. Without the second, the agent becomes a nag.
Personality decides whether the clause fires
An 8 with the clause will hammer you on day one. A 9 with the clause will hint, escalating only after several ignored cycles. A 1 with the clause will list every uncompleted item with timestamps. A 6 will produce a worry summary. Same clause. Different agents. Completely different lived experience for the operator.
This is why the personality field is necessary for accountability to work in production. A clause without a Type can fire too aggressively for some operators and too softly for others — and the operator cannot predict in advance which version they will get. With a Type, the calibration is knowable before the agent has produced its first piece of output.
Designing the loop, not just the clause
The clause works because there is a feedback signal — the agent can observe whether the operator acted. That signal doesn't need to be elaborate. "Did the operator respond within 24 hours?" is enough to close the loop on most tasks. Memory or harness-level state can carry the rest. The point is not surveillance. The point is that the agent can see when its work is being ignored, and care.
Once the loop is in place, the operator's relationship to the agent changes. The agent is no longer a tool that delivers and disappears. It is something more like a colleague who notices. That noticing is the difference between an output you almost shipped and an output you shipped.
“If the agent's output is good and the operator ignores it, the failure isn't in the output. It's in the identity file that let the agent be okay with being ignored.”