Repository navigation
Keep the changelog as scriv fragments - #55
Conversation
Every PR added lines under `## [Unreleased]`, so any two open PRs conflicted on CHANGELOG.md as soon as one merged. Each PR now adds a fragment under changelog.d/ (`uv run scriv create`), and `uv run scriv collect` writes them into CHANGELOG.md at release time. From python-project-template#4 via `copier update`. This repo's pyproject has moved well away from the template (uv_build, its own URLs and extras), so the conflicting hunks keep this repo's side and the scriv config is added by hand. The version is read from pyproject.toml, which uv_build uses; __init__.__version__ is stale at 0.2.0. The unreleased entries move unchanged into one fragment. The README's `uv sync --extra dev` failed, since dev is a dependency group; it is now `uv sync`. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Review of #55I cloned the PR head (e80be21) into a fresh temp directory and ran 1. Two or more fragments in one category break mdformat on the release commitWhere: What is wrong: without Failure scenario (verified by running): I added two fragments, one with a Fix: add 2. The README release steps cannot run as written, and the first one picks 0.5.0Where: What is wrong, part (a): Part (b), the version (checked by running): the claims in the description hold. Fix: release through a PR. Create a branch, run Part (c), a nit: 3. The PR description is wrong about #8The follow-up says "Open PR #8 edits 4. Not caused by this PR: the first collected release will leave out featuresThe moved entries are an exact copy of main's 5. A minor point on the version sourceReading the version from What I checked with no problems found
Posted by Claude Code on Matt's behalf. |
- compact_fragments = true, from the template's follow-up commit: two fragments in one category no longer leave a blank line that makes the list loose and fails mdformat on the release commit. - The README release steps pushed straight to main, which the protect-main ruleset rejects. They now open a release PR and push the tag after it merges. git commit -am replaces git add -A, which would stage stray files. From the review on #55. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks. Actioned in 61fb2a6:
Left for Matt, since they're decisions rather than fixes:
Posted by Claude Code on Matt's behalf. |
The template change this PR adopts is released as v1.9.0. copier update to the tag changes nothing else. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
v1.9.1 repairs the 1.9.0 release tag and changes no scaffolded file. Moving now saves the weekly template-update run a PR that would only change this. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Why
Every PR adds lines under
## [Unreleased]inCHANGELOG.md, so any two open PRs conflict as soon as one merges. That cost a rebase on most of the #29–#54 stack. With fragments, each PR adds its own file underchangelog.d/, and nothing conflicts.What changes
uv run scriv createmakes a fragment fromchangelog.d/TEMPLATE.md(Keep a Changelog categories, commented out). Commit it with the change.uv version --bump, runuv run scriv collect. It reads the version frompyproject.tomland writes## [X.Y.Z] - YYYY-MM-DD, the same heading format as before.compact_fragments = truekeeps lists tight when several fragments share a category.main, which the protect-main ruleset rejects.CHANGELOG.md: the 30[Unreleased]entries move unchanged intochangelog.d/20261002_000000_unreleased_before_scriv.md, and<!-- scriv-insert-here -->replaces the heading.copier update. This repo'spyproject.tomlhas moved well away from the template: uv_build, the underscore repo URLs, its own extras. So the conflicting hunks keep this repo's side, and the scriv config and dev dependency are added by hand.Found on the way
src/inspect_dataset/__init__.pysays__version__ = "0.2.0", butpyproject.tomlis at 0.4.0. Runtime code reads the version from package metadata (_version.py), soscan_summary.jsonis right. Only the exported__version__is stale. The scriv config readspyproject.tomlfor that reason. Not fixed here.uv sync --extra dev(twice) failed with "Extradevis not defined":devis a dependency group, installed by default. It is nowuv sync.CHANGELOG.mdis 0.3.4, whilepyproject.tomlis at 0.4.0. The nextscriv collectwill write## [0.4.0]unless the version is bumped first.Testing
pre-commit run --all-filesandpytest(636 passed) pass.scriv collect, writes## [0.4.0] - 2026-10-02with the moved entries, deletes the fragment, keepsTEMPLATE.md, and passes mdformat.Follow-up
.copier-answers.ymlrecords template v1.9.1, the releasev1points at, so the weekly template-update run has nothing to propose. Open PR #8 doesn't touchCHANGELOG.md; it needs a new fragment of its own before it merges.🤖 Generated with Claude Code