Build, publish, observe, and restore a small service without losing the last known-good state.
Use this path when the question is not only “does it work?” but also “what evidence lets us replace it or recover it?” The notes keep artifact boundaries, rollback windows, and routine maintenance visible.
A maintenance timer should leave its last result visible
Scheduling is only half the job; operators also need to see when the task last ran and how it ended.
A release manifest should name every published byte
One aggregate digest is useful, but a sorted per-file manifest tells you exactly what changed or went missing.
Publish a static site by switching complete directories
Visitors should see the old release or the new release, not a file-by-file mixture of both.
A release checklist for a static site
Verify the artifact before replacing the live directory, and keep the checks close to the release command.
A release is not complete until the public edge agrees
Build once, inspect the output, then exercise representative public routes before replacing the live directory.
A static server should have one obvious root
One root, one file_server, and a small header policy make a static deployment easy to inspect.
Backups are only useful after a restore rehearsal
Choose a small recovery unit, verify it, and practice restoring it somewhere disposable.
DNS changes need a cache-aware rollback window
Prepare the TTL ahead of time, observe authoritative and recursive answers, and keep both endpoints valid through the cache window.