Writing & build logs.
Essays on software development, web builds, and AI tooling. Plus build notes from what I'm actually working on right now.
Eight chapters, two Workflows: which parts of a course parallelise
Shipping the static-next-cpanel course via two ultracode Workflows revealed a clean partition: chapter bodies fan out to parallel agents without coordination cost; prerequisite ordering and the curriculum through-line do not.
The cron fires daily. July's 14-day cadence clock ran on manual rescues.
Four composer failures manually rescued. A three-weekday gap that broke the clock and required two publishes on one morning to restart it. The July UK Calculators logs show cadence discipline isn't a property of the scheduler — it's a property of what happens when the scheduler fails.
The day-three mortgage draft cleared verification. The cluster had already shipped on day two.
On day three of a fourteen-day content run, the cron produced a mortgage rate-spike draft that cleared sentence-level verification. The same cluster had shipped the morning before. Sentence verification and cluster novelty are different problems — one belongs at the verification layer, the other doesn't.
The thirteen-session visitor who reshaped three pages
GA4 turned up essentially one Upwork-referral visitor with more than thirteen returning sessions. Seven minutes on /work/, no action taken. The sample size was one. The behaviour was deliberate enough to act on anyway. Three site changes followed in a single sprint.
Mortgage scored 20 and nothing shipped: the cron's zero-drafts firing is the verifier-corrective gate working
On Day 4 of 14, the cron ranked 150 clusters, placed mortgage first at calculator score 20, fetched the candidates, and produced zero drafts. That was correct. The verifier-corrective gate suppresses the draft when the ground is stale — silence is cheaper than shipping a duplicate pillar and retracting it.




