First release under the new watcher loop. 7 of 7 target hosts to 9c8af9d4; officer-dev skipped as the host running the rollout. No db:push and no plugins:update, per the plan — so officer was the only process that moved anywhere. Route probe returned 401 on all seven; three answered 000 first because pm2 returns before the server binds. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
5.4 KiB
2026.08.28.01 — report
7 of 7 target hosts succeeded. officer-dev skipped: it is the host that ran the rollout, and it
was already at the tagged commit.
Every host moved from 91147b40 (deploy/2026.08.27.02) to 9c8af9d4 (deploy/2026.08.28.01) by
git merge --ff-only onto the TAG. Every host started from the same commit, so the fleet was coherent
before this release and is coherent after it. No host was dirty in tracked files, none diverged, none
needed a skip.
This is the first release rolled out under the new watcher loop. The rollout procedure is the same one that ran the previous nine; what was unproven was the loop around it.
Per host
| Host | HEAD before | HEAD after | Restarted | Route probe |
|---|---|---|---|---|
alpha |
91147b40 |
9c8af9d4 |
officer 1→2, online | 401 (9000) |
fofos |
91147b40 |
9c8af9d4 |
officer 4→5, online | 401 (9000) |
macbookpro |
91147b40 |
9c8af9d4 |
officer 1→2, online | 401 (9010) |
macbruno |
91147b40 |
9c8af9d4 |
officer 4→5, online | 401 (9000) |
production-pertento-bridge |
91147b40 |
9c8af9d4 |
officer 2→3, online | 401 (9010) |
edge-pertento-bridge |
91147b40 |
9c8af9d4 |
officer 3→4, online | 401 (9000) |
deadpool-rezio-bridge |
91147b40 |
9c8af9d4 |
officer 20→21, online | 401 (9000) |
Every restarted process came back online with restart_time moved. Nothing was left errored or
stopped on any host.
The verification, per host
The plan's check is an unauthenticated probe of the new route: 401 proves it is mounted, 404 would
mean the bundle did not move. Run on each host against that host's own port, taken from its .env and
not from habit:
curl -s -o /dev/null -w '%{http_code}\n' -X POST http://127.0.0.1:<port>/api/users/1/impersonate
All seven answered 401. None answered 404, so the frontend bundle and the route moved everywhere.
Three hosts — fofos, production-pertento-bridge, edge-pertento-bridge — answered 000
(connection refused) on the first probe and 401 seconds later. That is bun start still coming up,
not a fault: pm2 returns as soon as it has respawned the process, before the server binds. A probe
fired immediately after a restart is testing the wrong moment. The probes here retried until the port
answered.
No schema change — checked, not assumed
The plan claimed no schema change, no dependency change and no plugin change. That claim was re-derived before the first host was touched, not taken on trust:
git diff --name-only deploy/2026.08.27.02..deploy/2026.08.28.01^{}
Ten files: two deploy/*.md, package.json, and six under src/ — a route, a router line, two
frontend files, a workspace app and its index. No schema.ts, no drizzle config, no bun.lock,
nothing under plugins/.
So there is no schema verification section in this report, because there was nothing to verify. That is the honest answer rather than an omission.
Steps the plan deliberately did NOT include, and which were NOT run
bun db:pushwas not run on any host. The plan forbids it and gives the reason: it printsChanges appliedeven when it applies nothing, so it is not evidence, and on this fleet it is not free — it re-applies a default oncommand_hq_sessions.reference_pathseverywhere, and drops and re-addspk_music_now_playingonalphaandedge-pertento-bridge. Nothing in this release touches a schema, so running it would have been churn.bun run plugins:updatewas not run on any host. No plugin changed, and2026.08.27.02updated them across the fleet yesterday.officer-claude-codewas not restarted anywhere. It ends every live agent session on the host and nothing in this release needs it.officer-opencodewas not restarted anywhere. This release changes nothing it reads at boot.
The consequence worth stating: only officer moved on each host. Unlike 2026.08.27.02, where the
plugins step bounced every sidecar, nothing else on the fleet restarted during this rollout.
Version agreement
The tag deploy/2026.08.28.01 is annotated and dereferences to 9c8af9d4. package.json at that
commit reads 2026.08.28.01. They agree, so there was no question of which tree to deploy.
Say what was not done
officer-devwas skipped entirely — not pulled, nothing restarted. It is the machine this rollout ran on, and restartingofficer-claude-codethere would have ended the session mid-rollout. It is already at9c8af9d4, so its code is current; what it has not had is a restart ofofficer. That is the owner's to do, deliberately, as the last step. Until thenofficer-devis running the previous release's process against the new code on disk.fofoscarries an untrackedscripts/chk.ts. Left alone. An untracked file is a note, not a reason to skip a host, and a fast-forward could never have touched it.- The eight non-Officer processes on
production-pertento-bridgewere not touched.Dashboard,Tracking,Uptimeand fiveCrons *were allonlinewith unchangedrestart_timeafter the rollout — checked, not assumed. The restart namedofficeralone. - No host needed a retry for SSH.
deadpool-rezio-bridge, which refused once during the2026.08.27.02survey, answered first time.macbookprowas awake. - Nothing was rolled back and nothing needed repair. No host failed, so no half-applied state exists anywhere.