Claude Code First, specification version 0.1.0. The plain-language guide
Version 0.1.0. Level 2. Best evidence grade R3/S3.
CS-4 A disturbed gate run is not a verdict on the change
A gate whose run was disturbed by other work in the checkout, whether another session's edits or another run of the same gate, MUST report the verdict could not run, not passed or failed.
| Field | Value |
|---|---|
| Keyword | MUST |
| Level | 2 |
| Checked | by judgement |
| Findings | F202, F304 |
| Harness facts | none |
| Threat | internal: Shio's overlapping runs came from one session's background job, not from two sessions |
| Status | active |
Rationale: a gate reads the live tree and has no notion of whose edits it is reading (F202, R3/S3). Shio measured two overlapping runs of one gate, which "reported 3 errors over 1092 tests where the tree alone reports 1894" [shio@821f18d74:scripts/run-gate.mjs#L57] green, and twice on one day a commit had to argue that its reds were another session's uncommitted work; roadkeep measured a run with six failures, five not about the code, where "nothing in the output said so" [roadkeep@91754240:tests/conftest.py#L14]. Each project made the run detect the condition, by different means: one run per gate at a time in Shio, a snapshot taken at collection and a fingerprint naming the file that moved in roadkeep. A red that is not about the change trains everyone to ignore the next true one (F304, R3/S3). Two independent origins, each measured, admit a MUST. The means are not fixed here; the verdict is. The pins record no occasion on which a lock or a fixture was seen to refuse or skip a real run.