PanorAi 3.1.0 release checklist¶
This checklist is the release gate for PanorAi 3.1.0. Do not create the tag or publish a GitHub release while any required item remains unchecked.
Every checked item must link to evidence for one exact reviewed commit. Results
from a dirty checkout, editable install, stale dist/ archive, or local SCM
development version do not satisfy a release item.
Candidate identity and review¶
[ ] The exact release commit has been reviewed and contains every release input.
[ ] The release worktree has no uncommitted or untracked release changes.
[ ] A distinct reviewer has reproduced Gate 0 and Gates A-I.
[ ] The coordinator’s evidence ledger links every green gate to its commit, artifact checksum, environment, and evidence record; durable release evidence is also attached to the reviewed pull request or GitHub Release.
[ ] No pre-existing artifact in
dist/is being reused without verified provenance.
Repository and publisher setup¶
[ ] The
rlsgarcia-code/PanorAirepository is public and the default branch contains the reviewed release changes.[ ] The GitHub environments
testpypiandpypiexist.[ ] The
pypienvironment requires approval fromrlsgarcia-code.[ ] Trusted Publishing on TestPyPI targets owner
rlsgarcia-code, repositoryPanorAi, workflowpython-publish.yml, environmenttestpypi.[ ] Trusted Publishing on PyPI targets owner
rlsgarcia-code, repositoryPanorAi, workflowpython-publish.yml, environmentpypi.[ ] GitHub Pages is configured to use GitHub Actions as its source.
Code and compatibility¶
[ ] The complete legacy and canonical test suite passes.
[ ] Python 3.10, 3.11 and 3.12 core jobs pass.
[ ] The Torch CPU parity and autograd job passes.
[ ] The geometry-v1 conformance runner passes.
[ ] The conformance runner passes against an installed wheel from outside the source repository and cannot resolve imports to the checkout.
[ ] Imports work without Torch and Open3D installed.
[ ] Legacy exports and all defined samples in the public 3.0.19 projection fixture remain unchanged; the documented
x_points/y_pointsand zero-radiusNaNdefects are corrected.[ ] Stable blenders consume explicit masks and pass end-to-end tests with real projectors; all remaining legacy/experimental blenders are visibly labeled.
[ ] Black RGB, zero labels, zero radial ranges,
NaN, and unsupported regions have explicit tested semantics.
Licensing and package identity¶
[ ] Every third-party source tree in wheel and sdist has recorded origin, version/commit, modifications, license, notice obligations, and distribution decision.
[ ] Required third-party licenses and notices are included in the artifacts.
[ ] No non-commercial or share-alike material is represented by an MIT-only package claim.
[ ] Any adapter-only or excluded legacy component has user approval and a name-by-name 3.0 compatibility assessment.
[ ] The wheel and sdist contain the four lazy depth loaders/registry keys and PCD surface, but no Depth Anything V2, DUSt3R/CroCo, Metric3D, legacy ZoeDepth, training, trainer, or custom-data tree.
[ ] Package metadata and public documentation accurately describe all shipped licensing terms.
Artifact validation¶
[ ] Wheel and sdist were built exactly once in a clean environment from the release commit.
[ ] Both artifacts report version exactly
3.1.0, with no.devor local version segment.[ ] Filenames, sizes, SHA-256 checksums, member inventories, build command, and build environment are recorded.
[ ] The candidate artifacts pass
twine check.[ ] The wheel is at most 2 MB and the sdist is at most 5 MB.
[ ] The artifact audit finds no datasets, checkpoints, caches, notebooks, media, PyArmor output,
panorai_models, orZoeDepth_not_used.[ ] The wheel installs in empty Python 3.10, 3.11 and 3.12 environments.
[ ]
panorai.__version__equals the installed distribution metadata.[ ] NumPy and Torch smoke tests pass from the installed wheel.
[ ] Smoke tests run outside the repository and verify the imported file comes from the clean environment’s site-packages.
[ ] The documentation builds successfully without critical warnings.
[ ] Functional, projector, container, RGB, depth, mask, label, cubemap, batch, and autograd examples execute against the installed wheel.
Pre-merge continuous integration¶
[ ] Pull requests and relevant pushes run Python 3.10-3.12 core tests.
[ ] Torch CPU parity/autograd, installed-wheel conformance, documentation, package-content, and license jobs are required before merge.
[ ] The release workflow remains the only publishing workflow and publication is triggered only by
release.published.
Publication¶
Create the signed tag
v3.1.0on the exact reviewed commit.Publish one GitHub Release for
v3.1.0; this is the only release workflow trigger.Confirm that the workflow builds the wheel and sdist exactly once and records their SHA-256 checksums.
Confirm publication of those exact checksums to TestPyPI.
Run and inspect the TestPyPI NumPy/Torch smoke job from a clean environment.
Confirm the TestPyPI-installed artifacts match the recorded filenames, versions, and checksums.
Approve the protected
pypienvironment only after every preceding job is green.Confirm that PyPI, the tag, the GitHub Release artifacts, checksums, and provenance all identify the same commit and version.
Confirm that the documentation was deployed to GitHub Pages.
Install
panorai==3.1.0from PyPI in a new environment and rerun the public NumPy and Torch smoke examples.
Post-release work (not a 3.1.0 publication gate)¶
Expand the contract fixtures and independent conformance runner as consumers report real-world cases.
Publish the planned NumPy/Torch comparison with py360convert and pyequilib, including raw measurements, environment, hardware, median, and P95.
Validate adoption by two or three independent consumers pinned to
panorai~=3.1before planning 3.2.