iOSSwift
#181
2026-06-254 min read

Five animations, five accessibility gates: what Cursed Energy Phase D cost to ship correctly

Phase D of the Cursed Energy design system added five animated effects to bb finance: sigil rotation, energy pulse, claim spark, level-up celebration, and streak milestone overlays. Every one is gated by the SwiftUI Reduce Motion environment key. Gating from the start rather than retrofitting later cost extra environment reads on every animated view. What it bought was a WCAG 2.1 AA clean bill before any user encountered the animations.

Read post
Build LogAutomation
#182
2026-06-255 min read

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.

Read post
Build LogDVLAW
#183
2026-06-255 min read

The publisher cancelled the 12:00 slot. My recovery logic called the publisher again.

Queue id=37 was scheduled for 12:00 BST on 13 June. schedule_sweep fired publisher at 11:00:08Z, publisher cancelled the row, and Fix B (the SLA recovery layer) called publisher again. Recovery logic without a model of who holds the lock cannot distinguish a concluded failure from a recoverable one.

Read post
Build LogAudio
#184
2026-06-255 min read

Three effects, one envelope: how the bass signal became the nervous system of this visualiser

The neon bloom formula was written for one layer. Two days later, the same bass envelope was driving particle wobble and a radial time-portal. That convergence wasn't designed — it was pulled out by the kick pattern of a specific track.

Read post
Build LogDevOps
#185
2026-06-245 min read

Auto-mode opened the PR. It didn't merge it. That was gap one.

Phase 9's 'self-driving overnight' was overstated by two wiring gaps. A 09:00 BST live run on 11 June found both. The afternoon of fixes taught more about auto-mode's real edges than any pre-flight design session.

Read post