Skip to content

Release and Versioning

bijux-canon-reason derives its distribution version from the repository-wide v<version> tag. A reasoning release binds model contracts, canonicalization, bundle files, verification policy, CLI and HTTP behavior, and replay semantics to one tagged source state.

flowchart LR
    C[Reasoning contracts and changelog] --> T[Repository release tag]
    T --> B[Build wheel and source distribution]
    B --> G[Verify version and contents]
    G --> P[PyPI]
    G --> H[GHCR release bundle]
    G --> R[GitHub Release assets]

What constitutes a reasoning release change

Changed surface Release significance
ProblemSpec, plan, claim, trace, support, or report model public data-contract change
canonical JSON, JSONL, fingerprint, or checksum inputs identity and replay change
evidence path, span, digest, or manifest behavior bundle-integrity change
verifier check, severity, or policy acceptance interpretation change
CLI option, exit status, or artifact layout automation and custody change
HTTP route or envelope service contract change
runtime or retrieval default reproducibility and external-dependency change

Describe the caller-visible consequence in packages/bijux-canon-reason/CHANGELOG.md. State whether existing bundles can still be verified and replayed, whether a migration is available, and which identity-bearing files will differ.

Version and artifact guards

Hatch VCS resolves the package version from Git. Untagged or dirty source may produce development or local version markers; publication rejects those unless the workflow explicitly permits them. The publication guard also checks that wheel and source distribution filenames match the resolved version.

Changing a fallback string is not a release. Tag, metadata, changelog, installed version, and built artifact names must identify the same release.

Focused release evidence

make test PACKAGE=bijux-canon-reason
make lint PACKAGE=bijux-canon-reason
make quality PACKAGE=bijux-canon-reason
make api PACKAGE=bijux-canon-reason
make build PACKAGE=bijux-canon-reason

Inspect the built distributions for the complete package, py.typed, CLI entry points, license, README, and any package data required by the API or artifact contracts. Install the wheel in an isolated environment and prove that run, verify, and replay agree on one retained bundle.

Compatibility and publication

The package also installs the bijux-rar command as a compatibility entry point. New command and artifact meaning begins in bijux-canon-reason; the alias must not create a separate verifier or replay policy.

The same staged distributions feed PyPI, GHCR release bundles, and GitHub Release assets. Publication to several custody surfaces does not multiply the implementation or strengthen its truth claims.

A release is incomplete if an existing bundle changes meaning without a versioned contract, explicit incompatibility, and reader-visible migration or retention guidance.