July 23rd. The ONS publishes May HPI: 2.7% annual UK house price growth, the first clean annual comparison since the SDLT changes. This is exactly the kind of time-sensitive government data release the ukcalculators cron pipeline exists to catch. The cron ran. It had checklist casualties. I checked the coverage list manually and confirmed May was genuinely new. We already held April (gov.uk) and June (Lloyds). I published uk-house-prices-may-2026-hpi by hand.
Three days earlier: the same pattern. HMRC, via MoneyWeek and FT, projected 7.7 million higher-rate taxpayers by 2026–27, up 34%, with record numbers crossing the 40% and 45% thresholds. Fiscal drag at its most legible. The cron had run. drafted=0. Two checklist failures, one CLI error, two day-capped clusters. I rescued uk-higher-additional-rate-taxpayers-2026-27 from the morning’s wreckage.
Four days before that: santander-8-percent-regular-saver-2026 rescued from a composer-failed cluster. Santander’s 8% AER launch was market-leading, with mechanics worth documenting: the 5% 12-month bonus that drops to 3%. It would have sat undrafted without the manual step.
Three of July’s headline publishes. All rescues. All from cron cycles that ran on schedule and produced nothing the approval gate could process.
The month in full
Five cycles between 10 and 23 July:
- 10 Jul. Stamp-duty cron draft and Lifetime ISA pillar rescued; three-weekday gap (7–9 Jul) analysed.
- 15 Jul. Santander 8% piece rescued from a composer-failed cluster.
- 16–17 Jul. Two consecutive autonomous crons, four gate-passing drafts, zero manual intervention.
- 20 Jul. Fiscal-drag piece rescued; cron produced
drafted=0: 2 checklist, 1 CLI, 2 day-capped. - 23 Jul. May HPI rescued from checklist casualties.
Four rescue cycles. One autonomous streak. The 16–17 Jul run lasted two days. The verifier and dedupe fixes held, four drafts cleared the approval gate without intervention, and on 17 Jul the gate operated exactly as designed. Then July 20 reverted to drafted=0.
The pipeline is not broken. The composer is unreliable.
What the failure modes say
The July 20 anatomy is the most legible. drafted=0: 2 checklist, 1 CLI, 2 day-capped. Five clusters in one cycle, five failure modes, zero ready drafts. The schedule kept its end. The composer failed at every cluster.
The three failure modes are distinct:
Checklist failures. A draft ran to completion but failed the pre-publication quality check. Four across July 20 and 23 combined.
CLI failure. A tool call inside the composition step errored. No draft produced. The cycle aborted before completion.
Day-capped. The composition cycle exhausted its budget mid-cluster. Two on July 20 alone.
None of these is a scheduling problem. The cron ran correctly in every case. None is the infrastructure problem the 7–9 Jul gap analysis diagnosed either. Those were verifier mismatches and dead-zone effects between the composer and the gate, and those are fixed. These failures sit at the composition step itself.
The diagnosis shift
The earlier coverage of the 7–9 Jul gap identified the pipeline consuming its own failures: success-no-publish cycles, verifier mismatches, dead-zone effects. The July 10–23 pattern points to a different layer.
Those were infrastructure failures. The machinery between the composer and the publish gate was eating drafts before they reached me. The verifier fix, the dedupe fix, and the dead-zone patches addressed them. The July 16–17 streak confirmed they were fixed.
The remaining failure is the composer itself. It either does not produce a draft (CLI failure, day-cap) or produces one that fails the checklist. The gate is not the problem. The approval flow is not the problem. The component that generates the content is the problem.
Selection bias
There is a gap in this data worth naming. The articles that shipped are the ones I judged worth rescuing. May HPI, fiscal-drag projections, Santander’s 8% launch: all time-sensitive enough to pull me into the composer role. The clusters with checklist failures on July 20 and 23 that I did not rescue are unknown to me. I don’t know what topics they were or whether they merited coverage.
Every manual rescue introduces this bias. The cadence pipeline was supposed to remove it: systematic coverage, no blind spots from time pressure or editorial attention. The rescue mechanic reintroduces it. I rescue what I notice and judge important. Whatever the composer drops that I don’t pick up does not ship.
The coverage gap is real and unquantified.
The complexity hypothesis
The July 16–17 autonomous articles included the BoE hold mortgage piece and an additional-income guide. The rescued articles sit in a different bucket: May HPI (ONS release), fiscal drag (HMRC via MoneyWeek and FT, multi-source), Santander rate mechanics (product launch with variable-rate rules). All have either multiple sources, a time-sensitive release angle, or both.
Hypothesis: the composer’s failure rate correlates with cluster complexity. Multi-source clusters with a time-sensitive release angle exhaust the day cap or produce checklist-failing drafts. Simpler clusters complete cleanly.
This needs the failure log to confirm. The devlog has dates and failure codes; the cron logs have cluster content. Correlating them is the next analytical step. It is not this article.
Out of scope
What the checklist is catching in the failing drafts. That requires reading the drafts.
What the CLI failure on July 20 was. That is in the error log.
A fix for the composer. The pattern is clear enough to name; the fix requires the failure-log analysis first.
Where this leaves cadence
The 14-day cadence clock restarted on July 10 after the three-weekday gap. Since then, cadence has held. No multi-day gaps. But “cadence has held” currently means “a human intervened every time the composer failed.” That is not the pipeline maintaining cadence. That is me maintaining cadence by manually composing the articles the pipeline should have produced.
The July 16–17 streak showed what the pipeline looks like when it works: four articles across two days, no manual step. That is the target state. The current state is one two-day streak and four rescues in a fortnight.
The composer is the gap between the two.



