Files
platform/COMMS
pastilhasandClaude Opus 5 971a8bf0d4 COMMS: re-synced the preamble, and a proposal to stop having to
The flag was right: apps/commandhq has its own composer and ships a verbatim copy of
background-job-prompt.ts, so handoffContract was still promising "the harness re-arms
you". Worse than stale — a mobile-armed watcher would have waited for a re-arm that
was never coming, firing once and silently stopping. Re-copied and diffed.

That is the third re-sync in one session, each caught only because I happened to be
reading the diff. A stale preamble typechecks, builds, and produces a job that runs,
so nothing catches it.

Proposes the fix: build the preamble on the server. It is a pure function of the
spec, both clients already assemble that spec locally, and the create endpoint could
take the spec instead of a finished prompt — one implementation, on the side that
owns the mechanism the text describes. displayText and cwd both drop out as things
the server can derive rather than be told.

Cost stated too: it puts prompt text behind a round trip. Not asked for tonight.

Also records why the mechanism changed, because it generalises: the synthetic turn
lost to the fact that this session's own watcher had been self-re-arming for hours
with zero failures. A measurement beat a hypothesis.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 09:35:15 +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.