The gates
Both must pass from the repository root before anything is proposed:
Green means green. Torch- and Qdrant-gated tests may skip; nothing may fail, and no suite may error at collection.
tests/test_cpnp_determinism.py is the thesis test — strip descriptive metadata and content_hash moves while pixel_hash does not. If it fails, nothing else about the change matters, and no other result is worth reporting until it passes.
To run the validator out of the tree (this .venv deliberately has no pip and no setuptools, so pip install -e and the ver-validate console script are not available in it):
CI (`.github/workflows/ci.yml`) runs four jobs — lint, standards, federation-offline, and a Qdrant integration job with a real qdrant/qdrant:v1.19.0 service. It runs the same test commands you just ran — the standards job names its files explicitly rather than relying on discovery, and the only things CI does that you did not are environment setup (its own venv, exiftool install, the Qdrant service container).
