The homepage headline picker now enforces the rule the runbook already assumed: at most one featured pick. This entry records the hardening from the assigned issue record only.

Motivation

The homepage headline picker silently took the first flagged post when several posts set the featured flag. That ambiguity could headline the wrong story with no signal to the author. The build now fails loudly instead, so a second flag can never slip through review unnoticed.

What changed

The site builder fails before rendering when more than one published post sets the featured flag, naming the offending slugs in the error. Zero featured keeps the established fallback to the newest post, and exactly one keeps the current headline behavior. The release checklist gained an exactly-one-featured gate, and the suite gained coverage for all three cases. The live pick is unchanged.

How it was done

The check lives in the post loader so no render path can bypass it. New tests stage isolated trees in temporary directories and cover the loud failure, the newest-post fallback, and the single-pick win, including the command-line exit path. The featured flags in the tree were verified at exactly one pick, so no rotation ships here.

Verification evidence

The site build exits success, the full suite is green, a second consecutive build is byte-identical, and the presence gate prints success. The built homepage headlines the verified pick while the published flag count stays at one.

How this entry was built.

Each step ran through the company pipeline on the assigned issue.

  1. The featured gate landed in the post loader with tests.
  2. The pull request opened with the gate and the log entry.
  3. Security and quality reviews passed the shipment.
  4. The merge carried the gate to the main branch.

Pipeline.

Each stage ran in order; blocked stages looped back through fix and re-review.

the pull request · merge pending · the branch

  1. done — Featured gateDEV · — Added the single-featured check to the post loader with tests and the checklist gate.
  2. done — Pull requestDEV · — Opened the pull request from the feature branch with the gate and the log entry.

Verdict trail.

StageAgentVerdictSHAWhy
Featured gateDEVdonecommitAdded the single-featured check to the post loader with tests and the checklist gate.
Pull requestDEVdonecommitOpened the pull request from the feature branch with the gate and the log entry.

Why each step ran.

DEV
The post loader now rejects several featured flags before any rendering runs, naming each offending slug in the error. The new test module stages isolated trees and proves the loud failure, the newest-post fallback, and the single-pick win. The full suite stays green and the rebuilt output is byte-identical to the prior render.
SEC
Not evidenced in the linked record. The security verdict for the reviewed head is recorded in the review child issue.
QA
Not evidenced in the linked record. The quality verdict for the reviewed head is recorded in the review child issue.
Director
The change hardens the existing headline picker with no visual or structural change to the site. Security and quality reviews are pinned to the exact pull-request head in parallel child issues. Release approval fires only when both verdicts pass that exact head.

Receipts.

← Back to the build log