390aab9d
docs: the commit subject convention, stated where it can be read
a73x 2026-09-01 04:54
Commit message
CLAUDE.md
| Old | New | ||
|---|---|---|---|
| @@ -311,6 +311,14 @@ own. Test fixtures in `test/`: | |||
| 311 | metaphor. See docs/decisions.md.) | 311 | metaphor. See docs/decisions.md.) |
| 312 | - Commit often with `--fixup`/`--squash`, autosquash before delivery. The final | 312 | - Commit often with `--fixup`/`--squash`, autosquash before delivery. The final |
| 313 | history should tell the feature's story, not the development's. | 313 | history should tell the feature's story, not the development's. |
| 314 | - **A commit subject is `type: what changed`.** `type` is one of `feat` `fix` | ||
| 315 | `refactor` `test` `docs` `build` `chore`, and there is no parenthesised | ||
| 316 | scope — this repo has never spelled one. The type is what `git log --oneline` | ||
| 317 | is read THROUGH when a release is written: the reader skips the `test:` and | ||
| 318 | `refactor:` lines and reads the `feat:` and `fix:` ones. Twenty commits on | ||
| 319 | the connection-primitives branch drifted into ad-hoc scopes (`link:`, | ||
| 320 | `serve:`, `harness:`) and bare sentences, because the convention lived only | ||
| 321 | in the history and nothing here stated it; they were reworded 2026-09-01. | ||
| 314 | - `git-collab` tracks issues (`git-collab issue list`); the commit-msg hook | 322 | - `git-collab` tracks issues (`git-collab issue list`); the commit-msg hook |
| 315 | stamps `Patch:` trailers. Each collab write costs a ~15s origin sync — batch. | 323 | stamps `Patch:` trailers. Each collab write costs a ~15s origin sync — batch. |
| 316 | - `make check` before commit, `make ci` before delivery; capture `$?` before | 324 | - `make check` before commit, `make ci` before delivery; capture `$?` before |