Writing & build logs.
Essays on software development, web builds, and AI tooling. Plus build notes from what I'm actually working on right now.
Spring became winter on the bass hit. That was the effect that mattered.
Three reactive effects were already live — bloom, particles, waveform — and the visualiser still read as a showcase. The portal changed that: a bass-driven radial mask cuts from spring into winter, and reactive opacity does something reactive motion cannot.
Six pages Google couldn't find: telemetry ruled out the technical before we touched any code
The GSC digest showed six pages stuck at “URL is unknown to Google.” That specific status — not crawled and filtered, just never discovered — changed what we looked for first. Two stdlib-only telemetry skills made that diagnostic distinction available before we opened a single file.
The accessibility gate that made stacking five motion effects into one PR survivable
Phase D of the Cursed Energy DNA landed sigil rotation, energy pulse, claim spark, level-up celebration, and streak milestones in a single PR alongside three other features. Accessibility review was a non-event — not because the PR was small, but because every motion effect owned its own gate.
The centre of the portal was flat. Removing the glow layer fixed it.
A spring-to-winter temporal portal with a halfway scene swap had one visual problem: the centre read as dull against everything around it. The instinct was to add a brighter overlay. The fix was removing the one already there.
The sabotage tests passed. The live cycle still found the bug.
Phase X.8 shipped with two hermetic sabotage cycles green. The first live run produced no article — not because the pipeline crashed, but because calculator_scores in ground.py was wrong in a way the fixtures had never exercised. Hermetic tests prove the logic path. Live harnesses prove the integration.




