Writing & build logs.
Essays on software development, web builds, and AI tooling. Plus build notes from what I'm actually working on right now.
Behaviour events in the nightly digest: the existing GA4 read-only token already covered them
Adding user-behaviour events to the nightly digest on 25 July required no new authorisation scopes and no site changes. The GA4 read-only token already covers eventName and eventCount under analytics.readonly. The cheapest behaviour telemetry wedge: Layer 1 default events, surfaced by extending an existing query.
Fourteen days since last publish: a lagging metric that resets on rescue
The cadence clock reset on 10 July when I published two articles manually. The three weekdays before that had produced zero autonomous publishes. The clock recorded neither the gap nor the rescue — it just restarted.
"Suno for the production and vocals" handed away the authorship of the record
The NAPA SEASON album page had a credit line that read "Suno for the production and vocals." Written as a transparency disclosure, it transferred authorship of the record to the tool. Disclosure and attribution are different outputs from the same sentence — and catching that difference now requires treating every tool-credit line as a legal-grade edit.
The Disclaimer Page Was Schema-Correct and Footer-Linked. Google Had Never Seen It.
AdSense flagged five legal pages as low-value content after the 8-pillar map closed. The technical audit came back clean: HTTP 200, index/follow, canonical self. The issue was that every one of those pages was linked exclusively from the footer. Footer links don't transfer crawl weight the way body prose does.
Publishing under your name: the review burden that lives between the code and the commit
PR #17 fixed four lines across two files — the macOS username in a plist example that had already shipped to the live site, and absolute paths in a template script. The correctness reviewer had shipped the article. The privacy reviewer didn't exist yet. Closing that gap requires more than a hook.




