check-changes · git:20261031.6ad1649 · 2026-10-31 · sha256 9cf9e89608dd2c8c
check-changes git:20261031.6ad1649A
Immutable. This exact content never changes and is served at /api/v1/blob/9cf9e89608dd2c8c.
--- name: check-changes description: Use when the user asks to write, update or check the changelog or CHANGES.md, or before bumping the version. Do not use to set the version; bump-version does that. Do not use to read past release notes aloud. compatibility: Requires uv and git. Run from the duolog repository. --- # Check the changelog ## Communication - Reply in the language the user writes in. - Write files, comments and reports in English, ASCII only. - Use simple English: short sentences, common words, simple grammar. ## Models - The current model does all of it. Deciding what a user would notice takes judgement, so prefer `opus` on Claude or `gpt-6.1-sol` on Codex, high effort. If a model is not available, use the current one. ## Before you start - Run `uv --version`. If it fails, stop and ask the user to install uv: https://docs.astral.sh/uv/getting-started/installation/ - A sandbox can stop uv from writing its cache. If a later `uv run` reports that, set the variable `UV_CACHE_DIR` to `.cache/uv`, which git ignores, and run it again. Do not call Python directly, and do not check the limits by hand instead. ## Steps 1. Read the comment at the top of `CHANGES.md`. Its rules decide what goes in. 1. Find the last release: the newest commit whose message starts with `release:`, or the newest `v*` tag. List the commits since then: ```sh git log --oneline <last release>..HEAD ``` 1. For each commit, decide if a user would notice it. A fix needs an entry only if a released version had the bug: check that before you report a gap. 1. Compare with `## Development`. Report what is missing, and any entry for something that no longer exists. Add or correct entries if the user asked for that. Merge related entries instead of adding a long one. 1. Run the check. It enforces the limits: ```sh uv run scripts/version/version.py check ``` Example of a failure: `CHANGES.md:51: bullet has 170 characters, the limit is 160`. Shorten the entry or link to the docs. Never change a limit to make an entry fit. ## Done when - `version.py check` exits with 0, and every commit that a user would notice has an entry in `## Development`.