Files
platform/deploy
pastilhasandClaude Opus 5 3b0083aec2 deploy report for 2026.08.29.01 — 7 of 7, sharp loads everywhere
Every target host ended at the tag with libvips 8.18.6 and ffmpeg present;
macbruno gained ffmpeg via the plan's per-host brew step. Schema unchanged and
verified as such, so no db:push ran anywhere.

One deviation: plugins:update runs before bun install in the standard steps, and
it imports the server graph, which now reaches thumbnails.ts -> sharp. That fails
on any host where sharp is genuinely new. Ran install first instead — same steps,
other order — and recorded it as a finding for the next plan rather than editing
the prompt mid-rollout.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-29 01:48:43 +01:00
..
2026-08-23 01:56:03 +00:00
2026-08-23 02:52:30 +00:00
2026-08-23 03:56:07 +00:00
2026-08-23 13:51:50 +00:00
2026-08-23 18:38:26 +00:00
2026-08-24 02:15:40 +00:00
2026-08-24 02:58:36 +00:00
2026-08-24 03:41:15 +00:00
2026-08-25 16:13:24 +00:00
2026-08-26 03:37:40 +00:00
2026-08-26 04:31:51 +00:00

deploy/

One file per release, and one report per release.

deploy/
├── 2026.08.21.01.md         the plan — what to run, in order, on which hosts
└── 2026.08.21.01.report.md  what actually happened, written by the commander

The plan is written by hand before the release commit. The report is written by the deploy commander afterwards and pushed back here.

A release is a tag, deploy/<version>, and nothing else triggers a deploy — not a commit message, not a branch. A tag cannot be written into prose by accident, which a code word can and which every document about deploying does.

What marks a release deployed is LOCAL: $OFFICER_ROOT/data/deploys/<version>.done. Not the report. If the lock were the pushed report, a failed push would mean the release looked undeployed and the next tick would roll it out again — and pushes here fail for unrelated reasons. So the report is an artefact, valuable and not load-bearing.

See prompts/deploy-commander.md.