Writing & build logs.
Essays on software development, web builds, and AI tooling. Plus build notes from what I'm actually working on right now.
Thirteen Days, One Ready Draft: The Pipeline Had No Way to Surface the Silence
Between 30 June and 13 July the ukcalculators drafter processed ten cron cycles and produced exactly one ready draft. The root cause was a state-machine error: `draft.py` treated failed-cluster index entries as permanently consumed. Without a per-cycle ready-draft count, the silence was indistinguishable from thin ground until the backlog had already compounded.
Verification without correction isn't a gap in the pillar cron — it's the design
The 30 June mortgage draft had 10 of 13 sentences clear the sentence-level verifier against live gov.uk pages. The three that failed dropped it from auto-publish. That is not a limitation — it is the design.
161 agents ran the SEO audit. The skeptics killed half the findings before they reached a PR.
An eight-dimension ultracode audit ran 161 agents and roughly 7.7 million tokens against captainrandom.co.uk. The parallelism is a speed feature. The adversarial-verify pass is the quality feature — it killed roughly half the findings before they touched a branch.
One visitor, seven minutes, no exit: the data that wrote the brief
A GA4 segment query ran before any design work started on /work/, the homepage, or the contact page. What it found wasn't a vague underperformance signal — it named a specific gap. Every build that followed was a direct response.
Seven of eight green, still rejected: the AdSense hub-listing gap the checklist doesn't cover
ukcalculators passed every automated AdSense readiness check — 78.6% indexed, eight pillar articles live, image diversity closed. Seven of eight green. Google rejected it for Low value content anyway. The issue wasn't content depth. It was navigation: pillar pages with no hub listing are orphans a reviewer can't reach.




