forked from heavy-duty/ceremony
docs(changelog): the citation is guard-enforced, not house style
Closes #262
This commit is contained in:
parent
f4cb970097
commit
8aeea67d8d
3 changed files with 27 additions and 1 deletions
|
|
@ -203,7 +203,13 @@ triage bug, and the move is to say so on the issue, not to guess.
|
||||||
a change genuinely is one. An entry is at most 300 characters — the
|
a change genuinely is one. An entry is at most 300 characters — the
|
||||||
fragment guard reds longer (#167) — so a genuinely long change ships
|
fragment guard reds longer (#167) — so a genuinely long change ships
|
||||||
several short entries, never one long one; wrapping an entry over
|
several short entries, never one long one; wrapping an entry over
|
||||||
continuation lines is fine and never counts against it. Never edit
|
continuation lines is fine and never counts against it. Every entry
|
||||||
|
**ends with its issue citation**, and the same guard reds an entry
|
||||||
|
without one: a single `(` group of `#N`, `repo#N` or `owner/repo#N`
|
||||||
|
references separated by `, `, then `)`, then the final `.` and nothing
|
||||||
|
after it — `(#262).` locally, `(#236, #250).` when one entry honestly
|
||||||
|
lands two. The citation need not name the fragment's own issue, because
|
||||||
|
the filename already carries the authorizing one (#262). Never edit
|
||||||
`CHANGELOG.md` for an entry — the
|
`CHANGELOG.md` for an entry — the
|
||||||
release PR assembles the section from the fragments (#112); the monotonic
|
release PR assembles the section from the fragments (#112); the monotonic
|
||||||
guard still refuses anything that deletes a shipped heading.
|
guard still refuses anything that deletes a shipped heading.
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,9 @@ published verbatim as that release's body (lib/changelog.sh extracts it),
|
||||||
so entries say what changed, cite the issue, and stop — at most 300
|
so entries say what changed, cite the issue, and stop — at most 300
|
||||||
characters each, guard-enforced on the PR that writes the fragment (#167);
|
characters each, guard-enforced on the PR that writes the fragment (#167);
|
||||||
a genuinely long change ships several short entries, never one long one.
|
a genuinely long change ships several short entries, never one long one.
|
||||||
|
The citation is guard-enforced too, and it closes the entry: one `(#N)`
|
||||||
|
group, then the final `.` and nothing after it (#262). Sections published
|
||||||
|
before that rule keep their prose; the guard reads fragments only.
|
||||||
Entries arrive as fragments — one `changelog.d/<issue>.md` per PR, never
|
Entries arrive as fragments — one `changelog.d/<issue>.md` per PR, never
|
||||||
an edit to this file — and the release PR assembles them into the next
|
an edit to this file — and the release PR assembles them into the next
|
||||||
section here (`bin/changelog-assemble`, #112).
|
section here (`bin/changelog-assemble`, #112).
|
||||||
|
|
|
||||||
17
changelog.d/262.md
Normal file
17
changelog.d/262.md
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- The fragment guard now requires each entry to end with its issue
|
||||||
|
citation: one `(#N)` group — local, `repo#N` or `owner/repo#N`
|
||||||
|
references separated by `, ` — then the final `.` and nothing after it
|
||||||
|
(#262).
|
||||||
|
- The refusal distinguishes an entry carrying no reference at all from one
|
||||||
|
whose reference is present but not terminal, and names the shape to
|
||||||
|
write in both (#262).
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- `BUILDER.md` and `CHANGELOG.md` state the citation as guard-enforced
|
||||||
|
rather than as house style, beside the 300-character bound it now sits
|
||||||
|
next to (#262).
|
||||||
|
- Four fragments in flight gained a terminal citation; published sections
|
||||||
|
are untouched, so no shipped prose is re-opened (#262).
|
||||||
Loading…
Reference in a new issue