# 2026.08.23.03 — deploy report **5 of 5 target hosts succeeded.** Two hosts skipped by design: `officer-dev` (the rollout ran from it) and `edge-pertento-bridge` (deliberately skipped in `docs/servers.md`, down by the owner's call — not attempted, nothing spent on it). Every host fast-forwarded to the tag `deploy/2026.08.23.03` (`c0788d15`) from `0a8fe1c2`. No host was dirty in tracked files. No `bun install` was run, per the plan. No direct SQL was run — none was authorised and none was needed. **Schema check, per host, by query — not by exit code.** `select name from roles order by name` returned the same four rows everywhere: `Admin, Developer, Member, Super Admin`. `bun db:push` also printed `[seed:roles] 4 seeded, 0 already present` on all five, so the `postdb:push` hook ran. ## Per host | Host | HEAD before → after | db:push | `roles` query | plugins:update | restarted | back up | | --- | --- | --- | --- | --- | --- | --- | | `alpha` | `0a8fe1c2` → `c0788d15` | ✓ | 4 rows ✓ | 12/12 in 49s | `officer` 68→69, + 12 plugin sidecars | online | | `fofos` | `0a8fe1c2` → `c0788d15` | ✓ | 4 rows ✓ | 1/1 in 7s | `officer` 22→23, + `officer-gitea` | online | | `production-pertento-bridge` | `0a8fe1c2` → `c0788d15` | ✓ | 4 rows ✓ | 1/1 in 4s | `officer` 1→2, + `officer-gitea` | online | | `deadpool-rezio-bridge` (`br`) | `0a8fe1c2` → `c0788d15` | ✓ | 4 rows ✓ | 2/2 in 7s | `officer` 7→8, + `officer-email`, `officer-offscale` | online | | `macbookpro` | `0a8fe1c2` → `c0788d15` | ✓ | 4 rows ✓ | no plugins installed | `officer` 9→10 | online | | `officer-dev` | — | — | 4 rows ✓ (pre-existing) | — | **skipped: this rollout ran on it** | — | | `edge-pertento-bridge` | — | — | — | — | **skipped: down, per `docs/servers.md`** | — | A final `pm2 jlist` sweep across the five deployed hosts found **no process in any state other than `online`** — not just `officer`, every entry. ## Notes, and what was not done - **`officer-dev` still needs its own restart.** It already holds `c0788d15` and the four rows, but nothing on it was pulled or bounced: the deploy agent runs inside `officer-claude-code` there, and restarting `officer` on it is the owner's deliberate last step. - **`fofos` carries one untracked file**, `scripts/chk.ts`. Noted, not touched — a fast-forward could never have collided with it, so it is not a reason to skip a host. - **`plugins:update` restarts more than the plan's `pm2 restart officer`.** That is the script's own behaviour and it is in the "restarted" column above rather than hidden: 12 sidecars bounced on `alpha` before `officer` itself was touched. - **`macbookpro` was awake** and needed the documented PATH append (`/opt/homebrew/bin`) for `bun`, with `pm2` run separately through `$SHELL -ic`. It has no plugins installed, so step 3 was a no-op there. - **Nothing was retried and nothing was repaired.** No step failed on any host.