Article body
Blog essay: chips and byline, a lead, a pull quote, and a code sample in the same measure as the prose.
Why the board should look like the deploy
If a card says done and production still runs last Tuesday’s build, the two systems do not share a clock.
If the board cannot point at the build, it is a mood board.
if (card.status === "done" && deploy.sha !== card.sha) {
throw new Error("board is ahead of production");
}
<article class="af-stack af-gap-xl">
<header class="af-stack af-gap-md">
<div class="af-inline af-gap-sm">
<span class="af-chip">Engineering</span>
<span class="af-text-sm af-text-muted">6 min read</span>
</div>
<h1 class="af-text-fluid-h2">Why the board should look like the deploy</h1>
<div class="af-inline af-gap-sm af-items-center">
<span class="af-avatar" aria-hidden="true">AR</span>
<span class="af-stack af-gap-0">
<span class="af-text-strong">A. Rivera</span>
<span class="af-text-sm af-text-muted">12 March 2026</span>
</span>
</div>
</header>
<div class="af-prose af-stack af-gap-md">
<p class="af-lead">If a card says done and production still runs last Tuesday’s build, the two systems do not share a clock.</p>
<blockquote class="af-blockquote">
<p>If the board cannot point at the build, it is a mood board.</p>
</blockquote>
</div>
<pre class="af-code-block">
<code>if (card.status === "done" && deploy.sha !== card.sha) { throw new Error("board is ahead of production"); }</code>
</pre>
</article>