diff --git a/deploy/2026.08.23.03.report.md b/deploy/2026.08.23.03.report.md new file mode 100644 index 00000000..5e238983 --- /dev/null +++ b/deploy/2026.08.23.03.report.md @@ -0,0 +1,42 @@ +# 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.