Five numbered starts lie within a 60-second bracket. The next attempt is blocked. The configured limit is a rate cap, not a lifetime retry budget.

Restart policies need a rate limit

Use an explicit service type, bounded restart behavior, and start-rate limits that leave evidence in the journal.

August 3, 2026 · 3 min · XB Field Notes
A trusted owner or console reference and an observed server host fingerprint feed a comparison before key installation. Under strict checking, a known matching key passes the host-key check, while new or changed keys stop.

SSH host keys are part of the deployment record

Record the expected fingerprint, use a deliberate StrictHostKeyChecking policy, and treat changes as an incident until explained.

July 28, 2026 · 3 min · XB Field Notes
A DNS lookup branch attaches only to the client. A separate HTTPS request travels from the client to the TLS edge and a known output directory, making the serving boundaries visible.

The advantage of small systems

Small does not mean unfinished; it means each boundary has a clear job and a visible owner.

July 27, 2026 · 3 min · XB Field Notes
Three separate roles: robots.txt gives cooperating crawler preferences, sitemap gives a URL inventory, and the server provides access authorization. Neither file controls access.

robots.txt and sitemaps answer different questions

robots.txt is a crawler-facing preference; a sitemap is a URL inventory; neither is an authorization layer.

July 21, 2026 · 3 min · XB Field Notes
One main build, check and publish path has a bounded retry side branch and a separate return to a retained known-good release.

Reliable defaults beat clever recovery

Keep the common path explicit, observable, and safe to repeat before adding recovery branches.

July 20, 2026 · 3 min · XB Field Notes
A permanent 308 relocation links an old URI to a new URI while retaining POST on both sides.

Redirects and error codes should preserve the story

Check the method, Location header, and cache behavior before choosing a redirect or an error status.

July 14, 2026 · 3 min · XB Field Notes
An illustrative two-column ledger separates HTTP headers, final URL and status from TLS dates and expiry. Body equality requires another check.

Read the public edge in two commands

Two small read-only helpers turn the public endpoint into evidence you can inspect before and after a release.

July 13, 2026 · 4 min · XB Field Notes
After a log pathname is renamed, the existing writer still points to the old archive inode; the replacement active file remains empty. Closing and reopening the active path is the required handoff.

Log rotation needs writer handoff and a retention budget

Log rotation divides a continuing stream into files that can be retained, searched, compressed, and eventually removed. A useful policy defines both when to rotate and which history to keep. It must also account for how the application holds its output file open. Renaming a pathname and successfully redirecting future log records are separate steps in that operational contract. ...

July 10, 2026 · 5 min · XB Field Notes