Files
platform/deploy/2026.08.21.01.report.md
T
pastilhasandClaude Opus 5 bd41dff59f 2026.08.21.01 deployed — 6/6 hosts
Every platform on eee73e77, schema pushed, processes online, domains answering. Rolled out by hand
one host at a time, since nothing wakes the commander yet.

Three things the report records rather than glosses. officer-claude-code was NOT restarted on
officer-dev — that sidecar holds the session running the deploy, so restarting it would have ended the
rollout mid-flight; every other host got it and it is outstanding here. fofos failed to sync
capabilities with a "dubious ownership" refusal whose stated cause is wrong (ownership is correct), so
it is left unexplained rather than silenced with a safe.directory entry. And macbookpro has no plugins
installed at all, which is worth knowing before somebody expects one there.

Two lessons for the prompt. The dirty-tree check counted untracked files and skipped fofos over one
stray script a fast-forward could never touch — it wants --untracked-files=no. And macbookpro needs
$SHELL -ic and no help: exporting a PATH to reach bun broke pm2, which lives only on the interactive
shell's path.

The pre-flight earned its place: username became NOT NULL with a case-insensitive unique index, and
checking all six first — 12 users, zero nulls, zero collisions — is why db:push applied everywhere
instead of failing on the third host.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 17:37:54 +00:00

43 lines
3.0 KiB
Markdown

# 2026.08.21.01 — deployed
**6/6 hosts.** Every platform is on `eee73e77`, schema pushed, processes online and every domain
answering 200.
Rolled out by hand from `officer-dev`, one host at a time, because nothing wakes the commander yet.
| Host | Before | After | install | db:push | plugins | restarted | domain |
| ---------------------------- | ---------- | ---------- | ------- | ------- | -------------- | ------------------------- | ------ |
| `alpha` | `44f6c6d6` | `eee73e77` | ok | applied | 12/12 | officer, claude-code, pty | 200 |
| `fofos` | `6db26ae4` | `eee73e77` | ok | applied | 1/1 | officer, claude-code, pty | 200 |
| `edge-pertento-bridge` | — | `eee73e77` | ok | applied | 2/2 | officer, claude-code, pty | — |
| `production-pertento-bridge` | — | `eee73e77` | ok | applied | 1/1 | officer, claude-code, pty | — |
| `macbookpro` | `2e76cabf` | `eee73e77` | ok | applied | none installed | officer, claude-code, pty | — |
| `officer-dev` | `eee73e77` | `eee73e77` | ok | applied | 3/3 | officer, pty | 200 |
`bun install` reported no changes everywhere — the lockfile diff was `sharp` leaving, and nothing had
it as a transitive need.
## What was NOT done, and why
- **`officer-claude-code` was not restarted on `officer-dev`.** That sidecar holds the session doing
the deploy; restarting it would have ended the conversation mid-rollout. Every other host got it.
**Outstanding — run it when convenient.**
- **`fofos` did not sync its capabilities.** `git` refused the checkout as "dubious ownership" and
printed the usual `safe.directory` remedy. Ownership is actually correct (`pastilhas:pastilhas`,
running as `pastilhas`), so the cause is not what the message suggests and papering over it with a
config entry would hide a real question. Its one plugin updated fine. **Unexplained.**
- **`macbookpro` has no plugins installed**, so `plugins:update` was a no-op there. Not a failure —
worth knowing before someone expects the browser relay on it.
## Notes for the next one
- **The dirty-tree check was too strict.** `git status --porcelain` counts UNTRACKED files, and
`fofos` was skipped on the first pass for one stray `scripts/chk.ts` that a fast-forward could never
touch. The rule is `--untracked-files=no`; untracked files get a note, not a skip.
`prompts/deploy-commander.md` says "refuse a dirty tree" and should say which kind.
- **`macbookpro` needs `$SHELL -ic` and nothing else.** Exporting a PATH to reach `bun` broke `pm2`,
which is only on the interactive shell's path. Do not help it.
- **The pre-flight was worth it.** `users.username` became `NOT NULL` with a case-insensitive unique
index; checked across all six first — 12 users, zero nulls, zero collisions — so `db:push` applied
everywhere without a data fix.