Build1 distinct publisher3 min readPublished
The prompt only ever guarded sessions someone was watching, so the rules moved into a hook that runs in bypass and headless mode, refuses a force push by naming the sanctioned path, and self-tests on 59 synthetic calls.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
The exit code is the load-bearing piece. The script hands its message back to the model through the code it exits with [4], and that is what makes a refusal cost nothing: the session reads why the move was refused and which move to make instead, in the same message [15]. The published text for a force push says it rewrites history other sessions may have built on, tells the model to push to a new branch and open a merge request, and states outright that this is not an owner-permission question [17]. Every rule in the destructive class is shaped that way [16]. Only a credential or a release ends with "the owner runs it", because that shape parks a parallel session on the scarcest resource on the machine [14], which the writeup calls the most expensive event there is, against a redirect it calls free [26].
Grepping a rule file proves the rule was written, not that it loads in the session about to break it. That is the gap the hook closes, and it closes it by loading in every permission mode rather than in one directory [3].
The admission bar is throughput, not caution: a rule qualifies only if it fires almost never, or if it prevents cross-session destruction that makes other sessions redo work [9]. A plain push, a new branch, a dry-run clean and deleting build output are all left alone [10]. The published table comes out at five refusals against five passes [24], and the suite is deliberately balanced between blocking and passing cases, with the passing half weighted heavier, because a false block on a move that runs dozens of times a day costs more than the rule saves [11]. Two of the passes are worth reading closely: git reset --hard passes in a solo repo, and rm -rf clears node_modules and a build output directory [13]. The same command is refused only inside the shared working tree [12].
The doctor is the part I would copy first. A field rename in the harness would leave the known-bad cases quietly passing, so it fails loudly instead of letting the guard permit everything [19]. Its 59 cases do not split evenly, so the closest the two halves get is 29 and 30 [23]. The false-positive half paid for itself before the rules landed, catching a repetition operator from the wrong regex dialect, a separator consumed twice so the recursive clean never matched, and a commit message scanned as command text, which made the guard refuse its own landing commit because the message contained the table of moves it refuses [20]. Heredoc bodies are prose now [21]. A guard that will not let you commit the guard is at least consistent.
For any of this to transfer, a harness has to do three things: call a hook before every tool call in every permission mode [3], hand that hook the call as JSON [4], and route a non-zero exit's message to the model rather than to a terminal nobody is reading [4]. Without the third, every rule degrades into a block that waits for a person, and the whole cost argument inverts. The 59 cases are a measure of one harness's habit of renaming its fields [18], not a safety rating.
What the account does not carry is a false-block rate from the nightly and noon runs, an incident count since the change, or any operator beyond the author. The two mis-rooted sessions are the only violations reported [8]. And the guard is parsed before every tool call in every session on the machine, so a syntax error in it stops every tool [22], including the edit that would repair it [25].
Ranked by verification strength, evidence, and original report placement.
Most agent work runs unattended: a nightly drain, a noon pass, and headless jobs that read the open web, all with permission prompts skipped by design, because a prompt nobody answers is a stalled job.
The permission prompt made protection strongest exactly where the owner was already watching, and absent where the unattended work runs.
The harness runs a small shell script before every tool call, in every session and every permission mode, bypass and headless included.
The script reads the tool call as JSON and either lets it through or exits with the code that feeds its message back to the model.
Until last week the hook covered one class only: the moves an injected instruction would need, such as reading a credential file, dumping the keychain, or piping a download into a shell.
The hook now also covers force pushes, a hard reset or branch swap in the one working tree several live sessions share, a recursive delete aimed at a home or project root, and a package release.
Distinct publishers with included, body-backed reporting in this cluster.
1 article · September 5, 2026
Follow any of these and your For You feed starts watching them — no settings page required.
build
AgentCheck reviews what the agent actually changed, and does it without another model1 distinct publisher
build
Claude Code walks the whole process table to inherit one shell's environment1 distinct publisher
build
NocoBase documents an AI kernel role for itself thirteen alphas before the 3.0 announcement1 distinct publisher
build
Claude Code's new default is a confession: the approval prompt was never a control1 distinct publisher
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Specific but self-witnessed
The post publishes what write-ups of this kind usually keep back: the whole verdict table, the exact refusal the model reads, and the three regex bugs the passing-case tests turned up before the rules shipped. None of it can be checked outside the author's machine. There is no repository, no log of a rule firing in a live session, and the harness that runs the hook is never named, so a reader is trusting a careful witness rather than an artifact.
One machine, one operator
The deployment on record is a permission default flipping on one developer's machine: bypass in every interactive session, with the two headless jobs declaring the mode rather than inheriting it. The 59-case doctor is a self-test, not usage, and nobody else is reported to be running this guard.
Slightly ahead of what's shown
The account catalogues its own failures freely, which keeps the gap narrow. Still, the guard's demonstrated wins are all synthetic: 59 fabricated calls and three bugs caught in test, with no blocked real attempt reported since the rules landed. The claim that a redirect is free also rests on the author's accounting of his own time rather than on an observed session that corrected itself and finished.
Nothing to sell but the byline
A first-person dev.to write-up: the author names no employer, sells no product, and links to nothing paid. The pressure that does show is the ordinary one of presenting your own setup as a settled system when the destructive rules landed the week before publication.
Single witness, high detail
One publisher, one witness, unusually exact about mechanism, and checkable only against itself. The design is described in enough detail to rely on, though this account alone can't show whether the guard holds against a real injected instruction.