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.
| Field | Value |
|---|---|
| Keyword | MUST |
| Level | 2 |
| Checked | by judgement |
| Findings | F403 |
| Harness facts | none |
| Threat | internal: roadkeep is the shared tool in most observations |
| Status | active |
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.