Field note · July 11, 2026

How scheduled posts work here

Posts carry a date in their front matter. Anything dated after the build date is written but not published: no page, no sitemap entry, no RSS item, no

1 min read ·Data platform ·engineering production

Posts carry a date in their front matter. Anything dated after the build date is written but not published: no page, no sitemap entry, no RSS item, nothing in the search index. There is nothing to find.

A GitHub Actions cron rebuilds every morning, so a post dated three months out appears on its own three months from now with nobody touching anything.

bash
npm run build:drafts   # renders the withheld ones locally

The nice property is that it fails closed. A bug in the date comparison withholds a post that should have gone out — annoying, visible, fixable. The opposite failure would publish something early, and you cannot unpublish from an RSS reader.

Withholding has to be total to mean anything. A post that is absent from the index but reachable at its URL is published; a post in the sitemap but not the index is published, to a search engine. So the gate sits at the point where documents are loaded, before anything that could leak one: no page, no sitemap entry, no feed item, no search-index row.

The other thing this buys is honesty about dates. A post dated in the past was written then, or the date is a lie — and since the archive is generated as a whole, the dates are the schedule rather than a claim about when someone sat down to type.