Skip to content

kernel: align VERSION with the beta target (0.0.1.dev0) and document the versioning scheme - #71

Merged
JArmandoAnaya merged 1 commit into
mainfrom
task/2-version-alignment
Jul 26, 2026
Merged

kernel: align VERSION with the beta target (0.0.1.dev0) and document the versioning scheme#71
JArmandoAnaya merged 1 commit into
mainfrom
task/2-version-alignment

Conversation

@JArmandoAnaya

@JArmandoAnaya JArmandoAnaya commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

VERSION was bootstrapped at 0.1.0.dev0, which sorts above the 0.0.1-beta release
target and therefore blocks tagging any v0.0.1-alpha.N. This drops it to 0.0.1.dev0
and resyncs everything derived from it.

Changes

  • VERSION0.0.1.dev0; frontend packages resynced to 0.0.1-dev.0; openapi.json
    regenerated (its info.version is derived from VERSION, so it drifts on every bump).
  • scripts/sync_versions.mjs: the PEP 440 → npm mapping now covers a/b/rc as well as
    .devN, so the documented beta mapping (0.0.1b10.0.1-beta.1) actually works.
    Unmappable versions throw instead of being written verbatim into a package.json.
  • New pnpm version:check (--check mode), wired into CI as a drift gate so a VERSION
    bump without pnpm version:sync fails the build.
  • Tests: tests/scripts/sync_versions.test.mjs (node:test) covers the mapping;
    tests/test_versioning.py covers VERSION → installed distribution → visionset --version.
  • CONTRIBUTING: full versioning section — the PEP 440 ↔ npm table, and the tag-vs-publish
    scheme (v0.0.1-alpha.N are git tags only, never published; the beta is 0.0.1b1 on
    PyPI / 0.0.1-beta.1 on npm, lockstep across the monorepo).

Gates

uv run pytest (29 passed, incl. 3 new) · uv run lint-imports (2 contracts kept) ·
uv run mypy src/visionset/kernel + src/visionset · uv run ruff check . /
ruff format --check · pnpm -r lint · pnpm -r build · pnpm test · pnpm version:check

Closes #2

… the scheme

VERSION was bootstrapped at 0.1.0.dev0, which sorts above the 0.0.1-beta
release target and blocks tagging v0.0.1-alpha.N. Drop it to 0.0.1.dev0 and
resync every derived version.

- generalize the PEP 440 -> npm mapping in scripts/sync_versions.mjs to cover
  a/b/rc, so the documented beta mapping (0.0.1b1 -> 0.0.1-beta.1) actually
  works; unmappable versions now throw instead of landing in a package.json
- add `pnpm version:check`, wired into CI as a drift gate
- cover the mapping with node:test and the VERSION/__version__/CLI chain with
  pytest
- document the tag-vs-publish scheme in CONTRIBUTING
@JArmandoAnaya
JArmandoAnaya merged commit 50ec450 into main Jul 26, 2026
3 checks passed
@JArmandoAnaya
JArmandoAnaya deleted the task/2-version-alignment branch July 26, 2026 09:20
JArmandoAnaya added a commit that referenced this pull request Aug 21, 2026
… the scheme (#71)

VERSION was bootstrapped at 0.1.0.dev0, which sorts above the 0.0.1-beta
release target and blocks tagging v0.0.1-alpha.N. Drop it to 0.0.1.dev0 and
resync every derived version.

- generalize the PEP 440 -> npm mapping in scripts/sync_versions.mjs to cover
  a/b/rc, so the documented beta mapping (0.0.1b1 -> 0.0.1-beta.1) actually
  works; unmappable versions now throw instead of landing in a package.json
- add `pnpm version:check`, wired into CI as a drift gate
- cover the mapping with node:test and the VERSION/__version__/CLI chain with
  pytest
- document the tag-vs-publish scheme in CONTRIBUTING
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.

kernel: align VERSION with the beta target (0.0.1.dev0) and document the versioning scheme

1 participant