Claude Code First, specification version 0.1.0. The plain-language guide
Version 0.1.0. Level 2. Best evidence grade R3/S3.
GH-3 Match every route to the change
A guard SHOULD be matched on every tool through which the agent can make the change it refuses, the shell included.
| Field | Value |
|---|---|
| Keyword | SHOULD |
| Level | 2 |
| Checked | by judgement |
| Findings | F100, F301 |
| Harness facts | H4, H6 |
| Threat | internal: the gap and its fix are one tool's, seen from its adopters |
| Status | active |
Rationale: roadkeep's guard first matched only Edit and Write, and a shell command writing the same file got silence until the guard also matched Bash (F100, R1/S2; F301). A shell command names a path without saying what it does with it, so the guard can only ask there, and asking on every command that names a governed path also asked on git add, which the tool then exempted. That cost is why the rule carries SHOULD and leaves the answer on the shell (ask, or refuse a recognised write) to the project. The finding is one tool's history, R1 at S2 with no contrary observation, which admits SHOULD.