docs: handoff-77, changelog-discipline rule, and #39 changelog entry
- docs/handoff/20260622-handoff-77.md — session handoff for the #39 schema-cache-gate fix; records the four open issues (incl. the new #40). - CLAUDE.md — add the changelog-discipline rule: update [Unreleased] in the same change as any user-facing behaviour change (scripted/pasted paths count), under the two copy rules; release-time sweep of commits/handoffs as the backstop. - CHANGELOG.md — [Unreleased] → Fixed bullet for the #39 paste/scripted- input fix.
This commit is contained in:
@@ -246,6 +246,20 @@ Key invariants in the code:
|
||||
the specific product (SQLite, STRICT, rusqlite, PRAGMA).
|
||||
ADR-internal prose and code comments may name it where
|
||||
technically necessary for precision.
|
||||
- **Changelog discipline.** `CHANGELOG.md` (repo root) tracks
|
||||
notable **user-facing** changes (Keep a Changelog + SemVer).
|
||||
Update it in the **same change** that introduces a user-facing
|
||||
behaviour change: add or amend a bullet under `[Unreleased]`
|
||||
in the right category (Added / Changed / Deprecated / Removed /
|
||||
Fixed / Security), phrased for end users under the two copy
|
||||
rules above (no engine name; no "DSL" — say "simple mode" /
|
||||
"advanced mode"). A change with no user-visible effect (pure
|
||||
refactor, internal tests, CI plumbing) gets **no** entry — and
|
||||
the judgement of "user-facing" includes scripted / pasted /
|
||||
power-user paths, not just the interactive happy path. At
|
||||
release time, rename `[Unreleased]` to the new version + date,
|
||||
add the compare link, and **sweep the commits/handoffs since
|
||||
the last tag** as a backstop for anything missed.
|
||||
- **Confirm commits.** Per the user's global rules, every
|
||||
`git commit` is preceded by an explicit message proposal
|
||||
and user approval. No AI attribution in commit messages.
|
||||
|
||||
Reference in New Issue
Block a user