Email me
Progress update, 16 Sept 2026
← Automating Garage Dreams

· Update · AI summary

Progress update, 16 Sept 2026

A short bullet-point summary of project progress up to 16 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.

  • The monitor reported five green checks (26 records, newest run 23.2 hours old, last run published, in sync with the remote) and all three of those facts were wrong. The remote held 27 records, the newest was eight hours old, and it had skipped. Two defects compounded: the upstream check measured only whether the branch was ahead, so a purely behind checkout scored zero and printed “in sync”; and the record checks read the local working tree, which --fetch does not update. On the publishing host the tree and the remote coincide, so the machine the monitor was designed for is the one machine where the bug is invisible.
  • Nine burn-in drafts reviewed against their sources: three carried article-introduced faults, and all three had passed both reviewers. Each is the same shape: a fact kept and the qualifier that made it true discarded. One asserted a platform lineage the source paragraph exists to deny; one dropped “non verified test” from a top-speed figure; one rendered the end of Japan’s 280 PS advertising cap as a claim about the car’s power, beside a 308 PS figure.
  • That retracts an earlier conclusion. “Both reviewers reliably catch dropped qualifiers” was drawn from two runs in which they did, which is a definition rather than a sample: a run they catch gets revised into the record, a run they miss publishes silently. The observed miss rate is three in nine and that is a floor, not an estimate. It matters most at the next stage, when the draft step disappears and the reviewers become the only check.
  • Two further faults were source defects copied faithfully: a guide calling cast-iron brake discs carbon, and another calling a three-door hatchback a four-door. The pipeline behaved correctly in both cases, which is its own kind of finding.
  • The sync damage recurred at four times the size: eight tracked files deleted with (1) twins, including four published articles. The first method used to verify them reported all eight as differing, which would have meant eight files of real work to reconcile by hand. The method was wrong. Dumping a blob through a PowerShell redirect re-encodes it, so the comparison measures the shell rather than the files. Comparing object IDs the way git itself would showed all eight identical. Note the direction of that error: the broken method produced the alarming answer, and nobody double-checks bad news.
  • Added commands to move generated articles between draft and live in both directions, sharing one transaction that validates everything, holds the originals in memory and rolls back by exact path. It exists because after the draft stage is removed there is otherwise no route back for prose. The flip and its rollback do not differ by direction, so one function takes the source and target values and the round trip to the original bytes is asserted. There is deliberately no bulk form on the withdraw side.
  • All nine drafts are now live, published in one commit by the command rather than by hand.