Writing & build logs.
Essays on software development, web builds, and AI tooling. Plus build notes from what I'm actually working on right now.
Technically clean, still unindexed: six pages that needed a crawl path before Google would find them
PR #153 was an ultracode review of six pages stuck at 'URL is unknown to Google' — five legal surfaces plus the stamp-duty calculator. Every technical check came back clean. The fix wasn't a technical one: it was body-prose internal links from six already-indexed articles, giving Google a crawl path to pages it had no reason to visit.
The YMYL pages weren't thin — they were stranded: zero inbound links, unnamed reviewers, and a TypeScript config enforcing nothing
Phase Q's three-lens assessment didn't flag content depth on UK Calculators' four money pages. It flagged link equity: forty-eight articles, zero internal links to the calculator set. Then reviewer attribution. Then a TypeScript config with strict: true declared and ignoreBuildErrors: true also set — which meant strict mode had never been a gate.
Googlebot had the sitemap for weeks. Six pages were still unknown. The fix was editorial prose.
Six URLs stuck at ‘unknown to Google’ for weeks after sitemap submissions, IndexNow pings, and twelve manual Request-Indexing nudges. The ultracode audit of all six pages found no technical blocker. Footer-only pages on a lower-authority site need editorial prose links — Googlebot follows editorial paths, not manifests.
One ready draft in fourteen days: the failed-cluster dead zone
Ten cron cycles ran clean. One ready draft emerged. draft.py was treating failed-cluster index entries as permanently consumed work, silently shrinking the candidate pool every morning. The fix was a type check. The visibility fix was a new counter. Finding the root cause took fourteen days.
Privacy on this site runs at three layers. The page arrived last.
The /privacy/ page went live in June as part of the newsletter sprint. A month before that, a pre-commit hook was already blocking my macOS username from every committed file. A month after, I wrote down the editorial rule that neither the page nor the hook can enforce. Three layers, three threat models, three different origins.




