diff --git a/deploy/2026.08.21.02.report.md b/deploy/2026.08.21.02.report.md new file mode 100644 index 00000000..d6cf4d1e --- /dev/null +++ b/deploy/2026.08.21.02.report.md @@ -0,0 +1,76 @@ +# 2026.08.21.02 — deployed + +**6/6 hosts.** Every platform the plan reaches is on `55ecbf4f`, `officer` restarted and back `online`, +and no other process on any host was touched by the restart step. + +`officer-dev` is the seventh platform and was **skipped entirely** — it is the host this commander runs +on. See below. + +Rolled out one host at a time from `officer-dev`, by the procedure in `prompts/deploy-commander.md`. + +## The release + +Tag `deploy/2026.08.21.02` → `55ecbf4f`; `package.json` says `2026.08.21.02`. They agree. +Plan: `deploy/2026.08.21.02.md` — pull, `plugins:update`, restart `officer` only. No `bun install`, +no `db:push`, and neither was run anywhere. + +| Host | Before | After | plugins | restarted | restart_time | back | +| ---------------------------- | ---------- | ---------- | -------------- | --------- | ------------ | ------- | +| `alpha` | `eee73e77` | `55ecbf4f` | 12/12 | officer | 60 → 61 | online | +| `fofos` | `eee73e77` | `55ecbf4f` | 1/1 | officer | 15 → 16 | online | +| `macbookpro` | `eee73e77` | `55ecbf4f` | none installed | officer | 2 → 3 | online | +| `edge-pertento-bridge` | `eee73e77` | `55ecbf4f` | 2/2 | officer | 4 → 5 | online | +| `production-pertento-bridge` | `eee73e77` | `55ecbf4f` | 1/1 | officer | 6 → 7 | online | +| `deadpool-rezio-bridge` | `bd41dff5` | `55ecbf4f` | none installed | officer | 0 → 1 | online | +| `officer-dev` | `55ecbf4f` | `55ecbf4f` | not run | **none** | 155 | skipped | + +Every host was clean of TRACKED changes and every pull was a real fast-forward. `pm2 jlist` after each +restart showed zero processes in any state other than `online`, so nothing was collaterally bounced. + +Checkout paths were taken from each `officer` process's `pm_cwd`, not assumed — so `alpha`'s stale +second checkout at `~/dockers/officer.dev/platform` was never touched. + +## What was NOT done, and why + +- **`officer-dev` was skipped completely** — no pull, no `plugins:update`, no restart. This session runs + inside `officer-claude-code` on it, and its `officer` process would have been restarted out from under + the rollout. Its checkout is already at `55ecbf4f` (the tag was cut here), so **the code is present and + the running process is a build behind**. `pm2 restart officer` on `officer-dev`, when the owner is happy + with the rest, finishes this release. **Outstanding.** + +- **`deadpool-rezio-bridge` was two releases behind, not one.** It came in at `bd41dff5` — the + `deploy/2026.08.21.01` commit — while every other host was at `eee73e77`. The fast-forward carried both, + 14 files, and it is now level. Nothing was wrong with it; it simply had not had the interim commits. + +- **`fofos` still cannot sync its capabilities.** Same `dubious ownership` refusal as `2026.08.21.01`, + same unexplained cause, still not papered over with a `safe.directory` entry. New this time and probably + the same root: its gitea plugin could not publish affordances — + `EACCES: permission denied, mkdir '/home/pastilhas/officerdev/capabilities/affordances/officerdev'`. + Both point at that capabilities checkout being owned by somebody other than `pastilhas`, which is worth + one `stat` before the next deploy. `plugins:update` exited 0 and the plugin itself updated. **Unexplained, + and now costing two things instead of one.** + +- **`fofos` carries one untracked file**, `scripts/chk.ts`. A note, not a skip — that is the rule the last + report asked for and it worked. + +- **No `bun install` and no `db:push` ran anywhere.** The plan says this release needs neither. + +## Notes for the next one + +- **`macbookpro` needs the PATH helped after all — carefully.** The last report said "`$SHELL -ic` and + nothing else"; that is right for `pm2` and wrong for `bun`. `bun` is at `/opt/homebrew/bin/bun`, and + `.zshrc` does not put `/opt/homebrew/bin` on the interactive PATH, so `bun run plugins:update` failed + `command not found` before it ran a line. What works is **appending** that one directory for that one + command (`export PATH=$PATH:/opt/homebrew/bin`) and running `pm2` as a separate command. Appending + shadows nothing — `pm2` stays at `~/.local/bin/pm2` and `node` at `node@22`. **Replacing** the PATH is + what broke `pm2` last time. `docs/servers.md` says "do not help the PATH" and should say "append, never + replace, and only for `bun`". + +- **`$SHELL -ic` on `macbookpro` also aliases `ls` to `eza`**, which is not installed, so a probe using + `ls` reports a missing file that is plainly there. Use `command ls` or a plain non-interactive shell for + file tests. + +- **`plugins:update` restarts sidecars itself.** It prints `sidecar: started` per plugin, so on `alpha` + twelve sidecars bounced during step 3 — before the plan's restart step, and not something the plan asked + for. That is the script's own behaviour and it is not new, but a report that only lists `officer` under + "restarted" is understating it. Worth a line in the plan format.