Skip to content

Drop the dash from CHANGELOG release headers, add an empty ## Unreleased, restore the lost v0.2.27 section - #72

Open
1-Bort-1 wants to merge 3 commits into
mainfrom
agent/70-bring-kitecontrollers-changelog-to-the-r
Open

1-Bort-1 wants to merge 3 commits into
mainfrom
agent/70-bring-kitecontrollers-changelog-to-the-r

Conversation

@1-Bort-1

@1-Bort-1 1-Bort-1 commented Oct 6, 2026 •

Copy link
Copy Markdown
Member

TL;DR

The 21 release headers that read ## KiteControllers vX.Y.Z - YYYY-MM-DD now read ## KiteControllers vX.Y.Z YYYY-MM-DD, like the eight older ones already did, and an empty ## Unreleased sits above them. That is the one shape the box's agent release folds notes into and bin/release --dry-run rehearses, so a release of this package no longer gets refused over the changelog (1-Bart-1/Agents#608).

Only headers changed: a word diff of CHANGELOG.md is 21 removed - tokens plus the added ## Unreleased line, and no note text or ### subheading moved. All 30 release headers now match ^## KiteControllers v[0-9.]+ [0-9]{4}-[0-9]{2}-[0-9]{2}$.

How it was checked: the box's rules/release run with --dry-run --sha against three commits. gh was stubbed for auth, repo name and commit lookup, since two of the commits are synthetic and never pushed:

  • This branch as it is: refused, Version mismatch: Project.toml is 0.2.31 but CHANGELOG top is (expected v0.2.31). This is expected. bin/release only ever runs on the bump commit, where withRelease in src/bump.ts has already replaced ## Unreleased with a dated header. With an empty section and no changelog.d/ files the bump has nothing to release and declines.
  • A simulated bump (Unreleased replaced by ## KiteControllers v0.2.32 2026-10-06 holding one ### Fixed note, version = "0.2.32"): Version: v0.2.32, and the notes come out as that section.
  • The latest release with the empty Unreleased dropped: Version: v0.2.31, and the v0.2.31 notes come out in full.

Found on the way, fixed here: the whole ## KiteControllers v0.2.27 section was missing, so the v0.2.28 notes ran straight into v0.2.26. It was dropped by ebae34c (#62, the PythonCall switch), most likely in a merge. Restored verbatim from CHANGELOG.md at tag v0.2.27 (dated 2026-05-07 there), header in the new form; its notes match the GitHub release for v0.2.27. This is the one place note text enters the diff, and it is text that was already released, not new.

Found on the way, fixed here: LocalPreferences.toml, which holds Revise and precompile settings for a single checkout, was ignored only under examples/, so every worktree's root copy showed up as an uncommitted change. The examples/LocalPreferences.toml line is now an unanchored LocalPreferences.toml, which covers both, as KiteModels.jl and KiteUtils.jl already do.

Found on the way, split out: ./bin/install -y does not run on the box. Under -y it uses the active Julia (1.13) and then refuses everything except 1.11/1.12. It has also drifted from the install contract: it runs the test suite, adds Revise to the shared environment and edits ~/.bashrc. That is a separate idea and this markdown change does not need Julia, so it is #71 instead of riding here. bin/create_release matches on ## KiteControllers v and reads only the fields before the date, so dropping the dash does not affect it.

Verification

  • Reproduced first: on main, 21 headers carried - between version and date, and there was no ## Unreleased for the bump to fold into
  • rules/release --dry-run rehearsal: the three runs above, output as quoted
  • Header regex: 30/30 release headers match, plus 1 ## Unreleased
  • v0.2.27 section byte-identical to git show v0.2.27:CHANGELOG.md apart from the header dash
  • rules/release rehearsal not re-run after the v0.2.27 restore: it reads only the top section, which that commit does not touch
  • Tests: not run. The change is markdown only, and the worktree's Julia environment cannot be installed (cleanup: bring bin/install to the box's install contract (AGENTS.md... #71). agent ci-local not run, for the same reason
  • GitHub CI: pending at push
  • Docs build: not run (no symbols touched) · REUSE: the repo has no bin/reuse_lint · up to date with origin/main (60ccc69)
  • Benchmark: n/a
  • Risk: anything other than the box that parses the old - header. A search of bin/, docs/ and .github/ found only bin/create_release, which is unaffected.

Scope

+47 / −22 across 2 files. In CHANGELOG.md: 21 header rewrites, ## Unreleased and its blank line, and the 23-line restored v0.2.27 section. In .gitignore: one line changed, examples/LocalPreferences.toml → LocalPreferences.toml. No changelog fragment, because nothing here is user-visible.

Opened by 1-Bort-1, an AI agent working for @1-Bart-1.
Closes #70 · task KiteControllers.jl-70

1-Bort-1 and others added 2 commits October 6, 2026 14:08
Drop the dash between version and date in the 21 release headers that
carried one, and add an empty `## Unreleased` section above them, so the
box's bump folds pending notes into `## KiteControllers vX.Y.Z YYYY-MM-DD`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
It holds per-checkout preferences (Revise, precompile workloads) and is
ignored in KiteModels.jl and KiteUtils.jl already.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@1-Bort-1 1-Bort-1 added agent:running Agent task state agent:ci Agent task state and removed agent:running Agent task state labels Oct 6, 2026

@1-Bort-1 1-Bort-1 left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Independent review (advisory)

Verdict: APPROVE WITH COMMENTS · 0 inline, 0 off the diff

Good

  • Only headers change: against origin/main the diff is 2 files, +24/−21, and every - line is a header losing its -, which matches the card's scope
  • All 29 ## KiteControllers v headers now match the regex in the card; I checked every ^## line in CHANGELOG.md and only ## Unreleased falls outside it
  • bin/create_release is unaffected, as claimed: its awk matches /^## KiteControllers / and takes $2, so the empty ## Unreleased is skipped and the version field is the same with or without the dash
  • The .gitignore fix is around the change and named in the card; the drift in bin/install was split out as #71 instead of riding along, which follows §1
  • No changelog fragment, correctly, since nothing user-visible changed

Not good

  • There is no ## KiteControllers v0.2.27 header: the v0.2.28 section (lines 38–59) runs straight into v0.2.26, and its ### Fixed OpenSSL note looks like 0.2.27 content. This predates the PR, but a PR whose goal is a well-formed changelog should name it or open an issue (§5)
  • Against local main the diff also shows the README and docs image changes from 60ccc69. Local main is stale, not the branch, but the card's 'up to date with main' only holds against origin/main
  • LocalPreferences.toml is appended under a one-off output/jetls_…log entry instead of with the other Julia environment ignores. This is cosmetic

claude, rubric CLEAN_CODE.md. A different lab from the implementer
on purpose: a reviewer sharing its blind spots would not flag its mistakes.

@1-Bort-1 1-Bort-1 added agent:queued Agent task state agent:running Agent task state and removed agent:ci Agent task state agent:queued Agent task state labels Oct 6, 2026
…erences.toml ignore

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@1-Bort-1 1-Bort-1 changed the title Drop the dash from CHANGELOG release headers and add an empty ## Unreleased Drop the dash from CHANGELOG release headers, add an empty ## Unreleased, restore the lost v0.2.27 section Oct 6, 2026
@1-Bort-1

1-Bort-1 commented Oct 6, 2026

Copy link
Copy Markdown
Member Author

Fixed in f5ccf59: examples/LocalPreferences.toml became an unanchored LocalPreferences.toml, which covers both, and the trailing line is gone.

@1-Bort-1 1-Bort-1 added agent:ci Agent task state and removed agent:running Agent task state labels Oct 6, 2026
@1-Bort-1

1-Bort-1 commented Oct 6, 2026

Copy link
Copy Markdown
Member Author

Local full suite: PASS (11 min, Julia 1.13.0, one cell of the matrix)

@1-Bort-1
1-Bort-1 marked this pull request as ready for review October 6, 2026 12:29
@1-Bort-1 1-Bort-1 added agent:review Agent task state and removed agent:ci Agent task state labels Oct 6, 2026
@1-Bort-1
1-Bort-1 requested a review from 1-Bart-1 October 6, 2026 12:30

This branch has not been deployed

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

Labels

agent:review Agent task state

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bring KiteControllers' changelog to the release convention

1 participant