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

Version 0.1.0. Grade R3/S3.

F203 A written one-task-one-commit rule did not stop commits that ship several tasks, though counted from the ledgers they are a small share

FieldValue
Statusactive
TopicCommits and concurrent sessions
GradeR3/S3
Caseswinwright, roadkeep, freewilly
Contrarypolyweave
Harness factsnone

Claim

Every project states one task per commit and forbids batching in prose, yet in three of the four projects whose ledgers can be counted some commits ship two or more tasks at once, from under 1 percent of ship commits in roadkeep to about 4 percent in winwright, where they cluster in one week; polyweave has none in 110, and the two projects that call the rule their most violated did not count it.

Mechanism

The rule is an instruction in a skill or an every-turn file, and nothing refuses a commit that ships two tasks. A request to work through a block invites the agent to finish several tasks and commit once, which is why each project's rule singles out the multi-task request and prescribes a loop that commits at the end of every iteration. Because roadkeep writes one ledger line per shipped task, the history can be read back for commits that added more than one.

Observations

The counts below are this study's, made at each pin by reading git log <pin> -p -- docs/CHANGELOG.md and counting, per commit, the added lines that open a shipped entry (- ✅ or, for a partial ship, -- ✅). A commit that adds two or more is a commit that recorded two or more ships.

Independence

Three independent origins: batching commits are each project's own failures (rule 1), made in separate histories. The rule and its loop remedy are one origin, copied across the projects with near-identical wording, and are not counted. The count uses the same instrument in all four projects, so a bias in it (below) applies to all of them alike.

Counter-evidence

polyweave is contrary: no ship commit in its history records two ships. Its history is three days long and drains a backlog written before any code, which may explain the difference; no source says so. Against the prose, the counts are low: freewilly's "single most violated rule" shows in 3 of 281 ship commits. The count is a lower bound of batching, since it misses a commit that carries a second task's code under one ship line (as in F201) and a batch that was never shipped. It can also overcount: a commit adding several entries may be a ledger migration rather than a batch, which is why the subjects are reported separately.

Grade

R3: batching commits in three projects, each its own failure. S3: the shares are counted at each pin with a repeatable command, git log <pin> -p -- docs/CHANGELOG.md, counting per commit the added lines that begin - ✅ or -- ✅, and what it counts is the finding's own effect: commits that record two or more ships. The subjects naming several ids are listed beside the counts because a multi-entry commit can also be a ledger migration. Not S4: nothing refuses a batching commit. Contrary observation: polyweave.