@@ -52,17 +52,29 @@ attribution.
|
52 | 52 | - keep `#issue`, `(#PR)`, `Fixes #...`, and `Thanks @...` |
53 | 53 | - every human-authored merged PR represented by a user-facing entry needs |
54 | 54 | its PR ref and `Thanks @author`, even when the PR had no linked issue |
| 55 | +- every human issue reporter for a `Fixes #...` or referenced bug issue |
| 56 | + represented by a user-facing entry needs `Thanks @reporter` unless the |
| 57 | + same handle is already thanked in that bullet |
| 58 | +- every human `Co-authored-by` contributor on represented user-facing work |
| 59 | + needs `Thanks @handle` when a GitHub handle is known |
55 | 60 | - when grouping multiple PRs/issues in one bullet, include every relevant |
56 | 61 | PR/issue ref and every human contributor handle in that same bullet |
57 | 62 | - multiple `Thanks @...` handles in one bullet are expected; do not drop or |
58 | 63 | collapse contributor credit just because the note is grouped |
59 | 64 | - if one grouped bullet covers both direct commits and PRs, keep all PR refs |
60 | 65 | and thanks, plus any issue refs from the direct commits |
| 66 | +- before finalizing, audit the final release-note body: |
| 67 | +- extract all `#NNN` refs from the notes |
| 68 | +- resolve which refs are PRs and collect human PR authors |
| 69 | +- resolve issue refs used as bug/report refs and collect human reporters |
| 70 | +- scan represented commits for `Co-authored-by` |
| 71 | +- compare those handles to the final `Thanks @...` set |
| 72 | +- fix every missing human credit or explicitly record why it is omitted |
61 | 73 | - do not add GHSA references, advisory IDs, or security advisory slugs to |
62 | 74 | changelog entries or GitHub release-note text unless explicitly requested |
63 | 75 | - never thank bots, `@openclaw`, `@clawsweeper`, or `@steipete` |
64 | | -- if grouping multiple entries, carry all relevant refs and thanks into the |
65 | | -grouped bullet |
| 76 | +- do not use GitHub's release contributor count as the source of truth; the |
| 77 | +changelog must carry the complete human credit set itself |
66 | 78 | 7. Sorting preference: |
67 | 79 | - security/data-loss and content-boundary fixes |
68 | 80 | - transcript/replay/reply delivery correctness |
|