Files
platform/deploy/2026.08.23.02.report.md
T
2026-08-23 02:59:30 +00:00

4.5 KiB

2026.08.23.02 — deploy report

5 of 5 target hosts succeeded. Two hosts were not targets: officer-dev (the rollout ran from it) and edge-pertento-bridge (deliberately skipped in docs/servers.md).

Every target went the same way, in the plan's order: git fetch origin --tags, git merge --ff-only deploy/2026.08.23.02, bun db:push, bun run plugins:update, pm2 restart officer. No tree was dirty in tracked files, so no host was skipped for that. Every host fast-forwarded cleanly to 0a8fe1c2 — the tag commit, and exactly that commit on all five.

The tag and package.json agree (2026.08.23.02), and the plan file was present at the tag.

Per host

Host HEAD before HEAD after db:push plugins:update officer restart_time Result
alpha e6f1388a 0a8fe1c2 applied 12/12 in 47s 67 → 68, online ok
fofos e6f1388a 0a8fe1c2 applied 1/1 in 7s 21 → 22, online ok
macbookpro b22e9d86 0a8fe1c2 applied no plugins 8 → 9, online ok
production-pertento-bridge 68d60e40 0a8fe1c2 applied 1/1 in 5s 0 → 1, online ok
deadpool-rezio-bridge e6f1388a 0a8fe1c2 applied 2/2 in 7s 6 → 7, online ok
officer-dev — — — — — SKIPPED
edge-pertento-bridge — — — — — SKIPPED

bun db:push reported Changes applied on all five. It prompted for nothing — sendoff_devices and sendoff_senders are new tables, so the diff was additive.

What restarted, beyond what the plan asked for

The plan named officer only, and officer is the only process this deploy restarted deliberately. bun run plugins:update restarts each plugin's own sidecar as it goes — that is the script's behaviour, not a fault, and it is the larger part of what moved:

  • alpha — twelve plugin sidecars bounced during the plugins step (atelier, bitcoin-wallet, email, gitea, invoices, jellyfin, music, offscale, photos, soulseek, transmission, vault).
  • fofos — one (officer-gitea).
  • production-pertento-bridge — one (officer-gitea).
  • deadpool-rezio-bridge — two (officer-email, officer-offscale).
  • macbookpro — none; no plugins are installed there.

After each restart, pm2 jlist showed officer online with restart_time incremented, and no process on any host was errored.

Hosts the plan flagged

  • production-pertento-bridge was one release behind (68d60e40, which is deploy/2026.08.22.02) and fast-forwarded past deploy/2026.08.23.01 to this tag in one step. Its known_hosts entry was absent as expected; the first connection pinned the ED25519 key it offered. Expected, per the plan.
  • edge-pertento-bridge was not contacted at all. Nothing was spent on it.
  • macbookpro was awake and needed the documented PATH append (/opt/homebrew/bin) for the bun steps, with pm2 run separately through $SHELL -ic.

Things worth knowing, none of them failures

  • fofos carries one untracked file, scripts/chk.ts. A note, not a skip — a fast-forward cannot touch it, and it was left alone.
  • production-pertento-bridge prints an nvm/.npmrc globalconfig warning before every command run through $SHELL -ic. It is noise; every command it prefixed succeeded.
  • macbookpro prints command not found: starship on stderr from .zshrc. Harmless, but it corrupts pm2 jlist output if stderr is merged into stdout — read that host's JSON with 2>/dev/null.

What was not done

  • officer-dev was not deployed. Its checkout is already at 0a8fe1c2 (the release was cut here), but nothing was pulled, no schema was pushed, no plugin was updated and no process was restarted. The rollout ran from this machine, and restarting officer here ends the agent doing it. That host needs a deliberate bun db:push, bun run plugins:update and pm2 restart officer from the owner before /sendoff will work on it — the schema change means the missing bun db:push is not cosmetic.
  • No host got bun install. The plan forbade it: bun.lock is unchanged across this release.