# Evidence guide ## Lineage The public evidence set is intentionally small: 1. [`gms-selected-ids-0-99.json`](gms-selected-ids-0-99.json) is the historical stored result: 100 ordered Gaussian-mixture records, the selected configuration, source provenance, and reported aggregates. 2. [`validate_gms_selected_result.py`](validate_gms_selected_result.py) is the separate post-hoc validator, copied byte-for-byte from the local study. 3. [`gms-selected-ids-0-99-validation.json`](gms-selected-ids-0-99-validation.json) is the historical output from that validator. 4. [`verify_stored_gms_evidence.py`](verify_stored_gms_evidence.py) is a new, standard-library-only verifier for the preserved JSON record. 5. [`test_verify_stored_gms_evidence.py`](test_verify_stored_gms_evidence.py) is its focused standard-library test suite. The validator is intentionally separate from the JAX numerical runner. It recomputes strict-JSON checks, the 100 ordered raw records, aggregate statistics, paired intervals, and the recorded hashes of released source files. It does not run the numerical evaluation. ## Portability The validator is preserved as an audit artefact, not as a standalone Space application. It expects the released DiffRes checkout layout at the recorded commit and checks its Git identity and eight source/input hashes. The upstream source is deliberately not vendored in this package. Consequently, the bundled historical validation JSON is the inspection record for this static package; running the validator requires a separately obtained clean checkout at the recorded pin and a Python environment with SciPy. The self-contained verifier fills the package-only gap without changing the historical artefacts. From the package root, run: ```sh python3 evidence/verify_stored_gms_evidence.py python3 evidence/test_verify_stored_gms_evidence.py ``` It strictly parses the raw JSON, rejects duplicate keys and non-finite values, checks the declared configuration and ordered IDs `0`–`99`, and recomputes the method/metric aggregates, paired aggregates, and lower-counts. It has no network, source-checkout, third-party-package, numerical-run, or output-file dependency. It cannot validate the claimed source hashes against a checkout, prove execution provenance, or establish a paper result, statistical significance, or outperformance claim. ## Interpretation limits The stored result covers the selected 100-ID Gaussian-mixture configuration and the multinomial baseline. It does not supply a full Table 1 or Table 2 result, an independent numerical rerun, other baseline comparisons, a significance claim, or an outperformance claim. The paired 95% t intervals recorded by the validator cross zero for both metrics. ## Asset integrity Each transferred asset is listed with its source path, SHA-256, and transfer mode in the repository-root [manifest](../MANIFEST.md). The package-level [SHA-256 manifest](../MANIFEST.sha256) enables a local integrity check without executing either validator. The focused verifier tests run only with the Python standard library.