Posts on AI Tools.
23 posts tagged "AI Tools".
10 of 13 sentences made it. The verifier caught the rest before they reached a pillar page.
The June 30th cron produced a mortgage rate-spike draft grounded in April 2026 data. Ten of thirteen sentences passed. The three that didn't never reached a pillar page — and the next two days showed why that distinction matters at publishing scale.
Fifteen claim blocks and a zero-draft cron: the cost of grounding a content pipeline in gov.uk
Hand-curated gov.uk claim blocks stopped the ukcalculators drafter fabricating figures. Three days after the first clean pillar shipped, the cron fired on time, ranked 150 clusters, put mortgage at the top — and produced nothing. That was the gate working correctly.
Zero drafts at 07:00: build the gate, not the prompt
The 29 June cron ran every stage correctly and produced nothing. Haiku underfired on claim-extraction, the pipeline accepted the shortfall without raising an error, and the log showed a clean exit. The fix was a corrective stage that detects the count failure, reruns with constrained parameters, and marks the run failed if the second attempt also falls short. Six pillars shipped in the three days that followed.
The cron exited clean. There were no drafts.
Two zero-draft mornings out of four cron firings across 29 June to 2 July, both exits clean. The failure was Haiku's claim extraction underfiring one stage before draft: structurally invisible, no error, no warning, cron returns success.
Ten of thirteen: why verification without correction is just expensive triage
The morning cron produced a draft with 10 of 13 sentences passing the verifier. Without a corrective step, that's a triage ticket, not a publish. Four days of cron output showed the rescue pattern fires once in four — and what covers the other three.
The cron ran clean and drafted nothing: eight pillars in five days named the extraction bottleneck
Five days into a 14-day operator-publish sprint, the cron fired on-time every day and produced two useful drafts — one of which recycled yesterday's ground. Improving on the quality-gate diagnosis from the inheritance tax piece, this sprint isolated an earlier failure: claim extraction stalls before the drafter gets a turn.
What shipped on 2026-06-25 wasn't T-004: the verifier is the pipeline's real editor
T-004 was next in the topic-authority backlog — NRB and RNRB explainer, score 11. Two operator-driven publishes on 2026-06-25 shipped IHT rates and property tax reform instead. The backlog had an opinion; the verifier had authority.
Phase 9 claimed self-driving overnight. The first five slots returned twenty percent.
Phase 9 described BBBrain's auto-pipeline as self-driving overnight delivery. Five scheduled slots later, the success rate was twenty percent — four cancellations, two architectural gaps in the publisher, and one duplicate that should never have queued. The rebuild was around explicit failure modes, not the happy path.
The pipeline was wrong before the model ever ran
PR #53 was the first article the X.8 editorial pipeline shipped since H-1/H-2/H-3 lifted, unblocked by a single bug fix in ground.py. Not a prompt change. Not a model upgrade. A function called calculator_scores had a bug, and the model had been synthesising from whatever it returned.
The sibling-rehash rule: wired in the prompt, enforced in the filter
The picker generates three thesis variants per upgrade decision. Multiple upgrade taps on the same topic, same source material, different angles: the pipeline could queue two articles that were really one. Fixing that took two layers — one in the drafter prompt, one in the substitute filter — because prompts are probabilistic and filters are not.
25 PRs, a rescued BoE fetcher, and a composer taught restraint: the editorial pipeline ships
PR #53 merged on 12 June: the first article through the full X.8 grounded editorial pipeline. The morning sweep showed three gaps that had been quietly open — a stale PR that would have deleted the BoE rates fetcher, a composer inferring beyond its sources, and a design sprint that completed the day after. All three closed within 72 hours.
The S-4 cohort made two editorial pipeline decisions. I shipped them.
Two weeks of UK Calculators editorial pipeline sprints ended with two decisions that came from the cohort data, not preference: live Bank of England rate fetches and a constrained LLM composer. The pipeline silently stalled for four days after shipping.
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.
One osascript harness, two consumers — how skipping Archon kept the article pipeline stack composable
After the variant-picker shipped, the next call was architectural. Route thesis generation through Archon, or build a project-owned harness and own the primitive. The harness won. What emerged was a two-consumer pattern — thesis generation and voice rewriting off the same base — that Archon would have made awkward.
Three articles cleared every gate. None of them cleared the style guide.
Phase 9 of the article pipeline auto-pipeline shipped on 2026-06-11. Within 24 hours I was manually patching three articles that had cleared every automated check but violated the style guide's em-dash budget on all three. The scrubber had the right rule. It was checking the wrong scope.
Stop retrying the prompt: what the brief ledger taught the image harness
Four sessions into generating hero illustrations, I was still fixing the same structural mistakes on different posts. Each bad render was a lesson. The retry loop wasn't keeping them.
Both voice iterations failed the Cash ISA test. I shipped the original.
Two iterations of the uk-calculator-voice skill (analytical v2.0.0 and warmth-corrected v2.1.0) both failed the same blind A/B on Cash ISA drafts. The original v1.0.0 won both rounds. The ship was v1.1.0: a reset to the passing baseline with the recovery path formalised, not a third iteration attempt.
Archon was burning quota. The fix was a hook, not a scheduler.
Three Archon runs in flight simultaneously, two of them fired without a deliberate decision. The instinct was to build a smarter scheduler. What worked was a global PreToolUse hook that intercepts archon workflow run and forces a pause before anything spawns.
The classifier is the product: how four branches replaced an inbox
Inbox Hub is five SQLite tables, twelve route handlers, four Shadow DOM components, and a launchd cron. Strip those away and what remains is a four-branch decision tree that runs on every message. Everything else is plumbing around that core.
Ten AI-prose tells, one shell script, no more guessing
The em-dash density in my own published articles was running at four times the normal rate for edited prose. That was a measurable problem. So I made it measurable: codified ten AI-prose tells into STYLE-GUIDE.md and a pre-publish shell audit that catches them mechanically.
Two assumptions the pipeline held until it shipped
B8b's first end-to-end Telegram ship-tap exposed two bugs that had been invisible in every prior test. Neither was logic. Both were assumptions the pipeline had been making silently since the day the code was written.
Why the editorial pipeline's rewrite layer runs on a project-owned harness, not Archon
The Opus rewrite layer inside the editorial pipeline's de-AI-ish stack runs through a project-owned osascript Terminal harness, not a general orchestration framework. That choice was deliberate and narrow. Here's what it cost and what it bought.
I built this with Claude Code. The bugs weren't where I expected.
Three days into a page-by-page audit of my own site, I realised the bugs Claude Code had left behind weren't logic errors. They were hypotheses it had inferred from context, presented as facts. The reflex I needed wasn't suspicion. It was verification.





















