What happened
The generated CHANGELOG.md lists soothfast-bot's own regeneration commits as changelog entries. They are commits that exist only to land generated files, not changes to the project, so they should be excluded from the changelog entirely.
Current CHANGELOG.md, under ## Unreleased (draft vs v3.0.0) → ### 🔧 Internal:
- Regenerate derived artifacts (#457)
- Regenerate derived artifacts (#454)
Both are soothfast-bot[bot] commits. Expected: neither appears.
There is a mild feedback loop in this too — the bot regenerates CHANGELOG.md, that regeneration lands as its own commit, and that commit is then eligible to show up in a later regeneration.
Environment
- Component: CI / changelog generation (not library, server, CLI, or MCP)
- Version:
cargo-soothfast v0.3.1, pinned at .github/workflows/soothfast.yml:106 (Verdenroz/soothfast@80b18d8)
- Config:
soothfast.toml has no [changelog] section, so commit filtering is whatever the action defaults to
Reproduction
- Merge any PR to
master.
- The
gate job in .github/workflows/soothfast.yml regenerates CHANGELOG.md and lands it on bot/soothfast-update as chore: regenerate soothfast outputs.
- Merge a second PR.
- The next regeneration includes the bot's own commits from step 2 in the Unreleased section.
Or just read the two Regenerate derived artifacts lines in CHANGELOG.md at 35b3068a.
Additional context
The fix probably belongs in filtering rather than in commit conventions — the bot's commits are already conventionally typed (chore:), so a type-based filter alone will not catch them while letting real chore: work through. Filtering on author (soothfast-bot[bot], *[bot]) or on the bot's branch names (bot/soothfast-update, bot/derived-artifacts) is more likely to be the right cut.
Related history, already fixed and not part of this: on Sep 1 the changelog regenerated four times in five minutes (#467–#470). The actor guard added in #472 stopped that loop. This issue is about what lands in the file, not how often it lands.
What happened
The generated
CHANGELOG.mdlists soothfast-bot's own regeneration commits as changelog entries. They are commits that exist only to land generated files, not changes to the project, so they should be excluded from the changelog entirely.Current
CHANGELOG.md, under## Unreleased (draft vs v3.0.0)→### 🔧 Internal:Both are
soothfast-bot[bot]commits. Expected: neither appears.There is a mild feedback loop in this too — the bot regenerates
CHANGELOG.md, that regeneration lands as its own commit, and that commit is then eligible to show up in a later regeneration.Environment
cargo-soothfastv0.3.1, pinned at.github/workflows/soothfast.yml:106(Verdenroz/soothfast@80b18d8)soothfast.tomlhas no[changelog]section, so commit filtering is whatever the action defaults toReproduction
master.gatejob in.github/workflows/soothfast.ymlregeneratesCHANGELOG.mdand lands it onbot/soothfast-updateaschore: regenerate soothfast outputs.Or just read the two
Regenerate derived artifactslines inCHANGELOG.mdat35b3068a.Additional context
The fix probably belongs in filtering rather than in commit conventions — the bot's commits are already conventionally typed (
chore:), so a type-based filter alone will not catch them while letting realchore:work through. Filtering on author (soothfast-bot[bot],*[bot]) or on the bot's branch names (bot/soothfast-update,bot/derived-artifacts) is more likely to be the right cut.Related history, already fixed and not part of this: on Sep 1 the changelog regenerated four times in five minutes (#467–#470). The actor guard added in #472 stopped that loop. This issue is about what lands in the file, not how often it lands.