Build LogLearning
#101
2026-07-225 min read

The cheapest phase in a seven-phase plan was also the highest-leverage one

Prerequisite chips in the learning hub — three words, one arrow, no JavaScript — outperformed every other navigation phase by the only metric that matters at the chapter level: whether a reader knows what to read first. The evidence is what the other six phases cost by comparison.

Read post
SEOObservability
#102
2026-07-225 min read

The eight-pillar map closed in three days. ga-telemetry and gsc-telemetry are why.

Phase 1.6 shipped two observability skills on 20 June: ga-telemetry and gsc-telemetry. Six days later the eight-pillar topic-authority map was complete. The link is an operator loop built on next-morning indexation signal.

Read post
Build LogTypeScript
#103
2026-07-215 min read

`ignoreBuildErrors: true` kept the type checker quiet. Turning it off found twelve product bugs.

UK Calculators had `strict: true` in tsconfig and `ignoreBuildErrors: true` in next.config.mjs. The two settings coexisted for months. One afternoon removing the flag surfaced twelve masked type errors on a YMYL money site where wrong numbers carry real consequences.

Read post
SecurityDevOps
#104
2026-07-216 min read

Scope the MySQL user first: the newsletter DDL as a security boundary on cPanel

On shared hosting, you don't control the firewall or the infrastructure. What you do control is which privileges the MySQL user holds. Scoping it to the newsletter schema alone made a compromised endpoint's blast radius structurally finite — not as a mitigation layered on top, but as a property of the design.

Read post
Build LogContent Pipeline
#105
2026-07-216 min read

Zero drafts at 07:00: build the gate, not the prompt

The 29 June cron ran every stage correctly and produced nothing. Haiku underfired on claim-extraction, the pipeline accepted the shortfall without raising an error, and the log showed a clean exit. The fix was a corrective stage that detects the count failure, reruns with constrained parameters, and marks the run failed if the second attempt also falls short. Six pillars shipped in the three days that followed.

Read post