Skip to content

Release and versioning

Core follows the coordinated package-family release identity. The version is resolved from Git tags through hatch-vcs. A v<version> tag identifies the source revision shared with the coordinated package family. The fallback value in package metadata exists for source archives without repository history; it is not a second version authority. A Core release is trustworthy only when its scientific meaning, executable interfaces, and published artifacts agree at that version.

Release classification

Classify changes by their consumer consequence:

Class Examples Evidence
implementation faster indexing with identical results reference-result and performance comparison
additive new command or optional result field API/CLI snapshots and old-consumer proof
narrowing stricter validation or reduced accepted notation rejected-case inventory and migration guidance
scientific changed algorithm, threshold, normalization, or uncertainty benchmark and interpretation dossier
breaking removed symbol, renamed column, changed persisted meaning compatibility route and explicit release notice

Scientific notes identify whether an effect concerns accuracy, robustness, interpretability, or implementation only. Performance claims include the data shape and measurement conditions; they are not inferred from code structure.

Build the evidence chain

flowchart LR
    cases["curated scientific cases"]
    contracts["API and CLI contracts"]
    artifacts["serialized artifact proof"]
    aliases["compatibility alias proof"]
    dist["wheel and sdist"]
    install["isolated consumer check"]
    cases --> contracts --> artifacts --> aliases --> dist --> install

Run the package release gates from the repository root:

make test PACKAGE=bijux-proteomics-core
make quality PACKAGE=bijux-proteomics-core
make api PACKAGE=bijux-proteomics-core
make build PACKAGE=bijux-proteomics-core
make test PACKAGE=proteomics-core

Select additional benchmark or regression routes for the scientific domains that changed. The general package suite establishes breadth; it does not replace domain evidence for a new calculation or decision threshold.

Changelog and downstream impact

Update packages/bijux-proteomics-core/CHANGELOG.md with the owning domain, affected inputs and outputs, scientific interpretation, compatibility class, and required action. Name downstream impact on Runtime, Intelligence, Knowledge, or Lab when their artifacts or decisions consume the changed Core contract.

Keep release wording aligned with the repository's current capability limits. A new parser or report does not establish end-to-end biological validity, and a passing benchmark does not establish performance outside its declared regime.

After publication, install the exact wheel in an empty environment, import the curated root, invoke the CLI for an affected workflow, and compare a representative result with the release evidence. Verify proteomics-core separately when its forwarded surface changed. These checks prove what a consumer receives, not only what the source tree contained.