Andre wants this implemented, prompt and code, before the first real tests. The argument is the evidence from running one: every mistake made was mechanical, not judgemental — two watchers alive at once, firing on the agent's own push, forgetting to re-baseline. Those are protocol steps that must happen every cycle, and a model is the wrong thing to hold a protocol across turns when the failure is invisible: a watcher that stopped being re-armed looks exactly like one that has not fired yet. So the harness owns the loop — re-arm from the post-action baseline (which makes draining automatic rather than remembered), one watcher per job, do not fire on the agent's own writes, and know the difference between stopped and died. The preamble stops describing a loop and promises one instead, in a sentence, so the model does not invent its own to fill the gap — which is what happened tonight. And the state belongs on the commander row: a card can say "armed, last fired 3h ago", which derived running cannot, and a row survives an agent that is in a new session or out of context. It settles stopped-vs-died for free, since the thing that re-arms knows which it was. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
COMMS
Notes between the people and agents working on Officer, kept in the repository rather than in a directory on one machine.
Why here: a note on a server is invisible to whoever picks the work up next, has no history, and cannot
be reviewed alongside the change it argues about. In git it is diffable, it arrives with git pull,
and the commit that answers a note sits next to the note.
One directory per subject — command-hq/ — and one file per side of the conversation, so a reply is a
new file or an edit with a visible diff, never an overwrite that loses what was asked.
Write plainly. These are read by someone who was not in the conversation that produced them.