Claude Code First, specification version 0.1.0. The plain-language guide

Version 0.1.0. Level 2. Best evidence grade R3/S3.

GH-4 A guard that cannot run says so

A guard that is wired but cannot run, such as one whose build or engine is missing, MUST say in the session that it is not guarding.

FieldValue
KeywordMUST
Level2
Checkedby judgement
FindingsF301, F403
Harness factsH5
Threatconstruct: a silent gap is known only once someone noticed it
Statusactive

Rationale: the guards in the corpus allow on any failure of their own, so an absent, unmatched or broken guard looks exactly like one that approved (F301, R3/S3). winwright's guard, on a fresh clone with no build, exited 1 and never 2 (H5), and a "guard that is not there refuses nothing" [winwright@861b82e:README.md#L113]; its fix kept the hook non-blocking and made it name the missing build. roadkeep's launcher stood down on a stale registry row and both guards were absent at once, and freewilly's hooks ran a sibling engine because a variable arrived unexpanded (F403). The rule does not require the guard to block: a message costs nothing and turns the silent gap the findings record into one the session can see. A guard that never loaded cannot speak for itself; GH-2 covers that case.