What to test
- Run ingestion twice with identical inputs → resulting
.mv2files must have identical BLAKE3 hashes - Run
memvid find/timeline/askwith the same seeds → identical ordering and scores - Run SDK operations (Python + Node) →
stats,verify,doctoroutputs should match CLI JSON exactly
Suggested harness
Run the determinism harness in CI (the same workflow invoked before every release) to compare hash outputs between builds. The suite should fail iftoc_checksum, merkle_root, or ticket_ref fields differ.
Dependencies - Avoid #[serde(skip)] or conditional compilation in serialized structs. The Developer Implementation Guide calls out how serde + bincode must be used to keep layouts stable.