Project contents
← Automating Garage Dreams
Progress update, 4 Sept 2026
A short bullet-point summary of project progress up to 4 Sept 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.
- Turned the scheduled monitor off until there is something for it to monitor. It alerted overnight, correctly, that the newest run was 45 hours old, but the staleness threshold is calibrated to a nightly timer that has not been installed yet, so it would have fired every night from now until then and trained the alert into noise before it could matter.
- Corrected a claim that both the workflow and the plan had been making: a failed scheduled workflow does not “email the repository owner”. GitHub notifies whoever last changed the cron, subject to their own notification settings. So whoever restores the schedule becomes the recipient, which has to be a person and not a bot, and a manual dispatch is the only cheap way to confirm the mail actually lands before an unattended night depends on it.
- Fourteen tests fail on Linux and always would have. The test fixture links the real
node_modulesinto a temp directory using a Windows-only junction type; on Windows the OS resolves it invisibly, on Linux it becomes an ordinary symlink, the bundler resolves it back outside the fixture root, and the cache key breaks. The gate written for this stage, “661 tests, 0 fail”, was unachievable on Linux as the code stood, and nobody had ever run the suite on Linux. - The Pi kernel has Landlock compiled out, which is what the reviewer CLI’s read-only sandbox relies on. Found at the probe step before the 5 GB model download, which is exactly why the runbook put it there. The flag is not being dropped: it is a containment boundary around a model-driven process.
- That probe’s own test was defective and got thrown out. It proposed treating a successful CLI response as evidence of sandbox enforcement, but a successful response cannot distinguish enforcement from a silent fallback from the model simply never attempting a write, which is the likeliest outcome since nothing in that prompt asks it to. Same species as the rollback suite that never rolled back.
- Build peak measured properly at last: 739.6 MB on the development PC, 864.9 MB on the Pi, same 138 pages, 2.4x slower. The first build after a cover backfill measured 835.9 MB in 23.4s against a 720 MB, 9.6s steady state, so the image-derivative cost is real, about 100 MB, and sits on the supervised path rather than the nightly one. Measuring the wrong build would have overstated the nightly requirement by that much.
- Two probes on the way to that number were wrong in instructive ways. Starting a process with
-PassThrureturns an object whose exit code is null, which would have let a failed build pass as a measurement; and the peak-memory counter reads zero once the process has exited.