deploy/2026.08.28.01 — seven hosts, one process each, and a probe that had to wait
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>
This commit is contained in:
@@ -0,0 +1,99 @@
|
|||||||
|
# 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:push` was not run on any host.** The plan forbids it and gives the reason: it prints
|
||||||
|
`Changes applied` even when it applies nothing, so it is not evidence, and on this fleet it is not
|
||||||
|
free — it re-applies a default on `command_hq_sessions.reference_paths` everywhere, and drops and
|
||||||
|
re-adds `pk_music_now_playing` on `alpha` and `edge-pertento-bridge`. Nothing in this release touches
|
||||||
|
a schema, so running it would have been churn.
|
||||||
|
- **`bun run plugins:update` was not run on any host.** No plugin changed, and `2026.08.27.02` updated
|
||||||
|
them across the fleet yesterday.
|
||||||
|
- **`officer-claude-code` was not restarted anywhere.** It ends every live agent session on the host and
|
||||||
|
nothing in this release needs it.
|
||||||
|
- **`officer-opencode` was 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-dev` was skipped entirely** — not pulled, nothing restarted. It is the machine this
|
||||||
|
rollout ran on, and restarting `officer-claude-code` there would have ended the session mid-rollout.
|
||||||
|
It is already at `9c8af9d4`, so its code is current; what it has not had is a restart of `officer`.
|
||||||
|
**That is the owner's to do, deliberately, as the last step.** Until then `officer-dev` is running the
|
||||||
|
previous release's process against the new code on disk.
|
||||||
|
- **`fofos` carries an untracked `scripts/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-bridge` were not touched.** `Dashboard`,
|
||||||
|
`Tracking`, `Uptime` and five `Crons *` were all `online` with unchanged `restart_time` after the
|
||||||
|
rollout — checked, not assumed. The restart named `officer` alone.
|
||||||
|
- **No host needed a retry for SSH.** `deadpool-rezio-bridge`, which refused once during the
|
||||||
|
`2026.08.27.02` survey, answered first time. `macbookpro` was awake.
|
||||||
|
- **Nothing was rolled back and nothing needed repair.** No host failed, so no half-applied state
|
||||||
|
exists anywhere.
|
||||||
Reference in New Issue
Block a user