Writing & build logs.
Essays on software development, web builds, and AI tooling. Plus build notes from what I'm actually working on right now.
The portal blooms once at halfway. After that, the bass punches holes in winter.
A bass-masked radial portal already puts winter behind spring — quiet sections show spring, bass hits show winter through the hole. This sprint added the structural move that was missing: at exactly the midpoint of the track, the two 3904×1088 panoramas trade places. The second half runs the same geometry with the seasons inverted.
The ultracode review confirmed no technical blockers. The fix was six paragraphs of body prose.
PR #153's ultracode review of five legal pages and /stamp-duty-calculator returned HTTP 200, index/follow, and canonical self on every one. The GSC telemetry digest still listed all six as URL unknown to Google. The problem was not technical. Footer links do not transfer crawl weight the way body prose does.
Fourteen consecutive publishing days: the corrective verifier beat every prompt constraint I tried
Day 2 produced a mortgage draft with ten of thirteen sentences grounded. Three failed. The natural reflex is to tighten the prompt. Fourteen days of daily publishing demonstrated why that reflex is wrong.
Three days, zero publishes, one fix: screen before you draft
The 7-9 July publish gap traced back to a sequencing error: duplication checks running after draft resources had been spent, not before. Moving the coverage screen upstream stopped the backlog compounding. Five articles in the thirteen days since.
Day 4 fired clean triage and shipped nothing: 150 clusters ranked, zero drafts produced
The cron completed triage on 150 clusters at 08:22 on Day 4, surfaced mortgage at a calculator score of 20, and produced nothing. When the triage succeeds and the output is zero, the triage is excluded as a cause. That's the diagnostic the pipeline needed.




