Writing & build logs.
Essays on software development, web builds, and AI tooling. Plus build notes from what I'm actually working on right now.
Three days, zero publishes, one fix: screen before you draft
The 7-9 July publish gap traced back to a sequencing error: duplication checks running after draft resources had been spent, not before. Moving the coverage screen upstream stopped the backlog compounding. Five articles in the thirteen days since.
Day 4 fired clean triage and shipped nothing: 150 clusters ranked, zero drafts produced
The cron completed triage on 150 clusters at 08:22 on Day 4, surfaced mortgage at a calculator score of 20, and produced nothing. When the triage succeeds and the output is zero, the triage is excluded as a cause. That's the diagnostic the pipeline needed.
Ultracode found nothing wrong with six stuck pages. The blocker was the footer.
PR #153 ran an ultracode review on five legal pages and /stamp-duty-calculator, all flagged as unknown to Google for consecutive weeks. Every technical check returned clean: HTTP 200, index follow, canonical self-referencing. The blocker was not in the code.
Brand name or general name: the catalogue has no third option
Two card corrections arrived from the phone within the hour. The Uigen card was carrying a name the repo README hadn’t updated since January. The supermarket card was describing the wrong project entirely. Both sat in the same middle-ground: specific enough to be wrong, not sourced carefully enough to catch the change.
The hire strip closed the floor
GA4 showed one desktop visitor — thirteen return sessions, seven minutes on /work/, nowhere to act. The hire strip shipped on July 25th and closes the page. This is what was built and why.




