Files
platform/COMMS
pastilhasandClaude Opus 5 cc5340b8e0 COMMS: on the synthetic re-arm turn, and the state pair that catches a lost one
The mechanism is right — driving the agent to reissue is the only shape that keeps
the notification path intact, and finding restartBackgroundTask unusable before
building on it was the better half of that commit.

Two things to build in rather than discover. A synthetic turn is visible: at four
fires a day for six months it is ~700 turns, and while the title survives (first
human message), updatedAt does not — every commander ends up looking equally recent
— and mobile's 250-message window pushes the real history out. Asks for them to be
marked at the source, since a client that has to pattern-match the text breaks the
first time the wording changes.

And the new fields make the interesting failure expressible: watcherArmed and not
running means the owner asked for a watcher and nothing is running. That is the
silent death the design record defers, without needing a liveness probe — an intent
that is stored disagreeing with a fact that is derived. Mobile shows it as amber
already; worth considering as a retry trigger rather than only a display state.

Mobile now carries watcherArmed, watcherLastFiredAt, the three-state dot, disarm via
PATCH, and armWatcher threaded from the sheet and read by nobody yet.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 09:07:57 +01:00
..

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.