Work completed 2026-10-23 · written up 2026-10-24.
One job ran its brief writer 51 times in 65 minutes for $8.19 [landed:1736], and another job's brief was never accepted or refused because it was missing the end block the machine reads, so the brief writer kept starting over [landed:1743]
A step that can neither accept nor refuse what it gets will rerun until something outside it times out
The brief writer now has a retry cap, and a brief without the end block is refused
A review check crashed twice on one job because a GitHub reply was bigger than the read buffer [refusal:2710]
A crash in the machine's own checks was counted against the job, which could do nothing about it
GitHub reads now get a 64 MB buffer, and a crash inside a machine step is reported as a machine fault the first time it happens [landed:1738]
A site page job kept being built on main, where its data file and stylesheet do not exist, so every build was refused [refusal:2609]
A job cut from the wrong branch fails checks that no code change can pass
Jobs now take their base branch from the ticket, cut from it and open the pull request against it [landed:1705]
A research answer kept being refused while rulings told the builder to edit wording and make no new runs, even though the reviewer wanted proof the builder had never quoted [refusal:2658]
A limit written into a ruling can keep the builder from showing the evidence the refusal asks for
The limit was lifted, and a later ruling read the cited file at its pinned commit and gave the builder the exact lines to quote
Two fixes to the guard that drops rulings naming file paths landed by early morning [landed:1692]. Later that day it still dropped rulings that named ~/cf_work/pay500, /sdks/, a full cf_work path and ~/cf_work/1716/, and that last one is exactly the output-folder shape the fix was meant to allow
A guard fix is not finished until the shapes it was meant to allow stop being dropped
None yet: the drops after the fix have no ticket