Email me
Progress update, 18 Aug 2026
← Automating Garage Dreams

· Update · AI summary

Progress update, 18 Aug 2026

A short bullet-point summary of project progress up to 18 Aug 2026.

Updates are bullet-point summaries generated with AI from my commits and build notes, then checked by me. Project articles and learning notes are written by me.

  • The site I was verifying was not the site that is deployed. garagedreams.net is still parked at the registrar, answering 410 from someone else’s server with the registrar’s nameservers; the Pages project deploys to garagedreams.pages.dev and always had. Three documents said “Cloudflare is wired”, which is true of the project and false of the domain.
  • A draft: true post 404s in production, and drafts are absent from the sitemap and the feed. The whole burn-in safety argument rests on that and it had never been checked. The first pass reported a false positive: /<slug>/ 404s for everything, live guides included, because the route is /blog/<slug>/. A 404 test with no live control proves nothing.
  • public/robots.txt had been pointing at jdmgems.com/sitemap-index.xml since the fork, so the real sitemap was never advertised. A static asset has no schema and no test, so the build gate cannot catch this class of bug at all. Only looking at the deployed site finds it.
  • --dry-run returns before the build gate, and the harvest driver passes --dry-run on every run. So astro build had never once run against a model-generated article, across five batches and sixty-plus drafts. Every “published” count in the evidence that set the originality thresholds is an upper bound.
  • Re-analysed all five archived batches directly instead of trusting their summaries. Claude has passed 58 of 58 Gemma 4 articles. On the shipping model its verdict has never changed an outcome, and the two-reviewer gate is functionally “Codex must pass”. It is not a rubber stamp in general: it rejected 9 of 14 drafts from the weaker model.
  • Codex’s mean score is higher than Claude’s while Codex is the one demanding revisions. A threshold fitted to the numeric score would have been fitted to the wrong signal entirely.
  • The code’s own docstring denied a real bug. A failed push leaves the commit in place, so the tree is clean and every precondition passes, which is how a job stacks unpushed commits night after night while looking healthy. The comment claimed the next run’s clean-tree check catches it. Fixed with an explicit upstream comparison, made deliberately asymmetric so that being merely behind the other peer does not abort the night.