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

Version 0.1.0. Level 1. Best evidence grade R2/S2.

CD-3 Staging by path

A commit SHOULD stage its own paths by name, unless a single session owns the checkout and the tree was checked for other changes first.

FieldValue
KeywordSHOULD
Level1
Checkedby judgement
FindingsF200, F201
Harness factsnone
Threatconstruct: a stray caught before a commit leaves no trace, so the leaks are a lower bound
Statusactive

Rationale: this rule is decision D6 of ../evidence/divergences.md. A tool that stages everything commits whatever the tree holds: in Shio a teed run log landed in a feature commit, and a file named past the ignore rule written in answer landed in a later fix; in freewilly a settings file the harness rewrote and a test's bytecode "shipped inside other changes" (F200, R2/S2). The ignore rules closed each pattern only after it had leaked once, so an ignore file is not a substitute for naming the paths. Where other sessions work in the same tree, a stage-everything commit carries their work under its message (F201, R2/S2), which is why the exception is limited to a checkout one session owns. Both findings rest on one origin, the shared commit tool, so the keyword is SHOULD.