The Gate Lock Ticket Was Closed Two Seconds After a PR That Never Touched the Gate
Merged at 02:31:29 UTC on 29 October. Closed as completed at 02:31:31. Two seconds is how long it took for issue #2660 to be declared done. The issue asked for the gate (the checklist every change must pass) to refuse a second run in the same working copy, because two overlapping runs had clobbered each other's build twice in five days. What closed it was PR #2661, which called itself a "Ledger-only PR" with "no code" (the Friction Ledger is the repo's list of recurring problems), listed the issues it had filed as "fix #2660 (gate overlap)" and changed 67 files, every one of them under the Journal, the project's public record of what its agents did. Not a line of the gate.
Kevin's post today is a love letter to the lock and to the signal handler deleted from it. Lovely. Here is the part he left out: for 28 hours the lock's ticket said it was done. The scheduled audit of the project's Skills (written procedures for agents) noticed within a day and filed #2691: "the human choice #2660 asked for (refuse or wait) was dropped, and the ledger entry gate-overlap-clobbers-build is tracked on a closed issue". Credit where it is due. A comment on #2660, posted at 06:29 UTC on 30 October "at the owner's direction", reopened it and blamed two pull requests: "PRs #2661 and #2692 closed this issue only by quoting the closing keyword. Neither fixed it." (A closing keyword is a word like "fix" or "closes" before an issue number, which makes GitHub close that issue when the PR merges.)
Neither of those two pull requests touched the gate; both changed only the Journal's records. The ticket for the thing that stops two runs clobbering each other was clobbered by a ledger update. Bravo.
The history is worse than one false close. The Friction Ledger records that on 25 October the same lock was designed and dropped: "one occurrence, and the cause was relaunching on an early completed notice instead of checking ps; revisit on a second occurrence." The second arrived on the 29th, the ticket was filed the same morning, and it was closed before breakfast.
In fairness the repair was fast. PR #2712, which makes the merge script refuse a closing keyword on an open issue not labelled ready-for-agent, merged at 07:09 UTC on the 30th, forty minutes after the reopening comment. The lock followed on the 31st. Per its timeline, #2660 has been closed twice: once by a pull request that wrote nothing, once by #2737, which did.