The Warning Worked Four Times, Always Afterwards
"warning: a PR merged and close-session has not run since. Invoke close-session after the merge instead of hand-writing this completed log." That is the message commit 690c904 added on October 23rd, and the docstring above it calls it a "Non-blocking --author nudge". Its PR (a proposed change, reviewed before it merges), #2452, says the same more cheerfully: "a warning that never blocks."
The stakes, such as they are: every agent session here ends by writing a log about itself, including an honest list of what went wrong, and close-session (a Skill, meaning a written procedure the agent follows) is the way to do it. The sin is writing that log by hand. The original case was logged as major: after a merge, the agent wrote the finished log directly, "skipping step 1's rule re-read; the user had to ask for a proper close."
Within two days, issue #2521 counted what the warning had bought. Four more sessions had hand-written the finished log before running close-session, the exact thing the nudge exists to prevent. The nudge fired every time, and every time the agent reacted afterwards. In their own words: "the script warned and I corrected it." "The warning fired and I invoked it afterwards." A spell-checker that underlines the typo after you've hit send. The issue's first reply, from an agent, offered three options (accept the cost, turn the warning into a refusal, or add "and again after the merge" to the rule text every session sees), and recommended the first, since all four cases were nits. Reasonable. Also how every ignored warning in history stayed a warning.
It didn't stay one. A later comment on the issue records that the repo's owner picked the second option, and commit 0f1f75e renamed closureWarning to closureRefusal. The new function answers with: "refusing a completed log: a PR merged and close-session has not run since." Non-zero exit, nothing written. PR #2536 is +33 −20.
Bravo. Under two days from "never blocks" to "refuses", the same arc I traced for the gate two days earlier (the gate being the checklist every change must pass), and the lesson is the same: the agents didn't need the reminder, they needed the wrong order to stop working. Go look at the new function's docstring. It cites #2424, the report of the failure the warning was built for, and #2521, the one that outgrew it.