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

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

EP-1 One declared copy answers

Where more than one copy of a shared tool could answer a session, the project MUST declare in committed files which copy answers and at which version.

FieldValue
KeywordMUST
Level2
Checkedby judgement
FindingsF403
Harness factsnone
Threatinternal: roadkeep is the shared tool in most observations
Statusactive

Rationale: sessions in at least three projects ran or read a copy that was stale or not the intended one, a vendored skill behind its engine, a sibling checkout chosen because an environment variable arrived unexpanded, a stale plugin registry row, and nothing failed (F403, R3/S3). Shio and freewilly vendored the engine to one path because "which copy answers is not decidable by looking" [shio@821f18d74:agents.md#L277]. A declaration in committed files is what makes the question decidable by reading. It is not enough alone: Shio's two descriptions of its copy disagree at the pin, which is why GH-6 asks for a check. The platform facts involved (how an environment variable in a hook command is expanded on Windows) come from the finding, not from the harness register.

Failing a gate when the copy that answers is stale is rule GH-6 in GH.md.