Skip to content

Wayfinder: Keep a Changelog entries in bumper changelogs #74

Description

@disintegrator

Destination

"Keep a Changelog"-style categorized entries (Added / Changed / Deprecated / Removed / Fixed / Security) implemented in bumper and dogfooded in this repo — bump files carry a change category, bumper commit squashes and renders categorized release sections, and bumper's own CHANGELOG.md is produced this way.

Notes

  • This map carries execution: tickets include building the feature, not just deciding it (overrides wayfinder's plan-only default).
  • Locked while charting:
    • Categories ride alongside semver levels — level still drives version computation; rendering decides how the two combine.
    • Strict KACL six categories: Added, Changed, Deprecated, Removed, Fixed, Security. No custom vocabularies.
    • Categories only — heading format stays ## <DisplayName> <version>; date stamps, Unreleased sections, and version-diff links are out of scope.
    • One category per bump file: a single frontmatter field applies to the whole bump.
    • Breaking changes allowed to the bump file schema, config.toml, and the changelog_cmd flag/env contract.
  • Relevant code: internal/workspace/bumps.go (parse/squash), internal/changelog/ (markdown surgery), internal/commands/builtins/changelog.go (default renderer), internal/commands/bump (interactive form), internal/commands/commit.
  • Domain docs per docs/agents/domain.md; no CONTEXT.md or ADRs exist yet.

Decisions so far

  • Survey how comparable release tools model change categories alongside semver levels — no surveyed tool carries both an explicit level and an explicit category per change (file-based tools capture one axis, commit-based tools derive both from the commit type; changie is closest, deriving level from category), so bumper's explicit-level-plus-explicit-category bump file is novel; KACL itself mandates no category→level mapping, and all tools omit empty category sections when rendering.

Not yet specified

  • Implementation slicing — once schema, rendering, and contract land, break the build into execution tickets (frontmatter parsing + bump form, squash core, builtin renderer + contract, bumper commit wiring).
  • Docs updates — site content and regenerated CLI reference; shape depends on the implemented surface.
  • Dogfood migration — what happens to this repo's pending category-less bump files, and cutting bumper's first KACL-styled release.

Out of scope

  • KACL formatting beyond categories: release date stamps in headings, an Unreleased section, version-diff links (ruled out while charting).
  • Custom or per-group category vocabularies beyond the KACL six (ruled out while charting).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions