diff --git a/deploy/2026.08.22.02.report.md b/deploy/2026.08.22.02.report.md new file mode 100644 index 00000000..12dfed16 --- /dev/null +++ b/deploy/2026.08.22.02.report.md @@ -0,0 +1,105 @@ +# 2026.08.22.02 — deploy report + +**6 of 6 target hosts succeeded.** `officer-dev` skipped (the commander runs there) and verified already +current. No host failed, no step was skipped for a fault, nothing came back `errored`. + +Deployed 2026-08-22 from `officer-dev`. Tag `deploy/2026.08.22.02` → `68d60e40`, matching +`package.json` `2026.08.22.02`. + +## Summary + +| Host | HEAD before | HEAD after | Steps | `officer` restart | `theme_favorites` | +| ---------------------------- | ----------- | ---------- | ---------- | ----------------- | ----------------- | +| `officer-dev` | `68d60e40` | — | skipped | not touched (192) | present | +| `alpha` | `78db9c8c` | `68d60e40` | all 4 | 65 → 66, online | present | +| `fofos` | `78db9c8c` | `68d60e40` | all 4 | 19 → 20, online | present | +| `macbookpro` | `9b459b79` | `68d60e40` | all 4 | 6 → 7, online | present | +| `edge-pertento-bridge` | `78db9c8c` | `68d60e40` | all 4 | 8 → 9, online | present | +| `production-pertento-bridge` | `78db9c8c` | `68d60e40` | all 4 | 10 → 11, online | present | +| `deadpool-rezio-bridge` | `78db9c8c` | `68d60e40` | all 4 | 4 → 5, online | present | + +Checkout paths were taken from each `officer` process's `pm_cwd`, not from a hard-coded list. + +## Per host + +### `officer-dev` — SKIPPED, and current + +The commander session runs inside `officer-claude-code` on this machine, so the whole host was skipped as +the plan and `prompts/deploy-commander.md` both require: no pull, no `db:push`, no `plugins:update`, no +restart. It was already at `68d60e40` before the rollout started and `theme_favorites` is present, so it is +running this release rather than lagging. `officer` shows 192 restarts, untouched by this deploy. + +**The owner restarts this host deliberately, once happy with the rest.** Strictly nothing is pending on it — +the tree, the schema and the running process are all already on this release. + +### `alpha` — done + +Tree clean (tracked and untracked). Pulled `78db9c8c` → `68d60e40`. `bun db:push` applied changes; +`backfill-session-models` reported 0 seeded, 32 already recorded. `bun run plugins:update` returned +**12/12 updated in 46s**, exit 0 — and it restarted all twelve plugin sidecars itself (atelier, +bitcoin-wallet, email, gitea, invoices, jellyfin, music, offscale, photos, soulseek, transmission, vault), +which is the script's normal behaviour and not something the plan asked for. `pm2 restart officer`: 65 → 66, +`online`. All 19 processes `online`. `to_regclass('theme_favorites')` returned the table. + +### `fofos` — done + +Tracked tree clean. **One untracked file, `scripts/chk.ts`** — noted, not a reason to skip, and untouched by +the fast-forward. Pulled `78db9c8c` → `68d60e40`. `db:push` applied changes (3 transcripts already recorded). +`plugins:update`: **1/1 (gitea)**, exit 0, its sidecar restarted by the script. `officer` 19 → 20, `online`; +all 8 processes `online`. `theme_favorites` present. + +Note for anyone scripting against this host: its `.env` names the connection `OFFICERDEV_POSTGRES_URL`, not +`POSTGRES_URL`, and a naive `grep POSTGRES_URL` matches a comment line first. Same on `macbookpro`, +`edge-pertento-bridge`, `production-pertento-bridge` and `deadpool-rezio-bridge`; `alpha` and `officer-dev` +use `POSTGRES_URL`. + +### `macbookpro` — done, awake + +Reachable — not asleep this time. Tree clean. **It was two releases behind**: `9b459b79`, not `78db9c8c` +like the rest. Pulled straight to `68d60e40`. + +`PATH` was appended with `/opt/homebrew/bin` for the `bun` commands and `pm2` run separately, per +`docs/servers.md`. `db:push` applied changes, exit 0. `plugins:update` exit 0 with **no plugins installed — +nothing to update**, so no plugin sidecars moved here. `officer` 6 → 7, `online`; all 6 processes `online`. + +**`psql` is not installed on this host** — the plan's direct schema check could not be run the way it is +written. Verified instead through the platform's own `postgres` client (`bun --env-file=.env` against +`OFFICERDEV_POSTGRES_URL`), which returned `theme_favorites`. Same fact, different tool. + +`$SHELL -ic` also prints `command not found: starship` from `.zshrc:123` on every invocation. Cosmetic, and +unrelated to this release, but it appears in the raw output above every command. + +### `edge-pertento-bridge` — done + +Tree clean. Pulled `78db9c8c` → `68d60e40`. `db:push` applied changes, exit 0. `plugins:update`: **2/2 +(gitea, offscale)**, exit 0, both sidecars restarted by the script. `officer` 8 → 9, `online`; all 8 +processes `online`. `theme_favorites` present. + +### `production-pertento-bridge` — done + +Tree clean. Pulled `78db9c8c` → `68d60e40`. `db:push` applied changes, exit 0. `plugins:update`: **1/1 +(gitea)**, exit 0, sidecar restarted by the script. `officer` 10 → 11, `online`; all 15 processes `online`. +`theme_favorites` present. + +### `deadpool-rezio-bridge` — done + +Logged in as **`br`**, not `pastilhas`. Tree clean. Pulled `78db9c8c` → `68d60e40`. `db:push` applied +changes, exit 0. `plugins:update`: **2/2 (email, offscale)**, exit 0, both sidecars restarted by the script. +`officer` 4 → 5, `online`; all 9 processes `online`. `theme_favorites` present. + +## What did not happen + +- **No host was skipped for a fault.** The only skip is `officer-dev`, by design. +- **`bun install` was not run anywhere.** The plan says this release changes no dependency, and the plan is + what this agent executes. +- **Nothing but `officer` was restarted deliberately.** The plugin sidecars that bounced were restarted by + `plugins:update` itself — eighteen processes across five hosts, listed per host above. Recording them + here rather than reporting only `officer` is the plan's explicit instruction. +- **The one verification that had to change shape** is `macbookpro`'s schema check, for want of `psql`. + Everything else was verified exactly as written. + +## Claim record + +`scripts/deploy-claim.sh state 2026.08.22.02` → `done`. The local record +`data/deploys/2026.08.22.02.done` was written before this report was committed, so a push failure here +cannot cause a second rollout.