Part of #108 · Phase 7
Goal
Cut a release whose claims are all true, then define what v1.0 requires.
v0.2.0 — "honest beta"
The point is not new features. It is that the package's advertised surface equals its working surface.
v1.0.0 exit criteria
Inherited from #108, restated here as the release gate. All must hold:
pip install -e ".[dev]" on a clean machine, then the documented test command, runs the suite to completion — with zero network calls to billable services
- CI executes >95% of the test suite on every PR; no
continue-on-error anywhere
- Zero failing tests, zero collection errors
unittest.mock appears zero times in clustrix/
- Every backend claimed in
README.md has a test that actually executed it end to end, with a dated CI run link as evidence
- Coverage measured, published, and gated at a threshold the project meets, ratcheting upward only
- Every
README.md example executed by a doc test in CI
- One source of truth for the version
- Secret scanning + push protection enabled; no plaintext credential ever written world-readable
- The remote->local trust boundary documented and either authenticated or explicitly opt-in
- Red-team report complete, findings resolved with regression tests
Deliberately not in scope
Feature work. The audit found ~5,100 lines of orphaned modules and four broken backends; the fastest route to a credible v1.0 is subtraction, not addition. New backends and the widget re-platform proposed in #67 belong after 1.0.
Part of #108 · Phase 7
Goal
Cut a release whose claims are all true, then define what v1.0 requires.
v0.2.0 — "honest beta"
The point is not new features. It is that the package's advertised surface equals its working surface.
setup.pyremoved in favor ofpyproject.tomlREADME.mddescribes only what is verified working, with every example executed in CINotImplementedErrordoes not exist on any advertised pathrequires-pythonraised to a supported floor; classifiers match the tested matrixpip install clustrixin a fresh venv -> the README quickstart runs to completiondocs/source/conf.pyversion matches the releasev1.0.0 exit criteria
Inherited from #108, restated here as the release gate. All must hold:
pip install -e ".[dev]"on a clean machine, then the documented test command, runs the suite to completion — with zero network calls to billable servicescontinue-on-erroranywhereunittest.mockappears zero times inclustrix/README.mdhas a test that actually executed it end to end, with a dated CI run link as evidenceREADME.mdexample executed by a doc test in CIDeliberately not in scope
Feature work. The audit found ~5,100 lines of orphaned modules and four broken backends; the fastest route to a credible v1.0 is subtraction, not addition. New backends and the widget re-platform proposed in #67 belong after 1.0.