Skip to content

fix(setup): treat -next as a non-orderable prerelease tag like -dev - #2897

Draft
gmoncor wants to merge 1 commit into
bmad-code-org:devfrom
gmoncor:fix/s01-11-treat-next-as-non-orderable
Draft

gmoncor wants to merge 1 commit into
bmad-code-org:devfrom
gmoncor:fix/s01-11-treat-next-as-non-orderable

Conversation

@gmoncor

@gmoncor gmoncor commented Sep 17, 2026

Copy link
Copy Markdown

What: Extend parse_orderable_semver's exclusion check to also treat "-next" as non-orderable, alongside the existing "-dev" check.

Why: Every packaged module-manifest.toml currently sets version = "6.13.0-next" as a moving-target placeholder tag exactly like -dev; without this fix, comparisons involving -next can behave inconsistently with the repo's own -dev handling.

How:

  • Change the check in parse_orderable_semver to test for both "-dev" and "-next".
  • Add a test asserting setup.compare_semver("1.0.0-next","1.0.0") is None, mirroring the existing -dev assertion.
  • Do not generalize to -rc or other hyphenated prereleases, which the existing suite intentionally keeps orderable.
  • The exclusion targets the bare "-next" prerelease tag only (matching the placeholder's exact shape); "-next.N" prerelease channels stay orderable, as already pinned by tools/tests/test_stamp_release.py's InstallerContractTests.

Testing: Ran tools/tests/test_bmad_setup.py; new assertion fails before the fix and passes after. Ran the full suite before/after on this Windows checkout and diffed the failing-test sets: identical (56 preexisting, all Windows-environment-specific: path separators, symlinks, CRLF, chmod/atomic-write) -- no new or fixed failures either direction.

🤖 Generated with Claude Code

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant