Project contents
← Automating Garage Dreams
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.netis still parked at the registrar, answering 410 from someone else’s server with the registrar’s nameservers; the Pages project deploys togaragedreams.pages.devand always had. Three documents said “Cloudflare is wired”, which is true of the project and false of the domain. - A
draft: truepost 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.txthad been pointing atjdmgems.com/sitemap-index.xmlsince 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-runreturns before the build gate, and the harvest driver passes--dry-runon every run. Soastro buildhad 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.