Build LogAI Tools
#226
2026-06-126 min read

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.

Read post→
Build LogBBBrain
#227
2026-06-115 min read

Every post-merge the idea park fix was the same fix

Provenance sanitisation, SCRIPT_DIR co-location, BB_CALLER lint — three fixes shipped after the idea park merged. They look like different problems. They’re not. All three are the audit trail recording what it could infer rather than what actually happened.

Read post→
Build LogAI Tools
#228
2026-06-115 min read

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.

Read post→
Build LogVoice Design
#229
2026-06-105 min read

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.

Read post→
Build LogBBBrain
#230
2026-06-105 min read

The inbox filter model drops strangers silently. I built a queue instead.

Inbox filters drop what they don't recognise. I wanted a record instead: every unknown sender parked, every blocked arrival logged, nothing silently gone. Five tables, four sync branches, and a historyId cursor later, the editorial pipeline's Inbox Hub does exactly that.

Read post→