Build LogDevOps
#216
2026-06-145 min read

Two correct cancellations, two SLA breaches, four manual ships

On 13 June, the 09:00 and 12:00 BST editorial slots both failed in the same day. G-L3 cancelled the queued articles correctly each time. Manual recovery covered every slot. The experience made the gap between row-level correctness and slot-level reliability impossible to ignore.

Read post
Build LogDevOps
#217
2026-06-135 min read

Four sprints shipped before the installer resolved to the right directory

The idea park soak cron installer used a directory convention copied from the article pipeline, correct in the article pipeline's layout and wrong in the idea park-soak's co-located layout. Two more post-merge fixes followed the same shape: a sanitiser wired into one code path but not the other, and a caller convention documented but never enforced.

Read post
Build LogLLM Engineering
#218
2026-06-135 min read

Retries must be stateless, or the loop learns to cheat

The first live probe of the calibration gate against the BoE MMC article produced a 9,340-character draft that blocked correctly. Getting to a pass from there without teaching the loop to game its own gate took two days of doctrine.

Read post
Build LogEditorial Pipeline
#219
2026-06-136 min read

The prompt that made Haiku hallucinate, every single time

Every iteration of the UK Calculators redraft loop produced the same failure: Haiku returning plausible-sounding figures with no real source. The fix wasn't better prompting. It was removing the question entirely.

Read post
Build LogNewsletter
#220
2026-06-135 min read

Three newsletter hotfixes. The events table found all of them.

The newsletter form went live on 9 June. I subscribed from my own address and got nothing. No row, no email, no error. Three consecutive bugs followed, all found the same way: reading the events log, not the code.

Read post