Files
platform/deploy/2026.09.14.01.md
2026-09-14 20:11:15 +01:00

3.9 KiB

2026.09.14.01 — command-hq self-reported arm/fire/disarm

One commit, deploy/2026.09.09.01..36db9a2a. Backend-only, no schema change, no new dependency.

What it is

Three new routes, POST /command-hq/commanders/dir/:dirName/{arm,fire,disarm} — a second, self-reported door onto the existing armCommandHqWatcher/recordCommandHqWatcherFired/disarmCommandHqWatcher functions, for a commander loop that outlives its own turn (detached, or a tracked background job that dies with the turn anyway) and so never produces the harness's own task:started/task:notification events. Authenticated with the commander's own long-lived OFFICER_API_KEY. Full account in docs/command-hq.md → "Self-reported arm".

No route removed, no existing route's contract changed, no frontend change. The only way this release does anything is a host restarting officer to pick up the new routes — a commander whose loop already calls them (this machine's four) gets nothing from the rollout on any OTHER host, because those hosts' own commanders, if any, don't call them yet.

Verified, not assumed

git diff --name-only deploy/2026.09.09.01..HEAD | grep -iE 'schema|databases/'   # → nothing
git diff --name-only deploy/2026.09.09.01..HEAD -- package.json bun.lock        # → nothing
git diff --name-only deploy/2026.09.09.01..HEAD -- docs/servers.md              # → nothing, host list unchanged
bun run docs:check                                                              # → green

No schema change, no dependency change, no host-list change since the last release. package.json version bumped to match this tag and nothing else in it changed.

Every host — the commands

Standard steps only, nothing extra: dirty check (TRACKED only), git fetch origin --tags, git merge --ff-only deploy/2026.09.14.01, bun run plugins:update, pm2 restart officer. No bun install, no db:push — neither is needed and running either is not a finding, just unnecessary.

Verify it came back — two checks, per host

No schema table to query this time, so the usual three checks drop to two:

  1. pm2 jlist — officer is online and its restart_time moved.
  2. HTTP — /api/health on the host's own port. 200 or 401 are both healthy. Port is 9010 on macbookpro, 9000 elsewhere.

Per host

Host Login Note
alpha pastilhas
fofos pastilhas
macbookpro pastilhas Laptop. Asleep is a SKIP with a note. Port 9010.
deadpool-rezio-bridge br Not pastilhas.

Skipped, deliberately — not failures

  • officer-dev — the host the rollout runs on. Skip entirely, per the standard rule.
  • macbruno — reachability unknown at cut time; check live, unreachable is a SKIP not a failure.
  • Both Pertento hosts — deliberately-skipped list in docs/servers.md since 2026-09-08.

What "done" looks like

Four hosts attempted: alpha, fofos, macbookpro, deadpool-rezio-bridge. Each at deploy/2026.09.14.01, officer back online, health answering on the right port. A host that fails does not stop the rollout — its own line, what failed, what never ran.

Known and carried, not introduced here

bunx tsgo reports one pre-existing type error in src/servers/sidecar/claude/claude-manager.ts:667 (SdkUserMessage vs SDKUserMessage, from the agent SDK's own types) — present before this release, type-only, stripped at run time. Named here so it isn't mistaken for something this release did.