Build LogiOS
#216
2026-06-175 min read

An iOS budget app: five rounds of device QA found the same defect every time

Three of the Home screen's gamification blocks were non-interactive labels. The Streak block's Check In button opened the transaction form. Five device-QA sweeps — Phases L through Q — kept finding the same thing: the interface was describing things users expected to control.

Read post→
iOSSwift
#217
2026-06-156 min read

Five features, one PR: the two shared-state promotions that had to come first

PR #10 for an iOS budget app bundled a palette picker, a motion layer, a streak milestone overlay, a category-budget quest, and a save-target preference into a single side branch. Getting them to co-exist required promoting BBPalette.current and UserProfileStore before the features could be wired.

Read post→
Build LogDevOps
#218
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
#219
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
#220
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→