This repository was archived by the owner on Feb 21, 2026. It is now read-only.
Some clean-up - #45
Open
MeKo-Christian wants to merge 36 commits into
Open
Conversation
In August 2026 this family had drifted onto three different algo-fft versions at once -- algo-pde on v0.6.15, algo-dsp on v0.7.3, algo-acoustics on v0.6.11 -- while algo-fft main sat 97 commits past its latest tag and its CHANGELOG documented a v0.7.5 that was never tagged. Because PlanReal2D/PlanReal3D had gone generic between the v0.6 and v0.7 lines, no single upgrade anywhere would compile. It took a day and four coordinated releases to unpick. Three separate mistakes combined to cause that, so there are three checks: just check-unreleased work stuck on main that consumers cannot take just check-deps siblings left behind their latest tags just tag-release vX.Y.Z every release precondition, then tag and push The third is the forcing one. It refuses to tag on a dirty tree, an unpushed main, an existing or out-of-order tag, stale siblings, a missing CHANGELOG section, or an incompatible API change the version does not signal. That last rule is deliberately stricter than semver. Semver exempts v0.x -- "anything MAY change at any time" -- so gorelease approves a *patch* bump across a removed symbol. Every module here is v0.x, so that exemption is exactly the hole we fell through: KernelEightStep was removed and PlanReal2D became generic with nothing in the version saying so. The guard requires a minor bump for any incompatible change on v0.x. Verified against the real failure: replaying algo-fft v0.7.4 -> v0.7.6 detects "KernelEightStep: removed" and refuses, demanding v0.8.0, which is what we picked by hand. check-deps is wired into the aggregate local check recipe but NOT into pull-request CI, so a sibling tagging overnight cannot turn an unrelated PR red. A weekly scheduled workflow files an issue instead. Renovate groups the whole cwbudde family into one PR on purpose, since an incompatible algo-fft can arrive by two dependency paths at once and per-module PRs produce combinations that never build. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Same script ships in every sibling repo, so the fixes apply here too. The first one matters most: cmd_gate reported SUCCESS for a malformed version, because fail() ends in an assignment and the bare `return` therefore yielded 0 — so `tag` went straight on to git tag and git push without a passing gate. * cmd_gate returns 1 explicitly, and cmd_tag checks the gate rather than relying on errexit, which the dispatcher's `||` list disables. * Fetch tags before reading the base version, and fail if the fetch fails, so a release tagged elsewhere cannot be compared against a stale predecessor. * Accept v0.x -> v1.0.0; only minor components were compared before. * Require a heading boundary when matching the CHANGELOG section, in both the gate and the tag-annotation extractor, so `## 0.8.0-rc1` no longer passes as 0.8.0 or supplies its release notes. Dots are escaped as [.] so they match literally in grep and awk alike. * unreleased returns non-zero past UNRELEASED_THRESHOLD (default 20) and dep-drift.yml keys on it, so untagged work can actually raise the issue the workflow promises. * Correct the stale `just release` reference and a typo in AGENTS.md.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is not meant to get merged actually, but a request for collaboration
I would like to collaborate on the go-audio project. I could bring in 25 years of experience in the audio dsp field