Skip to content

Assemble release notes from reviewed pull request entries #2670

Open

Description

@codeforester

Problem

The accepted Base governance design and implementation plan identify package 5b as a required deliverable. This issue translates that package into a reviewed, bounded issue/PR train; it does not authorize implementation before the issue reaches Ready.

Expected behavior

Implement and test the plan's basectl release notes assembly from a release-note line recorded in each PR, preserving an explicit reasoned none disposition. Keep CHANGELOG.md as the repository's release record and avoid guessing user-facing claims from commit text.

Scope and non-goals

Scope: Implement and test the plan's basectl release notes assembly from a release-note line recorded in each PR, preserving an explicit reasoned none disposition. Keep CHANGELOG.md as the repository's release record and avoid guessing user-facing claims from commit text.

Non-goals: Do not silently expand scope, activate unreviewed policy, mirror issue fields onto PRs, grant agents merge/release authority, or make changes outside the named affected areas. Any new product decision or materially new work gets a separate issue and decision record.

Affected areas

Impact and evidence

  1. Product intent: Implements only the accepted governance design and plan; any product-requirement change must be filed separately.
  2. Architecture and contracts: Destination is the package-specific section of the merged governance design/implementation plan plus the affected canonical contract named above.
  3. User guidance: The issue identifies likely guidance paths; the implementation PR must name updated user/FAQ/README paths or give a change-specific reason why none is affected.
  4. CLI/API and reference: The affected-area list determines whether CLI/API/reference docs change; the implementation PR must cite the exact reference path or justify no impact.
  5. Operations and safety: No privileged automation or merge authority is implied; the PR must list operational/security effects and any rollback.
  6. Validation and testing: The issue lists the planned tests; the PR must report executed validation and explain any unavailable test.
  7. Examples and downstream use: The implementation PR must identify affected examples/consumers or give evidence that this change has no downstream surface.
  8. Governance and contributor process: This package changes or preserves the contributor/governance contract as described in Scope; links must point to the canonical rules.
  9. Decision records: No new decision is accepted by this issue; any durable deviation requires a proposed decision record and explicit maintainer acceptance.
  10. Release notes: The PR must include a user-facing release-note line or a reasoned none; this issue does not pre-decide that disposition.

These are issue-stage dispositions to refine during Triage. Before Ready, every category must have its exact destination or evidence-based no-impact reason; the PR repeats the ten-category evidence for actual changes.

Open questions

  • None known. If implementation exposes an unresolved contract, return this issue to Triage and record the decision before implementation continues.

Plan

  • S1: One focused PR for this issue. Use Fixes #N only if no additional slice is needed; if the maintainer approves multiple PRs, name each S1…Sn here before the first is opened and use Part of #N.
  • Dependencies: the P5a issue
  • Acceptance criteria:
  • The command assembles only reviewed PR release-note entries for the selected release and preserves attribution/links.
  • A none disposition is excluded from user-facing notes but remains auditable; missing disposition is reported rather than silently omitted.
  • Repeated runs are deterministic and do not overwrite unrelated changelog content.
  • Help, reference docs and tests explain selection and failure behavior.
  • Validation:
  • Add fixtures for release entry, reasoned none, missing entry, duplicate entry and stable ordering.
  • Run focused command tests and verify the resulting changelog diff.
  • Run git diff --check.
  • Risks and rollback: Incorrectly assembled notes can misstate shipped behavior. Keep output reviewable and non-publishing; revert the command if its source entries are ambiguous.
  • Decision impact: No decision is accepted merely by implementing the issue. Record the relevant accepted decision/ADR and file a superseding record if the maintainer approves a change.

Activity

  1. self-assigned this
    on Nov 10, 2026
  2. moved this to Backlog in baseon Nov 10, 2026
  3. added this to the v1.11.0 milestone on Nov 11, 2026
  4. codeforester commented on Nov 11, 2026

    @codeforester
    CollaboratorAuthor

    Pre-Triage review against the accepted plan (#2664, tracker #2665)

    1. The command already exists. basectl release notes is in release.sh:11 ("Print the changelog notes for the target version"). docs/command-reference.md:259 and docs/release-process.md:103 list it among the read-only inspection commands. This issue's criteria imply writing CHANGELOG.md. Decide in Triage between two options:
      • an additive mode, either a new subcommand or an explicit flag;
      • changing a documented read-only command, which needs stability-tier handling and a migration note.
    2. Cut-over. PRs merged before Define the pull request template and documentation-impact contract #2669 have no release-note line. Define the first release that is assembled this way. Notes for earlier PRs come from the hand-written CHANGELOG.
    3. Data source. The lines come from merged PR bodies through the GitHub API. Specify the behavior offline and under rate limits; the v1.10.4 recovery release was caused by GraphQL rate limiting.
    4. Design B9 rules to add as criteria:
      • group entries by issue type, in Keep a Changelog style;
      • the release-prep PR may edit wording but never add unrecorded changes.
    5. One owner per check. Release-note checks are also planned in Validate pull request impact, acceptance and release-note evidence #2572 (per PR) and Check decision and release-note records for changed contracts #2679. Suggested split:

    Dependencies text. Replace the P5a issue with #2669. The native blocked-by links are already correct; the body is what a reviewer reads.

    Contract text. The Impact, Scope and Open questions sections are still the shared template text. The Impact section is identical in 24 of #2666–#2690, and Scope repeats Expected behavior. That's fine in Backlog. Before Ready, replace each with this issue's own dispositions. Likely impacts here: categories 4 and 10, since the change is user-visible.

    Claude Code (Opus 5.5), reviewing from Ramesh's account at his request. This review comes before Triage, so it is not an issue-loop round.

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

Metadata

Metadata

Assignees

Labels

enhancementNew feature or product improvement

Type

Projects

  • Status
    Backlog

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions