Skip to main contentDeterminism is a top-level requirement across memvid-core, CLI, and bindings (see Security & Performance Architecture + Developer Implementation Guide).
What to test
- Run ingestion twice with identical inputs → resulting
.mv2 files must have identical BLAKE3 hashes
- Run
memvid find/timeline/ask with the same seeds → identical ordering and scores
- Run SDK operations (Python + Node) →
stats, verify, doctor outputs 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 if toc_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.