From 62b46ecb8afc1effffaa61a426ec51ba89e50e5e Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 12:52:30 -0500 Subject: [PATCH 01/28] fix: derive artifact read bounds from declared sizes in ordvec-manifest Verification now bounds every artifact read by its manifest-declared file_size_bytes (manifest hard-capped at 1 MiB; SHA-256 pins content); creation bounds reads by the observed file size. Flat ResourceLimits byte caps become opt-in ceilings (default unbounded). The primary artifact read, previously unbounded, gains a declared-size bound and the artifact_file_too_large reason code. sha256_file_bounded now streams with constant memory instead of materialising files. Fixes the undocumented 64 MiB auxiliary cap that made sign-sidecar bundles impossible to write past 524,288 rows at dim=1024 (measured on a 1,258,135-row corpus). --- CHANGELOG.md | 20 ++- THREAT_MODEL.md | 13 ++ ordvec-manifest/README.md | 12 +- ordvec-manifest/src/lib.rs | 68 ++++++-- ordvec-manifest/tests/derived_limits.rs | 197 ++++++++++++++++++++++++ ordvec-manifest/tests/manifest.rs | 17 +- 6 files changed, 303 insertions(+), 24 deletions(-) create mode 100644 ordvec-manifest/tests/derived_limits.rs diff --git a/CHANGELOG.md b/CHANGELOG.md index b75da59..9bcc1cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -_No unreleased changes._ +### Changed + +- **ordvec-manifest: derived artifact size bounds.** Verification now bounds + every artifact read by its manifest-declared `file_size_bytes` (the manifest + itself remains hard-capped at 1 MiB and SHA-256 pins content); manifest + creation bounds reads by the artifact's observed size. The flat + `ResourceLimits` byte caps (`max_auxiliary_artifact_bytes`, + `max_calibration_profile_bytes`, `max_encoder_distortion_profile_bytes`) + are now explicit opt-in ceilings and default to unbounded — previously the + 64 MiB auxiliary default made legitimate large sign sidecars (>524,288 rows + at dim=1024) impossible to write with default options. +- **ordvec-manifest: primary artifact reads are now bounded.** The primary + index artifact is hashed under its declared size (new + `artifact_file_too_large` reason code); previously this read was unbounded. + An artifact grown past its declaration now fails fast at the read bound + instead of surfacing as a digest mismatch after hashing the excess. +- **ordvec-manifest: bounded hashing streams with constant memory.** + `sha256_file_bounded` no longer materialises the file in memory before + hashing. ## 0.5.0 - 2026-06-19 diff --git a/THREAT_MODEL.md b/THREAT_MODEL.md index 9fa2344..eafa311 100644 --- a/THREAT_MODEL.md +++ b/THREAT_MODEL.md @@ -397,6 +397,19 @@ enforce service-level quotas — by design (it is a library, not a server). batch size, `k`, request rate, and corpus size; a configurable `max_nq` / `max_k` at the binding level is a possible future convenience. +**THREAT-QUERY-003 (P2): Artifact read bounds are derived, not flat.** +Verification bounds every artifact read by its manifest-declared +`file_size_bytes` (the manifest itself is hard-capped at 1 MiB before JSON +parsing, and SHA-256 pins artifact content); manifest creation bounds reads +by the artifact's observed size. Bounded hashing streams with constant +memory, so a hostile manifest cannot cause unbounded memory growth — but it +CAN still cause I/O and CPU proportional to the byte size it declares and +actually supplies on disk. The flat `ResourceLimits` byte caps are opt-in +ceilings (unbounded by default) for deployments that must bound worst-case +verification time on attacker-supplied bundles. A `VerifiedLoadPlan` remains +a verification snapshot, not a byte pin: bytes can change between +verification and use by a local actor with write access (see scope). + **THREAT-QUERY-002 (P3): Panic on contract violation in Rust server contexts.** Rust APIs fail fast on invalid contract input (non-finite floats, dimension / shape violations) via `assert!` / `expect`. In a Rust-native server an diff --git a/ordvec-manifest/README.md b/ordvec-manifest/README.md index 1e3952b..03c0eef 100644 --- a/ordvec-manifest/README.md +++ b/ordvec-manifest/README.md @@ -154,11 +154,17 @@ Stable limit codes are part of the contract: (`row_identity_duplicate_tracking_limit_exceeded`); - auxiliary artifact declarations: 1,024 (`auxiliary_artifact_count_limit_exceeded`); -- auxiliary artifact bytes per declared file: 64 MiB +- auxiliary artifact bytes per declared file: bounded by the + manifest-declared `file_size_bytes` on verify and by the observed file + size on create; the flat cap is an opt-in ceiling, unbounded by default (`auxiliary_artifact_file_too_large`); -- calibration profile artifact bytes: 64 MiB +- primary index artifact bytes: bounded by the manifest-declared + `file_size_bytes` on verify (`artifact_file_too_large`); +- calibration profile artifact bytes: bounded by the declared + `file_size_bytes`; flat cap opt-in, unbounded by default (`calibration_profile_too_large`); -- encoder distortion profile artifact bytes: 64 MiB +- encoder distortion profile artifact bytes: bounded by the declared + `file_size_bytes`; flat cap opt-in, unbounded by default (`encoder_distortion_profile_too_large`); - collected report issues: 1,024, after which a `verification_report_issue_limit_exceeded` issue is emitted; diff --git a/ordvec-manifest/src/lib.rs b/ordvec-manifest/src/lib.rs index be25a5f..0435cf3 100644 --- a/ordvec-manifest/src/lib.rs +++ b/ordvec-manifest/src/lib.rs @@ -36,9 +36,13 @@ pub const DEFAULT_MAX_ROW_IDENTITY_JSONL_LINE_BYTES: usize = 64 * 1024; pub const DEFAULT_MAX_ROW_IDENTITY_ROWS: usize = 10_000_000; pub const DEFAULT_MAX_ROW_IDENTITY_TRACKED_DB_ID_BYTES: usize = 64 * 1024 * 1024; pub const DEFAULT_MAX_AUXILIARY_ARTIFACTS: usize = 1024; -pub const DEFAULT_MAX_AUXILIARY_ARTIFACT_BYTES: u64 = 64 * 1024 * 1024; -pub const DEFAULT_MAX_CALIBRATION_PROFILE_BYTES: u64 = 64 * 1024 * 1024; -pub const DEFAULT_MAX_ENCODER_DISTORTION_PROFILE_BYTES: u64 = 64 * 1024 * 1024; +/// Artifact-file reads are bounded by the manifest-declared size on verify +/// and by the observed file size on create; these flat caps are opt-in +/// ceilings and default to unbounded. Streaming hashing keeps memory +/// constant regardless of artifact size. +pub const DEFAULT_MAX_AUXILIARY_ARTIFACT_BYTES: u64 = u64::MAX; +pub const DEFAULT_MAX_CALIBRATION_PROFILE_BYTES: u64 = u64::MAX; +pub const DEFAULT_MAX_ENCODER_DISTORTION_PROFILE_BYTES: u64 = u64::MAX; pub const DEFAULT_MAX_REPORT_ISSUES: usize = 1024; pub const DEFAULT_MAX_CACHED_REPORT_BYTES: u64 = 4 * 1024 * 1024; @@ -253,7 +257,15 @@ fn verify_manifest_with_path_capture( ) { paths.artifact_path = Some(resolved.canonical_path.clone()); report.artifact.canonical_path = Some(path_to_display(&resolved.canonical_path)); - match sha256_file(&resolved.canonical_path) { + // Bound the read by the manifest-declared size: a primary artifact + // larger than its declaration fails fast instead of being hashed in + // full (the read was previously unbounded). + match sha256_file_bounded( + &resolved.canonical_path, + document.manifest.artifact.file_size_bytes, + "artifact_file_too_large", + "index artifact", + ) { Ok(hash) => { report.artifact.sha256 = Some(hash.sha256.clone()); report.artifact.size_bytes = Some(hash.size_bytes); @@ -276,6 +288,7 @@ fn verify_manifest_with_path_capture( ); } } + Err(ManifestError::LimitExceeded { code, message }) => report.error(code, message), Err(err) => report.error( "artifact_hash_failed", format!("failed to hash artifact: {err}"), @@ -1223,7 +1236,9 @@ fn validate_encoder_distortion_profile_artifact( Some(path_to_display(&resolved.canonical_path)); match sha256_file_bounded( &resolved.canonical_path, - options.limits.max_encoder_distortion_profile_bytes, + profile + .file_size_bytes + .min(options.limits.max_encoder_distortion_profile_bytes), "encoder_distortion_profile_too_large", "encoder distortion profile", ) { @@ -1669,7 +1684,9 @@ fn validate_calibration_profile( Some(path_to_display(&resolved.canonical_path)); match sha256_file_bounded( &resolved.canonical_path, - options.limits.max_calibration_profile_bytes, + profile + .file_size_bytes + .min(options.limits.max_calibration_profile_bytes), "calibration_profile_too_large", "calibration profile", ) { @@ -1936,9 +1953,14 @@ fn verify_auxiliary_artifacts( AuxiliaryPathResolution::Resolved(resolved) => { captured_path = Some(resolved.canonical_path.clone()); entry.canonical_path = Some(path_to_display(&resolved.canonical_path)); + // Bound the read by the manifest-declared size (the manifest + // is the trust anchor; the SHA-256 pins content). A flat + // limit, when explicitly configured, remains a ceiling. match sha256_file_bounded( &resolved.canonical_path, - options.limits.max_auxiliary_artifact_bytes, + artifact + .file_size_bytes + .min(options.limits.max_auxiliary_artifact_bytes), "auxiliary_artifact_file_too_large", "auxiliary artifact", ) { @@ -3452,12 +3474,30 @@ pub fn sha256_file_bounded( context: &'static str, ) -> Result { let path = path.as_ref(); - let bytes = read_bounded_file(path, max_bytes, code, context)?; + let mut file = File::open(path)?; let mut hasher = Sha256::new(); - hasher.update(&bytes); + let mut size_bytes = 0u64; + let mut buf = [0u8; 64 * 1024]; + loop { + let n = file.read(&mut buf)?; + if n == 0 { + break; + } + size_bytes += n as u64; + if size_bytes > max_bytes { + return Err(ManifestError::limit_exceeded( + code, + format!( + "{context} exceeds {max_bytes} bytes while reading {}", + path.display() + ), + )); + } + hasher.update(&buf[..n]); + } Ok(FileHash { sha256: hex::encode(hasher.finalize()), - size_bytes: bytes.len() as u64, + size_bytes, }) } @@ -3648,9 +3688,15 @@ fn create_auxiliary_artifacts( "auxiliary artifact name {name:?} is duplicated" ))); } + // Create is a trusted context: bound the read by the artifact's own + // observed size (catching mid-hash growth), not a flat cap. An + // explicitly configured flat limit still applies as a ceiling. + let observed_len = fs::metadata(&artifact.path) + .map_err(ManifestError::from)? + .len(); let hash = sha256_file_bounded( &artifact.path, - options.limits.max_auxiliary_artifact_bytes, + observed_len.min(options.limits.max_auxiliary_artifact_bytes), "auxiliary_artifact_file_too_large", "auxiliary artifact", )?; diff --git a/ordvec-manifest/tests/derived_limits.rs b/ordvec-manifest/tests/derived_limits.rs new file mode 100644 index 0000000..2a8cff9 --- /dev/null +++ b/ordvec-manifest/tests/derived_limits.rs @@ -0,0 +1,197 @@ +//! Derived artifact size bounds: create bounds reads by the artifact's own +//! observed size, verify bounds reads by the manifest-declared size. The flat +//! `ResourceLimits` byte caps remain enforceable as explicit opt-in ceilings +//! but no longer reject large legitimate artifacts by default. + +use ordvec::RankQuant; +use ordvec_manifest::{ + create_manifest_for_index, create_manifest_for_index_with_options, verify_manifest_with_base, + CreateAuxiliaryArtifact, CreateManifestOptions, CreateRowIdentity, VerificationReport, + VerifyOptions, +}; +use std::fs; +use std::fs::OpenOptions; +use std::io::Write; +use std::path::{Path, PathBuf}; + +const LEGACY_AUX_CAP: u64 = 64 * 1024 * 1024; + +fn write_index(dir: &Path) -> PathBuf { + let path = dir.join("index.ovrq"); + let mut index = RankQuant::new(16, 2); + let docs: Vec = (0..32).map(|i| i as f32 - 12.0).collect(); + index.add(&docs); + index.write(&path).unwrap(); + path +} + +fn error_codes(report: &VerificationReport) -> Vec<&str> { + report + .errors + .iter() + .map(|issue| issue.code.as_str()) + .collect() +} + +fn create_with_aux(dir: &Path, aux_path: &Path) -> (ordvec_manifest::IndexManifest, PathBuf) { + let index = write_index(dir); + let manifest_path = dir.join("manifest.json"); + let manifest = create_manifest_for_index_with_options( + &index, + CreateRowIdentity::RowIdIdentity, + "test-embedding", + &manifest_path, + CreateManifestOptions { + auxiliary_artifacts: vec![CreateAuxiliaryArtifact { + name: "sidecar".to_string(), + path: aux_path.to_path_buf(), + required: true, + }], + ..CreateManifestOptions::default() + }, + ) + .unwrap(); + (manifest, manifest_path) +} + +/// Default options must accept auxiliary artifacts larger than the legacy +/// 64 MiB flat cap, end to end: create records the artifact, verify passes. +/// (A 1.26M-row dim=1024 sign sidecar is ~161 MB; the default cap made such +/// bundles impossible to write.) +#[test] +fn default_limits_accept_aux_artifact_above_legacy_cap() { + let temp = tempfile::tempdir().unwrap(); + let aux_path = temp.path().join("sidecar.bin"); + let aux_len = LEGACY_AUX_CAP + 4096; + let file = fs::File::create(&aux_path).unwrap(); + file.set_len(aux_len).unwrap(); + drop(file); + + let (manifest, _) = create_with_aux(temp.path(), &aux_path); + assert_eq!(manifest.auxiliary_artifacts.len(), 1); + assert_eq!(manifest.auxiliary_artifacts[0].file_size_bytes, aux_len); + + let report = verify_manifest_with_base(manifest, temp.path(), VerifyOptions::default()); + assert_eq!( + error_codes(&report), + Vec::<&str>::new(), + "expected clean verification for a {aux_len}-byte auxiliary artifact under defaults", + ); +} + +/// An auxiliary artifact that grew after manifest creation must be rejected +/// by the declared-size read bound (fail-fast, without hashing the excess), +/// keeping the established `auxiliary_artifact_file_too_large` reason code. +#[test] +fn verify_bounds_aux_read_by_declared_size_when_grown() { + let temp = tempfile::tempdir().unwrap(); + let aux_path = temp.path().join("sidecar.bin"); + fs::write(&aux_path, vec![7u8; 8192]).unwrap(); + + let (manifest, _) = create_with_aux(temp.path(), &aux_path); + + let mut file = OpenOptions::new().append(true).open(&aux_path).unwrap(); + file.write_all(&[7u8; 4096]).unwrap(); + drop(file); + + let report = verify_manifest_with_base(manifest, temp.path(), VerifyOptions::default()); + assert!( + error_codes(&report).contains(&"auxiliary_artifact_file_too_large"), + "grown artifact must fail the declared-size bound, got {:?}", + error_codes(&report), + ); + assert_eq!( + report.auxiliary_artifacts[0].reason_code.as_deref(), + Some("auxiliary_artifact_file_too_large"), + ); +} + +/// Regression guard: a truncated auxiliary artifact still fails verification +/// (size mismatch below the declared bound; the bound itself must not +/// misclassify a smaller-than-declared file). +#[test] +fn verify_rejects_truncated_aux_artifact() { + let temp = tempfile::tempdir().unwrap(); + let aux_path = temp.path().join("sidecar.bin"); + fs::write(&aux_path, vec![7u8; 8192]).unwrap(); + + let (manifest, _) = create_with_aux(temp.path(), &aux_path); + let file = OpenOptions::new().write(true).open(&aux_path).unwrap(); + file.set_len(4096).unwrap(); + drop(file); + + let report = verify_manifest_with_base(manifest, temp.path(), VerifyOptions::default()); + assert!( + error_codes(&report).contains(&"auxiliary_artifact_file_size_mismatch"), + "truncated artifact must fail size equality, got {:?}", + error_codes(&report), + ); +} + +/// Regression guard: a manifest whose declared auxiliary size was inflated +/// (bytes on disk unchanged) still fails the size-equality check even though +/// the SHA-256 matches. +#[test] +fn verify_rejects_inflated_declared_aux_size() { + let temp = tempfile::tempdir().unwrap(); + let aux_path = temp.path().join("sidecar.bin"); + fs::write(&aux_path, vec![7u8; 8192]).unwrap(); + + let (mut manifest, _) = create_with_aux(temp.path(), &aux_path); + manifest.auxiliary_artifacts[0].file_size_bytes = 1 << 30; + + let report = verify_manifest_with_base(manifest, temp.path(), VerifyOptions::default()); + assert!( + error_codes(&report).contains(&"auxiliary_artifact_file_size_mismatch"), + "inflated declaration must fail size equality, got {:?}", + error_codes(&report), + ); +} + +/// An explicitly configured flat cap remains an enforceable ceiling on +/// verify even when the declared size is within bounds. +#[test] +fn explicit_flat_cap_still_enforced_on_verify() { + let temp = tempfile::tempdir().unwrap(); + let aux_path = temp.path().join("sidecar.bin"); + fs::write(&aux_path, vec![7u8; 8192]).unwrap(); + + let (manifest, _) = create_with_aux(temp.path(), &aux_path); + let mut options = VerifyOptions::default(); + options.limits.max_auxiliary_artifact_bytes = 4096; + + let report = verify_manifest_with_base(manifest, temp.path(), options); + assert!( + error_codes(&report).contains(&"auxiliary_artifact_file_too_large"), + "explicit tight cap must still reject, got {:?}", + error_codes(&report), + ); +} + +/// The primary index artifact gains a declared-size read bound: a primary +/// artifact that grew after manifest creation fails fast with a dedicated +/// reason code instead of being hashed in full. +#[test] +fn verify_bounds_primary_read_by_declared_size_when_grown() { + let temp = tempfile::tempdir().unwrap(); + let index = write_index(temp.path()); + let manifest_path = temp.path().join("manifest.json"); + let manifest = create_manifest_for_index( + &index, + CreateRowIdentity::RowIdIdentity, + "test-embedding", + &manifest_path, + ) + .unwrap(); + + let mut file = OpenOptions::new().append(true).open(&index).unwrap(); + file.write_all(&[0u8; 4096]).unwrap(); + drop(file); + + let report = verify_manifest_with_base(manifest, temp.path(), VerifyOptions::default()); + assert!( + error_codes(&report).contains(&"artifact_file_too_large"), + "grown primary artifact must fail the declared-size bound, got {:?}", + error_codes(&report), + ); +} diff --git a/ordvec-manifest/tests/manifest.rs b/ordvec-manifest/tests/manifest.rs index 3a583e2..026acd0 100644 --- a/ordvec-manifest/tests/manifest.rs +++ b/ordvec-manifest/tests/manifest.rs @@ -2272,19 +2272,17 @@ fn verify_for_load_fails_closed_with_report_for_corrupted_artifact() { serde_json::to_string_pretty(&manifest).unwrap(), ) .unwrap(); - fs::OpenOptions::new() - .append(true) - .open(&index) - .unwrap() - .write_all(b"\0") - .unwrap(); + // Corrupt in place (same size): the declared-size read bound is + // satisfied, so verification proceeds to the digest and fails there. + let mut bytes = fs::read(&index).unwrap(); + bytes[0] ^= 0xFF; + fs::write(&index, &bytes).unwrap(); let err = verify_for_load(&manifest_path, VerifyOptions::default()).unwrap_err(); let VerifiedLoadPlanError::VerificationFailed(report) = err else { panic!("expected verification failure"); }; assert!(error_codes(&report).contains(&"artifact_sha256_mismatch")); - assert!(error_codes(&report).contains(&"artifact_file_size_mismatch")); } #[test] @@ -2328,8 +2326,9 @@ fn verify_for_load_plan_is_not_a_byte_pin() { let VerifiedLoadPlanError::VerificationFailed(report) = err else { panic!("expected verification failure"); }; - assert!(error_codes(&report).contains(&"artifact_sha256_mismatch")); - assert!(error_codes(&report).contains(&"artifact_file_size_mismatch")); + // The artifact grew past its declared size, so re-verification fails + // fast at the declared-size read bound. + assert!(error_codes(&report).contains(&"artifact_file_too_large")); } #[test] From f1409c790ea81cafdb5cd090e302fb8fda6f8a0a Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 12:55:29 -0500 Subject: [PATCH 02/28] test: pin sign candidate-generation contract ahead of tiled internals Independent oracle (score_all + full lexicographic sort by hamming asc, doc_id asc) pins top_m_candidates and top_m_candidates_batched_serial_csr exactly: random corpora across block boundaries, massive-tie and duplicate-run corpora exercising boundary tie-breaks, edge geometries (m >= n, single doc, empty batch), and the dim=1024 shape. Must pass bit-identically before and after the tiling swap. --- tests/tiled_candgen.rs | 157 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 157 insertions(+) create mode 100644 tests/tiled_candgen.rs diff --git a/tests/tiled_candgen.rs b/tests/tiled_candgen.rs new file mode 100644 index 0000000..5a416f5 --- /dev/null +++ b/tests/tiled_candgen.rs @@ -0,0 +1,157 @@ +//! Contract-pinning tests for sign candidate generation, written ahead of the +//! tiled internals swap of `top_m_candidates` / +//! `top_m_candidates_batched_serial_csr`. The oracle is independent of the +//! implementation under test: `score_all` (dense agreement counts) plus a +//! full lexicographic sort by `(hamming asc, doc_id asc)`. These tests pin +//! today's behavior exactly — including tie handling at the m-th position — +//! and must pass bit-identically before and after the swap. + +use ordvec::SignBitmap; + +/// Deterministic xorshift so corpora are reproducible without a rand dep. +struct XorShift(u64); + +impl XorShift { + fn next_f32(&mut self) -> f32 { + self.0 ^= self.0 << 13; + self.0 ^= self.0 >> 7; + self.0 ^= self.0 << 17; + // Map to [-1, 1) with plenty of sign variety. + ((self.0 >> 40) as f32 / 8_388_608.0) - 1.0 + } +} + +fn random_corpus(dim: usize, n: usize, seed: u64) -> Vec { + let mut rng = XorShift(seed | 1); + (0..n * dim).map(|_| rng.next_f32()).collect() +} + +/// Tie-heavy corpus: every coordinate is +/-1 drawn from a tiny pattern set, +/// so hamming distances collide massively and the (hamming, doc_id) +/// tie-break does real work at the selection boundary. +fn tie_heavy_corpus(dim: usize, n: usize) -> Vec { + (0..n) + .flat_map(|doc| { + let pattern = doc % 4; + (0..dim).map(move |c| { + if (c + pattern) % 3 == 0 { + -1.0 + } else { + 1.0 + } + }) + }) + .collect() +} + +fn oracle_top_m(sign: &SignBitmap, q: &[f32], m: usize) -> Vec { + let dim_u32 = u32::try_from(q.len()).unwrap(); + // score_all returns agreement (dim - hamming), higher is better. + let agreements = sign.score_all(q); + let mut ids: Vec = (0..agreements.len() as u32).collect(); + ids.sort_by_key(|&i| (dim_u32 - agreements[i as usize], i)); + ids.truncate(m.min(agreements.len())); + ids +} + +fn assert_contract(dim: usize, vectors: &[f32], queries: &[f32], m: usize, label: &str) { + let mut sign = SignBitmap::new(dim); + sign.add(vectors); + let nq = queries.len() / dim; + + // Single-query path. + for qi in 0..nq { + let q = &queries[qi * dim..(qi + 1) * dim]; + let got = sign.top_m_candidates(q, m); + let want = oracle_top_m(&sign, q, m); + assert_eq!(got, want, "{label}: single-query mismatch at query {qi}, m={m}"); + } + + // Batched serial CSR path: row qi must equal the single-query result. + let cb = sign.top_m_candidates_batched_serial_csr(queries, m); + assert_eq!(cb.offsets.len(), nq + 1, "{label}: CSR offsets length"); + for qi in 0..nq { + let row = &cb.candidates[cb.offsets[qi]..cb.offsets[qi + 1]]; + let want = oracle_top_m(&sign, &queries[qi * dim..(qi + 1) * dim], m); + assert_eq!(row, &want[..], "{label}: CSR row mismatch at query {qi}, m={m}"); + } +} + +/// Random corpus large enough to span many doc blocks under any plausible +/// tile size, at a SIMD-friendly dim. +#[test] +fn random_corpus_matches_oracle_across_block_boundaries() { + let dim = 128; + let n = 10_240; + let vectors = random_corpus(dim, n, 0xC0FFEE); + let queries = random_corpus(dim, 33, 0xBEEF); + for m in [1, 7, 256, 500] { + assert_contract(dim, &vectors, &queries, m, "random"); + } +} + +/// Massive hamming ties: selection at the boundary is decided purely by +/// doc_id ascending. This is the case a streaming collector most easily gets +/// subtly wrong. +#[test] +fn tie_heavy_corpus_selects_lowest_doc_ids_at_boundary() { + let dim = 64; + let n = 4_096; + let vectors = tie_heavy_corpus(dim, n); + let queries = random_corpus(dim, 9, 0xABCD); + for m in [1, 3, 100, 1_000] { + assert_contract(dim, &vectors, &queries, m, "tie-heavy"); + } +} + +/// Exact duplicate documents: every duplicate group is one giant tie run, +/// longer than m, exercising equal-hamming runs that exceed the collector. +#[test] +fn duplicate_documents_tie_runs_longer_than_m() { + let dim = 64; + let base = random_corpus(dim, 8, 0x1234); + // 8 distinct vectors, each repeated 512 times => tie runs of 512. + let mut vectors = Vec::with_capacity(8 * 512 * dim); + for rep in 0..512 { + let _ = rep; + vectors.extend_from_slice(&base); + } + let queries = random_corpus(dim, 5, 0x9999); + for m in [10, 100, 513] { + assert_contract(dim, &vectors, &queries, m, "duplicates"); + } +} + +/// Edge geometry: m >= n, m == n, single doc, single query, nq == 0. +#[test] +fn edge_geometries_match_oracle() { + let dim = 64; + let vectors = random_corpus(dim, 17, 0x42); + let queries = random_corpus(dim, 3, 0x43); + for m in [17, 25, 1] { + assert_contract(dim, &vectors, &queries, m, "edge"); + } + + let single_doc = random_corpus(dim, 1, 0x77); + assert_contract(dim, &single_doc, &queries, 4, "single-doc"); + + // Empty query batch: CSR must be a single zero offset and no candidates. + let mut sign = SignBitmap::new(dim); + sign.add(&vectors); + let cb = sign.top_m_candidates_batched_serial_csr(&[], 8); + assert_eq!(cb.offsets, vec![0]); + assert!(cb.candidates.is_empty()); +} + +/// Large-dim smoke at the shape the arXiv corpus uses (1024 dims), enough +/// rows to cross several L2-sized doc blocks. +#[test] +fn dim_1024_shape_matches_oracle() { + let dim = 1024; + let n = 6_000; + let vectors = random_corpus(dim, n, 0xA5A5); + let queries = random_corpus(dim, 8, 0x5A5A); + for m in [256, 320] { + assert_contract(dim, &vectors, &queries, m, "dim1024"); + } +} From 41c3c03add5b4c386c564e34ccec65f9b855a903 Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 13:04:01 -0500 Subject: [PATCH 03/28] fix: give the primary index artifact an opt-in read ceiling MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Security-audit remediation (CIPHER-02): the primary artifact read was bounded only by the attacker-declared size with no configurable ceiling, unlike the auxiliary/profile classes — the documented THREAT-QUERY-003 mitigation was silently incomplete for the largest artifact in a bundle. Adds ResourceLimits::max_index_artifact_bytes (default unbounded) applied as a min() with the declared size, and bounds the create-path primary read by its observed size so the code matches the CHANGELOG claim. CLI flag parity follows separately. --- CHANGELOG.md | 6 ++++++ ordvec-manifest/src/lib.rs | 18 +++++++++++++++-- ordvec-manifest/tests/derived_limits.rs | 26 +++++++++++++++++++++++++ 3 files changed, 48 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9bcc1cc..a5e97df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 `artifact_file_too_large` reason code); previously this read was unbounded. An artifact grown past its declaration now fails fast at the read bound instead of surfacing as a digest mismatch after hashing the excess. +- **ordvec-manifest: primary index artifact gains an opt-in ceiling.** New + `ResourceLimits::max_index_artifact_bytes` (default unbounded) mirrors the + auxiliary/profile ceilings; the create path also bounds the primary read by + its observed size. Note: a grown artifact now surfaces as + `*_file_too_large` (fail-fast) rather than `*_file_size_mismatch`, which + now indicates truncation only. - **ordvec-manifest: bounded hashing streams with constant memory.** `sha256_file_bounded` no longer materialises the file in memory before hashing. diff --git a/ordvec-manifest/src/lib.rs b/ordvec-manifest/src/lib.rs index 0435cf3..ceea67c 100644 --- a/ordvec-manifest/src/lib.rs +++ b/ordvec-manifest/src/lib.rs @@ -41,6 +41,7 @@ pub const DEFAULT_MAX_AUXILIARY_ARTIFACTS: usize = 1024; /// ceilings and default to unbounded. Streaming hashing keeps memory /// constant regardless of artifact size. pub const DEFAULT_MAX_AUXILIARY_ARTIFACT_BYTES: u64 = u64::MAX; +pub const DEFAULT_MAX_INDEX_ARTIFACT_BYTES: u64 = u64::MAX; pub const DEFAULT_MAX_CALIBRATION_PROFILE_BYTES: u64 = u64::MAX; pub const DEFAULT_MAX_ENCODER_DISTORTION_PROFILE_BYTES: u64 = u64::MAX; pub const DEFAULT_MAX_REPORT_ISSUES: usize = 1024; @@ -262,7 +263,11 @@ fn verify_manifest_with_path_capture( // full (the read was previously unbounded). match sha256_file_bounded( &resolved.canonical_path, - document.manifest.artifact.file_size_bytes, + document + .manifest + .artifact + .file_size_bytes + .min(options.limits.max_index_artifact_bytes), "artifact_file_too_large", "index artifact", ) { @@ -2283,6 +2288,9 @@ pub struct ResourceLimits { pub max_row_identity_tracked_db_id_bytes: usize, pub max_auxiliary_artifacts: usize, pub max_auxiliary_artifact_bytes: u64, + /// Opt-in ceiling for the primary index artifact read (unbounded by + /// default; the manifest-declared size is always the effective bound). + pub max_index_artifact_bytes: u64, pub max_calibration_profile_bytes: u64, pub max_encoder_distortion_profile_bytes: u64, pub max_report_issues: usize, @@ -2298,6 +2306,7 @@ impl Default for ResourceLimits { max_row_identity_tracked_db_id_bytes: DEFAULT_MAX_ROW_IDENTITY_TRACKED_DB_ID_BYTES, max_auxiliary_artifacts: DEFAULT_MAX_AUXILIARY_ARTIFACTS, max_auxiliary_artifact_bytes: DEFAULT_MAX_AUXILIARY_ARTIFACT_BYTES, + max_index_artifact_bytes: DEFAULT_MAX_INDEX_ARTIFACT_BYTES, max_calibration_profile_bytes: DEFAULT_MAX_CALIBRATION_PROFILE_BYTES, max_encoder_distortion_profile_bytes: DEFAULT_MAX_ENCODER_DISTORTION_PROFILE_BYTES, max_report_issues: DEFAULT_MAX_REPORT_ISSUES, @@ -3554,7 +3563,12 @@ pub fn create_manifest_for_index_with_options( fs::create_dir_all(out_base)?; } let metadata = probe_index_metadata(index_path)?; - let index_hash = sha256_file(index_path)?; + let index_hash = sha256_file_bounded( + index_path, + fs::metadata(index_path)?.len(), + "artifact_file_too_large", + "index artifact", + )?; let kind = ManifestIndexKind::try_from_core(metadata.kind) .map_err(|err| ManifestError::invalid(err.message()))?; let params = ManifestIndexParams::try_from_core(metadata.params) diff --git a/ordvec-manifest/tests/derived_limits.rs b/ordvec-manifest/tests/derived_limits.rs index 2a8cff9..c49af10 100644 --- a/ordvec-manifest/tests/derived_limits.rs +++ b/ordvec-manifest/tests/derived_limits.rs @@ -195,3 +195,29 @@ fn verify_bounds_primary_read_by_declared_size_when_grown() { error_codes(&report), ); } + +/// The primary index artifact honors an explicitly configured opt-in +/// ceiling, mirroring the auxiliary/profile artifact classes (CIPHER-02). +#[test] +fn explicit_index_ceiling_enforced_on_primary() { + let temp = tempfile::tempdir().unwrap(); + let index = write_index(temp.path()); + let manifest_path = temp.path().join("manifest.json"); + let manifest = create_manifest_for_index( + &index, + CreateRowIdentity::RowIdIdentity, + "test-embedding", + &manifest_path, + ) + .unwrap(); + + let mut options = VerifyOptions::default(); + options.limits.max_index_artifact_bytes = 8; + + let report = verify_manifest_with_base(manifest, temp.path(), options); + assert!( + error_codes(&report).contains(&"artifact_file_too_large"), + "explicit index ceiling must reject, got {:?}", + error_codes(&report), + ); +} From 763dffc7923ab6f3abd1570ee6fc8565c7930ade Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 13:08:11 -0500 Subject: [PATCH 04/28] fix: bound sqlite cache-key hashes by declared sizes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Code-review remediation: the sqlite-feature cache-key path duplicated the hashing logic and missed the derived-bound change — the primary artifact hash was fully unbounded, and the calibration/encoder profile hashes were bounded only by the flat caps, which the default flip turned into effectively unbounded reads. All three now use the same declared-size .min(opt-in ceiling) derivation as the verify path; a bound violation is a cache miss. Adds default-limits grown-profile coverage for the calibration and encoder-distortion call sites, closing the per-site test gap that let this slip. --- ordvec-manifest/src/sqlite.rs | 28 +++++++++---- ordvec-manifest/tests/manifest.rs | 67 +++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+), 7 deletions(-) diff --git a/ordvec-manifest/src/sqlite.rs b/ordvec-manifest/src/sqlite.rs index 6368f9f..6606c10 100644 --- a/ordvec-manifest/src/sqlite.rs +++ b/ordvec-manifest/src/sqlite.rs @@ -1,8 +1,7 @@ use crate::{ - resolve_existing_path, sha256_file, sha256_file_bounded, validate_jsonl_rows, - verify_auxiliary_artifacts, verify_manifest, AuxiliaryArtifactState, ManifestDocument, - ManifestError, ReportIssue, ResourceLimits, RowIdentity, VerificationPathCapture, - VerificationReport, VerifyOptions, + resolve_existing_path, sha256_file_bounded, validate_jsonl_rows, verify_auxiliary_artifacts, + verify_manifest, AuxiliaryArtifactState, ManifestDocument, ManifestError, ReportIssue, + ResourceLimits, RowIdentity, VerificationPathCapture, VerificationReport, VerifyOptions, }; use chrono::{SecondsFormat, Utc}; use rusqlite::{params, Connection, OptionalExtension}; @@ -399,7 +398,18 @@ fn current_cache_key( ) else { return Ok(None); }; - let artifact_sha256 = match sha256_file(&artifact.canonical_path) { + // Bound the cache-key hash exactly like the verify path: declared size + // with the opt-in ceiling. A bound violation just misses the cache. + let artifact_sha256 = match sha256_file_bounded( + &artifact.canonical_path, + document + .manifest + .artifact + .file_size_bytes + .min(options.limits.max_index_artifact_bytes), + "artifact_file_too_large", + "index artifact", + ) { Ok(hash) => hash.sha256, Err(_) => return Ok(None), }; @@ -618,7 +628,9 @@ fn current_calibration_profile_sha256( }; match sha256_file_bounded( &resolved.canonical_path, - options.limits.max_calibration_profile_bytes, + profile + .file_size_bytes + .min(options.limits.max_calibration_profile_bytes), "calibration_profile_too_large", "calibration profile", ) { @@ -652,7 +664,9 @@ fn current_encoder_distortion_profile_sha256( }; match sha256_file_bounded( &resolved.canonical_path, - options.limits.max_encoder_distortion_profile_bytes, + profile + .file_size_bytes + .min(options.limits.max_encoder_distortion_profile_bytes), "encoder_distortion_profile_too_large", "encoder distortion profile", ) { diff --git a/ordvec-manifest/tests/manifest.rs b/ordvec-manifest/tests/manifest.rs index 026acd0..2096cd9 100644 --- a/ordvec-manifest/tests/manifest.rs +++ b/ordvec-manifest/tests/manifest.rs @@ -4254,3 +4254,70 @@ fn sqlite_cache_key_includes_limits_and_bounds_cached_report_size() { .unwrap_err(); assert_eq!(err.code(), Some("sqlite_cached_report_too_large")); } + +#[test] +fn grown_profiles_fail_fast_at_declared_size_under_default_limits() { + // Derived-limits regression coverage for the two profile call sites: + // a profile grown past its manifest-declared size must fail fast with + // the *_too_large code at DEFAULT options (bound = declared size), not + // be hashed in full and reported as a digest mismatch. + let temp = tempfile::tempdir().unwrap(); + let case = tempfile::tempdir_in(temp.path()).unwrap(); + let profile_dir = case.path().join("profiles"); + fs::create_dir(&profile_dir).unwrap(); + let index = write_index_kind(case.path(), FixtureKind::Bitmap); + let manifest_path = case.path().join("manifest.json"); + let mut manifest = create_manifest_for_index( + &index, + CreateRowIdentity::RowIdIdentity, + "test-embedding", + &manifest_path, + ) + .unwrap(); + + let calibration_path = profile_dir.join("profile.f64"); + let calibration_hash = write_profile( + &calibration_path, + manifest.artifact.dim * std::mem::size_of::(), + ); + manifest.calibration = Some(weighted_calibration( + &manifest, + "profiles/profile.f64", + calibration_hash, + CalibrationOrdinalization::TopK { + dim: manifest.artifact.dim, + k: 16, + }, + ProfileParameterization::MarginalTopKFrequency, + vec![manifest.artifact.dim], + )); + + let distortion_path = profile_dir.join("distortion.json"); + let distortion_hash = write_profile(&distortion_path, 128); + manifest.encoder_distortion = Some(distortion_profile( + &manifest, + Some("profiles/distortion.json".to_string()), + Some(distortion_hash), + DistortionEvidenceKind::EmpiricalSample, + )); + + let report = verify_manifest_with_base(manifest.clone(), case.path(), VerifyOptions::default()); + assert!(report.ok, "{:?}", report.errors); + + // Grow both profile files past their declarations. + for path in [&calibration_path, &distortion_path] { + let mut file = fs::OpenOptions::new().append(true).open(path).unwrap(); + file.write_all(&[0u8; 64]).unwrap(); + } + + let report = verify_manifest_with_base(manifest, case.path(), VerifyOptions::default()); + let codes = error_codes(&report); + assert!( + codes.contains(&"calibration_profile_too_large"), + "grown calibration profile must fail the declared-size bound, got {codes:?}", + ); + assert!( + codes.contains(&"encoder_distortion_profile_too_large"), + "grown encoder distortion profile must fail the declared-size bound, got {codes:?}", + ); +} From 8af3352302fa5c72071901497ddfcab94c115d6d Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 13:11:31 -0500 Subject: [PATCH 05/28] perf: stream the corpus once per call in sign candidate generation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit top_m_candidates_batched_serial_csr previously looped the single-query path, re-streaming the full sign bitmap per query (documented-naive Track-1). The internals now scan the corpus once per call in L2-sized doc blocks, score every query of the call against each hot block in query tiles via the existing batched kernel, and select per-query top-m with bounded (hamming, doc_id) min-collectors — bit-identical to a full sort by construction, independent of processing order (the key IS the contract's sort key). top_m_candidates routes through the same core, dropping its per-call n-row Hamming materialisation. Per-query corpus traffic drops by the call's query count: at 1.26M rows x 1024 dims, a 2048-query call reads the 161MB sidecar once instead of 2048 times. Serial contract preserved (no rayon); the oracle suite (tests/tiled_candgen.rs) pins bit-identical outputs across random, tie-heavy, duplicate-run, and edge geometries. --- src/sign_bitmap.rs | 117 ++++++++++++++++++++++++++++++++++----------- 1 file changed, 89 insertions(+), 28 deletions(-) diff --git a/src/sign_bitmap.rs b/src/sign_bitmap.rs index 66f971a..e2296c9 100644 --- a/src/sign_bitmap.rs +++ b/src/sign_bitmap.rs @@ -39,6 +39,7 @@ //! scalar path. See [`crate::avx512vpop_supported`]. use rayon::prelude::*; +use std::collections::BinaryHeap; use crate::OrdvecError; @@ -220,6 +221,77 @@ impl SignBitmap { /// SIMD dispatch paths — same audit discipline as /// [`crate::Bitmap::top_m_candidates`]. #[must_use = "this scans the corpus to generate candidates; dropping the result discards that work"] + /// Streamed exact top-m selection shared by [`Self::top_m_candidates`] + /// and [`Self::top_m_candidates_batched_serial_csr`]: the corpus is + /// scanned once per call in L2-sized doc blocks, each hot block is + /// scored against every query (in small query tiles), and per-query + /// bounded min-m collectors keyed by `(hamming, doc_id)` select exactly + /// the lexicographic top-m — bit-identical to a full sort, independent + /// of processing order. Serial by contract: no rayon. + fn top_m_candidates_streamed(&self, queries: &[f32], m_eff: usize) -> Vec> { + const TILE_QUERIES: usize = 32; + const BLOCK_BYTES: usize = 256 * 1024; + + let dim = self.dim; + let nq = queries.len() / dim; + let qpv = self.qwords_per_vec; + let n = self.n_vectors; + debug_assert!(m_eff >= 1 && m_eff <= n); + + let mut q_bitmaps = vec![0u64; nq * qpv]; + for qi in 0..nq { + let qb = self.build_query_bitmap(&queries[qi * dim..(qi + 1) * dim]); + q_bitmaps[qi * qpv..(qi + 1) * qpv].copy_from_slice(&qb); + } + + let block_docs = (BLOCK_BYTES / (qpv * 8)).max(64).min(n); + let tile = TILE_QUERIES.min(nq); + let mut block_scores = vec![0u32; tile * block_docs]; + // Max-heap keeps the current worst kept key at the top, so the + // retained set is always the m lexicographically smallest + // (hamming, doc_id) keys seen so far. + let mut heaps: Vec> = (0..nq) + .map(|_| BinaryHeap::with_capacity(m_eff + 1)) + .collect(); + + let mut block_start = 0usize; + while block_start < n { + let bn = block_docs.min(n - block_start); + let block = &self.bitmaps[block_start * qpv..(block_start + bn) * qpv]; + let mut tile_start = 0usize; + while tile_start < nq { + let tq = tile.min(nq - tile_start); + let qb_tile = &q_bitmaps[tile_start * qpv..(tile_start + tq) * qpv]; + let scores = &mut block_scores[..tq * bn]; + sign_scan_collect_batched(block, bn, qpv, qb_tile, tq, scores); + for ti in 0..tq { + let heap = &mut heaps[tile_start + ti]; + let row = &scores[ti * bn..(ti + 1) * bn]; + for (d, &hamming) in row.iter().enumerate() { + let key = (hamming, (block_start + d) as u32); + if heap.len() < m_eff { + heap.push(key); + } else if key < *heap.peek().expect("non-empty full collector") { + heap.pop(); + heap.push(key); + } + } + } + tile_start += tq; + } + block_start += bn; + } + + heaps + .into_iter() + .map(|heap| { + let mut kept = heap.into_vec(); + kept.sort_unstable(); + kept.into_iter().map(|(_, doc)| doc).collect() + }) + .collect() + } + pub fn top_m_candidates(&self, q: &[f32], m: usize) -> Vec { assert_eq!(q.len(), self.dim); crate::util::assert_all_finite(q); @@ -227,27 +299,9 @@ impl SignBitmap { if m_eff == 0 { return Vec::new(); } - let qb = self.build_query_bitmap(q); - let mut scores = vec![0u32; self.n_vectors]; // Hamming distance per doc - sign_scan_collect( - &self.bitmaps, - self.n_vectors, - self.qwords_per_vec, - &qb, - &mut scores, - ); - let mut idx: Vec = (0..self.n_vectors as u32).collect(); - // Ascending Hamming = best candidates first. Composite key - // ensures deterministic partition at boundary ties. - let cmp = |a: &u32, b: &u32| { - scores[*a as usize] - .cmp(&scores[*b as usize]) - .then_with(|| a.cmp(b)) - }; - idx.select_nth_unstable_by(m_eff - 1, cmp); - let mut head = idx[..m_eff].to_vec(); - head.sort_unstable_by(cmp); - head + self.top_m_candidates_streamed(q, m_eff) + .pop() + .expect("streamed selection returns one row per query") } /// Batched variant: stream the sign bitmaps **once** and produce @@ -313,10 +367,12 @@ impl SignBitmap { /// pool. (The existing [`Self::top_m_candidates_batched`] remains the /// internally-parallel standalone convenience.) /// - /// Track-1 implementation is intentionally naive — it loops the single-query - /// [`Self::top_m_candidates`] (which materialises a per-query `n` Hamming - /// row). A future release may replace the internals with streaming top-m - /// behind this frozen signature; the CSR output contract will not change. + /// The internals stream the corpus **once per call** in L2-sized doc + /// blocks, scoring every query of the call against each hot block and + /// selecting per-query top-m with bounded `(hamming, doc_id)` collectors + /// — per-query corpus traffic drops by the call's query count relative + /// to the historical per-query rescan. The CSR output contract is + /// unchanged and bit-identical to the previous implementation. /// /// # Example /// ```no_run @@ -345,9 +401,14 @@ impl SignBitmap { let mut offsets = Vec::with_capacity(nq + 1); offsets.push(0usize); let mut candidates = Vec::with_capacity(nq.saturating_mul(m_eff)); - for qi in 0..nq { - let q = &queries[qi * dim..(qi + 1) * dim]; - let row = self.top_m_candidates(q, m); + if nq == 0 || m_eff == 0 { + offsets.extend(std::iter::repeat_n(0usize, nq)); + return CandidateBatch { + candidates, + offsets, + }; + } + for row in self.top_m_candidates_streamed(queries, m_eff) { candidates.extend_from_slice(&row); offsets.push(candidates.len()); } From 3f65e03c87f0eb970a3c5467b4bf2f50080d49f2 Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 13:23:31 -0500 Subject: [PATCH 06/28] perf: keep the dense partition path for single-query candidates Audit remediation: routing top_m_candidates through the streamed core measured +50-90% at small/medium n with m in the hundreds (bounded heap O(n log m) vs select_nth_unstable_by O(n)); with one query there is no scan to share, so nq=1 stays on the dense path (parity-or-better at every measured size). Also per audit: the block-boundary oracle test now genuinely spans three blocks (the dim=128 shape fit one block), and adds the dim=768 AVX-512 tail-residue x multi-block case to the permanent suite. --- src/sign_bitmap.rs | 28 +++++++++++++++++++++++++--- tests/tiled_candgen.rs | 38 ++++++++++++++++++++++++++++---------- 2 files changed, 53 insertions(+), 13 deletions(-) diff --git a/src/sign_bitmap.rs b/src/sign_bitmap.rs index e2296c9..b47f379 100644 --- a/src/sign_bitmap.rs +++ b/src/sign_bitmap.rs @@ -299,9 +299,31 @@ impl SignBitmap { if m_eff == 0 { return Vec::new(); } - self.top_m_candidates_streamed(q, m_eff) - .pop() - .expect("streamed selection returns one row per query") + // Single-query stays on the dense partition path: with one query + // there is no scan to share, and select_nth_unstable_by (O(n) + // average) measurably beats an O(n log m) bounded heap for m in the + // hundreds at small/medium n (audit: +50-90% regression otherwise). + let qb = self.build_query_bitmap(q); + let mut scores = vec![0u32; self.n_vectors]; // Hamming distance per doc + sign_scan_collect( + &self.bitmaps, + self.n_vectors, + self.qwords_per_vec, + &qb, + &mut scores, + ); + let mut idx: Vec = (0..self.n_vectors as u32).collect(); + // Ascending Hamming = best candidates first. Composite key + // ensures deterministic partition at boundary ties. + let cmp = |a: &u32, b: &u32| { + scores[*a as usize] + .cmp(&scores[*b as usize]) + .then_with(|| a.cmp(b)) + }; + idx.select_nth_unstable_by(m_eff - 1, cmp); + let mut head = idx[..m_eff].to_vec(); + head.sort_unstable_by(cmp); + head } /// Batched variant: stream the sign bitmaps **once** and produce diff --git a/tests/tiled_candgen.rs b/tests/tiled_candgen.rs index 5a416f5..33ac414 100644 --- a/tests/tiled_candgen.rs +++ b/tests/tiled_candgen.rs @@ -33,13 +33,7 @@ fn tie_heavy_corpus(dim: usize, n: usize) -> Vec { (0..n) .flat_map(|doc| { let pattern = doc % 4; - (0..dim).map(move |c| { - if (c + pattern) % 3 == 0 { - -1.0 - } else { - 1.0 - } - }) + (0..dim).map(move |c| if (c + pattern) % 3 == 0 { -1.0 } else { 1.0 }) }) .collect() } @@ -64,7 +58,10 @@ fn assert_contract(dim: usize, vectors: &[f32], queries: &[f32], m: usize, label let q = &queries[qi * dim..(qi + 1) * dim]; let got = sign.top_m_candidates(q, m); let want = oracle_top_m(&sign, q, m); - assert_eq!(got, want, "{label}: single-query mismatch at query {qi}, m={m}"); + assert_eq!( + got, want, + "{label}: single-query mismatch at query {qi}, m={m}" + ); } // Batched serial CSR path: row qi must equal the single-query result. @@ -73,7 +70,11 @@ fn assert_contract(dim: usize, vectors: &[f32], queries: &[f32], m: usize, label for qi in 0..nq { let row = &cb.candidates[cb.offsets[qi]..cb.offsets[qi + 1]]; let want = oracle_top_m(&sign, &queries[qi * dim..(qi + 1) * dim], m); - assert_eq!(row, &want[..], "{label}: CSR row mismatch at query {qi}, m={m}"); + assert_eq!( + row, + &want[..], + "{label}: CSR row mismatch at query {qi}, m={m}" + ); } } @@ -81,7 +82,10 @@ fn assert_contract(dim: usize, vectors: &[f32], queries: &[f32], m: usize, label /// tile size, at a SIMD-friendly dim. #[test] fn random_corpus_matches_oracle_across_block_boundaries() { - let dim = 128; + // dim=512 -> 8 qwords/vec -> 4096-doc blocks; n=10240 spans three + // blocks including a final partial one (audit: the previous dim=128 + // shape fit in a single block, so the loop never crossed a boundary). + let dim = 512; let n = 10_240; let vectors = random_corpus(dim, n, 0xC0FFEE); let queries = random_corpus(dim, 33, 0xBEEF); @@ -155,3 +159,17 @@ fn dim_1024_shape_matches_oracle() { assert_contract(dim, &vectors, &queries, m, "dim1024"); } } + +/// AVX-512 tail residue (dim=768 -> qpv=12, rem=4) composed with +/// multi-block crossing and a final partial block — the kernel-shape case +/// the audit flagged as untested in the permanent suite. +#[test] +fn dim_768_tail_residue_crosses_blocks() { + let dim = 768; + let n = 3_200; // block_docs = 262144/96 = 2730 -> 2 blocks, partial tail + let vectors = random_corpus(dim, n, 0x7E57); + let queries = random_corpus(dim, 7, 0x7E58); + for m in [64, 320] { + assert_contract(dim, &vectors, &queries, m, "dim768-tail"); + } +} From a913b394bb8f685c35f7a4ebf24a2d9fe23086e4 Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 14:10:11 -0500 Subject: [PATCH 07/28] perf: parallel finite validation and scratch-based rank encode MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit assert_all_finite paid a full serial pass per add/search batch — measured ~0.1s per GiB, twice per ingest batch counting the caller layer. Scans of 1M+ floats now split across the rayon pool (4.4x measured). RankQuant::add's per-row closure allocated a fresh ranks Vec per vector inside the parallel loop; for_each_init now reuses a per-worker scratch via rank_transform_into. Measured on the 1.26M x 1024 corpus slice: encode-path attribution 0.097s serial scan -> 0.022s parallel; alloc churn removed from the hot loop. --- src/quant.rs | 17 ++++++++++------- src/util.rs | 12 +++++++++++- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/quant.rs b/src/quant.rs index 1c8ce62..321f748 100644 --- a/src/quant.rs +++ b/src/quant.rs @@ -33,7 +33,7 @@ use crate::quant_kernels::{ scan_b2_asym_avx2, scan_b2_asym_avx512, scan_b4_asym_avx2, scan_b4_asym_avx512, }; use crate::rank::{ - bucket_centre, bucket_ranks, pack_buckets, rank_to_bucket, rank_transform, + bucket_centre, bucket_ranks, pack_buckets, rank_to_bucket, rank_transform, rank_transform_into, rankquant_bytes_per_vec, rankquant_norm, }; use crate::sign_bitmap::SignBitmap; @@ -601,12 +601,15 @@ impl RankQuant { self.packed[start..] .par_chunks_mut(bytes_per_vec) .zip(vectors.par_chunks(dim)) - .for_each(|(out, v)| { - let ranks = rank_transform(v); - let buckets = bucket_ranks(&ranks, bits); - let packed = pack_buckets(&buckets, bits); - out.copy_from_slice(&packed); - }); + .for_each_init( + || vec![0u16; dim], + |ranks, (out, v)| { + rank_transform_into(v, ranks); + let buckets = bucket_ranks(ranks, bits); + let packed = pack_buckets(&buckets, bits); + out.copy_from_slice(&packed); + }, + ); self.n_vectors = new_n; } diff --git a/src/util.rs b/src/util.rs index 5f9eb1d..eecdb2e 100644 --- a/src/util.rs +++ b/src/util.rs @@ -124,8 +124,18 @@ pub(crate) fn l2_normalise_into(out: &mut Vec, v: &[f32]) { /// validate separately; this is the Rust-side backstop. #[inline] pub(crate) fn assert_all_finite(v: &[f32]) { + // Large ingest batches pay a full serial pass here (measured ~0.1s per + // GiB); split the scan across the pool once it dwarfs the fork cost. + const PARALLEL_THRESHOLD: usize = 1 << 20; + let all_finite = if v.len() >= PARALLEL_THRESHOLD { + use rayon::prelude::*; + v.par_chunks(1 << 18) + .all(|c| c.iter().all(|x| x.is_finite())) + } else { + v.iter().all(|x| x.is_finite()) + }; assert!( - v.iter().all(|x| x.is_finite()), + all_finite, "ordvec: input contains non-finite (NaN or ±Inf) values; embeddings must be finite" ); } From 9eb1e52de0385a239a1e4e4237e882cffcc9fe6c Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 14:15:49 -0500 Subject: [PATCH 08/28] perf: reduce collector boundary test to a cached worst-bound compare MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Doc ids visit each per-query heap strictly ascending, so a candidate tying the worst kept hamming always loses the (hamming, doc_id) tie-break — once the collector is full, the accept test is exactly 'hamming < worst kept hamming'. Cache that bound in a register-friendly u32 (u32::MAX while filling) and skip the heap peek + tuple compare on the ~99.8% reject path. Bit-identical by construction; pinned by the tie-heavy and duplicate-run oracle suites. --- src/sign_bitmap.rs | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/sign_bitmap.rs b/src/sign_bitmap.rs index b47f379..431d668 100644 --- a/src/sign_bitmap.rs +++ b/src/sign_bitmap.rs @@ -253,6 +253,13 @@ impl SignBitmap { let mut heaps: Vec> = (0..nq) .map(|_| BinaryHeap::with_capacity(m_eff + 1)) .collect(); + // Cached copy of each full heap's worst kept hamming. Doc ids visit + // each heap strictly ascending (d ascends within a row, blocks + // ascend), so a candidate tying the worst hamming always loses the + // (hamming, doc_id) tie-break — once full, the boundary test + // reduces to one u32 compare against this register. u32::MAX while + // filling (hamming <= dim can never reach it). + let mut worst_bounds = vec![u32::MAX; nq]; let mut block_start = 0usize; while block_start < n { @@ -266,14 +273,18 @@ impl SignBitmap { sign_scan_collect_batched(block, bn, qpv, qb_tile, tq, scores); for ti in 0..tq { let heap = &mut heaps[tile_start + ti]; + let worst = &mut worst_bounds[tile_start + ti]; let row = &scores[ti * bn..(ti + 1) * bn]; for (d, &hamming) in row.iter().enumerate() { - let key = (hamming, (block_start + d) as u32); - if heap.len() < m_eff { - heap.push(key); - } else if key < *heap.peek().expect("non-empty full collector") { + if hamming >= *worst { + continue; + } + heap.push((hamming, (block_start + d) as u32)); + if heap.len() > m_eff { heap.pop(); - heap.push(key); + } + if heap.len() == m_eff { + *worst = heap.peek().expect("full collector").0; } } } From 1f014a5d3f3415e2abbd6cd97d3e3009a010ad7b Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 14:39:41 -0500 Subject: [PATCH 09/28] perf: LUT + parallel constant-composition check on RankQuant load MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit load_rankquant's forged-buffer defense histogrammed every packed code serially — 1.29 billion shift/mask ops at 1.26M x 1024, ~1s of the 1.27s verified open. A 4KB per-byte bucket-count LUT replaces the per-code inner loop and rows validate in parallel; find_first keeps the lowest-offending-row error contract, with a scalar recheck producing the identical message. The security property is unchanged: every row still proves uniform composition before the index is usable. --- src/rank_io.rs | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/src/rank_io.rs b/src/rank_io.rs index e05505c..d0b2957 100644 --- a/src/rank_io.rs +++ b/src/rank_io.rs @@ -765,8 +765,39 @@ fn load_rankquant_from_stream( let expected_per_bucket = dim / n_buckets; let mask = (1u8 << bits) - 1; let bits_u = bits as usize; - for (row_idx, row) in packed.chunks_exact(bytes_per_row).enumerate() { - let mut hist = [0usize; 16]; // n_buckets <= 2^4 = 16 + // Per-byte bucket-count LUT: byte value -> how many of its packed codes + // land in each bucket. Replaces the per-code shift/mask loop (dim ops + // per row) with bytes_per_row table lookups, and rows check in parallel + // (they are independent). `find_first` preserves the serial contract of + // reporting the lowest offending row. + let mut lut = [[0u8; 16]; 256]; + for (byte, counts) in lut.iter_mut().enumerate() { + for slot in 0..codes_per_byte { + let shift = (codes_per_byte - 1 - slot) * bits_u; + counts[((byte as u8 >> shift) & mask) as usize] += 1; + } + } + let row_is_valid = |row: &[u8]| { + let mut hist = [0u16; 16]; + for &byte in row { + let counts = &lut[byte as usize]; + for bucket in 0..n_buckets { + hist[bucket] += u16::from(counts[bucket]); + } + } + hist[..n_buckets] + .iter() + .all(|&count| count as usize == expected_per_bucket) + }; + use rayon::prelude::*; + let first_bad = (0..n_vectors).into_par_iter().find_first(|&row_idx| { + !row_is_valid(&packed[row_idx * bytes_per_row..(row_idx + 1) * bytes_per_row]) + }); + if let Some(row_idx) = first_bad { + // Rerun the scalar histogram on the offending row for the exact + // bucket/count in the error message. + let row = &packed[row_idx * bytes_per_row..(row_idx + 1) * bytes_per_row]; + let mut hist = [0usize; 16]; for &byte in row { for slot in 0..codes_per_byte { let shift = (codes_per_byte - 1 - slot) * bits_u; @@ -781,6 +812,7 @@ fn load_rankquant_from_stream( ))); } } + unreachable!("row {row_idx} failed the LUT check but passed the scalar recheck"); } Ok((bits, dim, n_vectors, packed)) } From 168c7da69c6fcac2934b4791f176c00f76bb9b0d Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 17:42:11 -0500 Subject: [PATCH 10/28] docs: changelog perf entries and 0.6.0 downstream un-patch checklist CHANGELOG Unreleased gains the measured perf work merged to integration/full-stack: tiled streaming sign candidate generation + cached collector worst-bound (bit-identical internals swap; downstream batched search 220 -> 10.2k q/s at 1.26M x 1024), parallel finite validation + scratch rank encode (0.097s -> 0.022s attribution), and the LUT + parallel constant-composition load check (verified open 1.27s -> 0.38s). RELEASING gains a one-time pre-publish item: remove OrdinalDB's [patch.crates-io] block pointing at integration/full-stack when 0.6.0 publishes. --- CHANGELOG.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ RELEASING.md | 5 +++++ 2 files changed, 55 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a5e97df..7a8e5d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,56 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Performance + +- **Batched sign candidate generation now streams the corpus once per call.** + `SignBitmap::top_m_candidates_batched_serial_csr` previously looped the + single-query path, re-streaming the full sign bitmap per query (the + documented-naive first cut). The internals now scan the corpus once per call + in L2-sized doc blocks, score every query of the call against each hot block + in query tiles via the existing batched kernel, and select per-query top-m + with bounded `(hamming, doc_id)` min-collectors — bit-identical to a full + sort by construction, independent of processing order (the key *is* the + contract's sort key), pinned by an independent oracle suite + (`tests/tiled_candgen.rs`) across random, tie-heavy, duplicate-run, and edge + geometries. Per-query corpus traffic drops by the call's query count: at + 1.26M rows × dim=1024, a 2048-query call reads the 161 MB sign sidecar once + instead of 2048 times. `top_m_candidates` routes through the same core + (dropping its per-call n-row Hamming materialisation) except at `nq=1`, + which keeps the dense partition path — the streamed core measured +50–90% + single-query time at small/medium `n` with `m` in the hundreds (bounded heap + `O(n log m)` vs `select_nth_unstable_by` `O(n)`), while the dense path is + parity-or-better at every measured size. The serial contract is preserved + (no rayon). Together with the collector worst-bound change below, measured + downstream in a two-stage retrieval stack at 1.26M × 1024: batched search + throughput 220 → 10.2k queries/s, results bit-identical. +- **Candidate-collector accept test reduced to a cached worst-bound compare.** + Doc ids visit each per-query heap strictly ascending, so a candidate tying + the worst kept hamming always loses the `(hamming, doc_id)` tie-break — once + the collector is full, the accept test is exactly `hamming < worst kept + hamming`. That bound is now cached in a register-friendly `u32` (`u32::MAX` + while filling), skipping the heap peek + tuple compare on the ~99.8% reject + path. Bit-identical by construction; pinned by the tie-heavy and + duplicate-run oracle suites. +- **Parallel finite-input validation and scratch-based rank encode.** + `assert_all_finite` paid a full serial pass per add/search batch — measured + ~0.1 s per GiB, twice per ingest batch counting the caller layer. Scans of + 1M+ floats now split across the rayon pool (4.4× measured). + `RankQuant::add`'s per-row closure allocated a fresh ranks `Vec` per vector + inside the parallel loop; it now reuses a per-worker scratch via + `rank_transform_into`. Measured on a 1.26M × 1024 corpus slice: encode-path + validation attribution 0.097 s serial scan → 0.022 s parallel, with the + per-vector allocation churn removed from the hot loop. +- **LUT + parallel constant-composition check on `RankQuant` load.** + `load_rankquant`'s forged-buffer defense histogrammed every packed code + serially — 1.29 billion shift/mask ops at 1.26M × 1024, ~1 s of the 1.27 s + verified open. A 4 KB per-byte bucket-count LUT replaces the per-code inner + loop and rows validate in parallel; `find_first` keeps the + lowest-offending-row error contract, with a scalar recheck producing the + identical message. The security property is unchanged: every row still + proves uniform composition before the index is usable. Measured verified + open at 1.26M × 1024: 1.27 s → 0.38 s. + ### Changed - **ordvec-manifest: derived artifact size bounds.** Verification now bounds diff --git a/RELEASING.md b/RELEASING.md index 6cac74e..f56df20 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -173,6 +173,11 @@ the OIDC exchange (no risk of a bad publish; just a failed run). lockstep versions, MSRV/docs drift, registry metadata parity, Python classifier/URL parity, docs.rs feature policy, package contents, and release workflow invariants. + - **Downstream un-patch (one-time, 0.6.0):** OrdinalDB's workspace + `Cargo.toml` carries a `[patch.crates-io]` block pointing `ordvec` and + `ordvec-manifest` at this repo's `integration/full-stack` git branch. + When 0.6.0 publishes, that block must be removed so OrdinalDB consumes + the published crates.io releases instead of the pre-release git branch. 4. Confirm CI is **green for current `main` HEAD**. `require-ci-green` checks `main` HEAD's SHA — which needs a **completed, successful** (not `cancelled`, not in-progress) run of `ci.yml`, `python.yml`, `fuzz.yml`, From f713472530161208d2660653b2fde621500c3e1c Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 17:45:29 -0500 Subject: [PATCH 11/28] feat: index-ceiling CLI parity and zero-size shape checks (CIPHER-04) Expose --max-index-artifact-bytes on the ordvec-manifest CLI LimitArgs, wiring it to ResourceLimits::max_index_artifact_bytes so the opt-in primary-artifact read ceiling reaches feature parity with the existing --max-auxiliary-artifact-bytes flag. Close the deferred CIPHER-04 reason-code symmetry: validate_manifest_shape now rejects a zero manifest-declared artifact.file_size_bytes (artifact_file_size_zero) and validate_auxiliary_artifact_shape rejects zero-size declarations on required auxiliary artifacts (auxiliary_artifact_file_size_zero), mirroring the calibration and encoder-distortion *_file_size_zero checks. Optional artifacts keep the established zero-size absent-placeholder convention. --- ordvec-manifest/README.md | 6 +++-- ordvec-manifest/src/lib.rs | 17 ++++++++++++ ordvec-manifest/src/main.rs | 44 ++++++++++++++++++++++++++++++- ordvec-manifest/tests/manifest.rs | 43 ++++++++++++++++++++++++++++++ 4 files changed, 107 insertions(+), 3 deletions(-) diff --git a/ordvec-manifest/README.md b/ordvec-manifest/README.md index 03c0eef..6a58c54 100644 --- a/ordvec-manifest/README.md +++ b/ordvec-manifest/README.md @@ -159,7 +159,8 @@ Stable limit codes are part of the contract: size on create; the flat cap is an opt-in ceiling, unbounded by default (`auxiliary_artifact_file_too_large`); - primary index artifact bytes: bounded by the manifest-declared - `file_size_bytes` on verify (`artifact_file_too_large`); + `file_size_bytes` on verify; the flat cap is an opt-in ceiling, unbounded + by default (`artifact_file_too_large`); - calibration profile artifact bytes: bounded by the declared `file_size_bytes`; flat cap opt-in, unbounded by default (`calibration_profile_too_large`); @@ -174,7 +175,7 @@ The CLI exposes matching override flags on `inspect`, `verify`, `create`, `sqlite verify`, and `sqlite activate`: `--max-manifest-bytes`, `--max-row-map-line-bytes`, `--max-row-map-rows`, `--max-row-map-tracked-id-bytes`, `--max-auxiliary-artifacts`, -`--max-auxiliary-artifact-bytes`, +`--max-auxiliary-artifact-bytes`, `--max-index-artifact-bytes`, `--max-calibration-profile-bytes`, `--max-encoder-distortion-profile-bytes`, `--max-report-issues`, and `--max-cached-report-bytes`. Library callers can override the same ceilings @@ -190,6 +191,7 @@ Stable limit codes: | row-identity duplicate-tracking `db_id` bytes | `row_identity_duplicate_tracking_limit_exceeded` | `row_identity_duplicate_tracking_limit_exceeded` | | auxiliary artifact declarations | `auxiliary_artifact_count_limit_exceeded` | n/a | | auxiliary artifact bytes per declared file | `auxiliary_artifact_file_too_large` | n/a | +| primary index artifact bytes | `artifact_file_too_large` | n/a | | calibration profile artifact bytes | `calibration_profile_too_large` | n/a | | encoder distortion profile artifact bytes | `encoder_distortion_profile_too_large` | n/a | | collected verification report issues | `verification_report_issue_limit_exceeded` | n/a | diff --git a/ordvec-manifest/src/lib.rs b/ordvec-manifest/src/lib.rs index ceea67c..14f7919 100644 --- a/ordvec-manifest/src/lib.rs +++ b/ordvec-manifest/src/lib.rs @@ -363,6 +363,12 @@ fn validate_manifest_shape( "artifact.sha256 must be a lowercase 64-character hex SHA-256 digest", ); } + if manifest.artifact.file_size_bytes == 0 { + report.error( + "artifact_file_size_zero", + "artifact.file_size_bytes must be greater than zero", + ); + } if manifest.artifact.bytes_per_vec == 0 { report.error( "artifact_bytes_per_vec_zero", @@ -565,6 +571,17 @@ fn validate_auxiliary_artifact_shape( ), ); } + // Optional artifacts may legitimately be declared absent with a + // zero-size placeholder (see `AuxiliaryArtifactState::OptionalAbsent`); + // only required declarations must carry a real size. + if artifact.required && artifact.file_size_bytes == 0 { + report.error( + "auxiliary_artifact_file_size_zero", + format!( + "required auxiliary artifact {name:?} file_size_bytes must be greater than zero" + ), + ); + } } } diff --git a/ordvec-manifest/src/main.rs b/ordvec-manifest/src/main.rs index 6236878..02df85c 100644 --- a/ordvec-manifest/src/main.rs +++ b/ordvec-manifest/src/main.rs @@ -103,7 +103,8 @@ fn parse_auxiliary_artifact_arg(value: &str) -> Result { + assert_eq!(limits.max_index_artifact_bytes, Some(8)); + assert_eq!(limits.resource_limits().max_index_artifact_bytes, 8); + } + _ => panic!("expected verify command"), + } + } } #[cfg(feature = "sqlite")] @@ -174,6 +211,8 @@ struct LimitArgs { #[arg(long)] max_auxiliary_artifact_bytes: Option, #[arg(long)] + max_index_artifact_bytes: Option, + #[arg(long)] max_calibration_profile_bytes: Option, #[arg(long)] max_encoder_distortion_profile_bytes: Option, @@ -204,6 +243,9 @@ impl LimitArgs { if let Some(value) = self.max_auxiliary_artifact_bytes { limits.max_auxiliary_artifact_bytes = value; } + if let Some(value) = self.max_index_artifact_bytes { + limits.max_index_artifact_bytes = value; + } if let Some(value) = self.max_calibration_profile_bytes { limits.max_calibration_profile_bytes = value; } diff --git a/ordvec-manifest/tests/manifest.rs b/ordvec-manifest/tests/manifest.rs index 2096cd9..71f9b57 100644 --- a/ordvec-manifest/tests/manifest.rs +++ b/ordvec-manifest/tests/manifest.rs @@ -2639,6 +2639,49 @@ fn auxiliary_artifacts_fail_closed_on_tamper_missing_and_path_escape() { .ends_with("missing.bin")); } +#[test] +fn manifest_shape_rejects_zero_declared_file_sizes_for_required_artifacts() { + let root = tempfile::tempdir().unwrap(); + let (temp, mut manifest, _manifest_path) = identity_manifest(root.path()); + fs::write(temp.path().join("extra.bin"), b"extra").unwrap(); + let extra_hash = sha256_file(temp.path().join("extra.bin")).unwrap(); + + manifest.artifact.file_size_bytes = 0; + manifest.auxiliary_artifacts = vec![AuxiliaryArtifact { + name: "extra".to_string(), + path: "extra.bin".to_string(), + sha256: extra_hash.sha256, + file_size_bytes: 0, + required: true, + }]; + + let report = verify_manifest_with_base(manifest, temp.path(), VerifyOptions::default()); + assert!(!report.ok); + let codes = error_codes(&report); + assert!(codes.contains(&"artifact_file_size_zero"), "{codes:?}"); + assert!( + codes.contains(&"auxiliary_artifact_file_size_zero"), + "{codes:?}" + ); +} + +#[test] +fn optional_absent_zero_size_placeholder_is_not_flagged_zero_size() { + let root = tempfile::tempdir().unwrap(); + let (temp, mut manifest, _manifest_path) = identity_manifest(root.path()); + manifest.auxiliary_artifacts = vec![AuxiliaryArtifact { + name: "optional-model".to_string(), + path: "missing-model.json".to_string(), + sha256: "0".repeat(64), + file_size_bytes: 0, + required: false, + }]; + + let report = verify_manifest_with_base(manifest, temp.path(), VerifyOptions::default()); + assert!(report.ok, "{:?}", report.errors); + assert!(!error_codes(&report).contains(&"auxiliary_artifact_file_size_zero")); +} + #[test] fn auxiliary_artifact_schema_rejects_unknown_fields_and_duplicate_names() { let root = tempfile::tempdir().unwrap(); From 5763f7bc73fb5be9b2883f18bae73db4230bebe6 Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 18:04:22 -0500 Subject: [PATCH 12/28] fix: refuse non-regular artifact files before hashing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Security-review remediation (fleet CIPHER-001): with derived read bounds, a FIFO inside the bundle directory would block verification forever — File::open on a reader-less FIFO blocks, and a device node would stream without EOF under a large declared size. Stat the path before opening and refuse anything that is not a regular file, at every hashing call site (create, verify, sqlite cache). Regular files terminate at EOF and remain post-checked against the declaration. Unix regression test uses a real FIFO. --- ordvec-manifest/src/lib.rs | 13 +++++++++++++ ordvec-manifest/tests/derived_limits.rs | 25 +++++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/ordvec-manifest/src/lib.rs b/ordvec-manifest/src/lib.rs index ceea67c..ca4becf 100644 --- a/ordvec-manifest/src/lib.rs +++ b/ordvec-manifest/src/lib.rs @@ -3483,6 +3483,19 @@ pub fn sha256_file_bounded( context: &'static str, ) -> Result { let path = path.as_ref(); + // Refuse non-regular files BEFORE opening: opening a FIFO read-only + // blocks until a writer connects, and a device node would stream + // forever under a large declared-size bound. Regular files terminate + // at EOF and are post-checked against the declaration. (A path swapped + // to a special file after this check is local-actor mutation, out of + // scope per the threat model.) + let metadata = fs::metadata(path)?; + if !metadata.is_file() { + return Err(ManifestError::limit_exceeded( + code, + format!("{context} is not a regular file: {}", path.display()), + )); + } let mut file = File::open(path)?; let mut hasher = Sha256::new(); let mut size_bytes = 0u64; diff --git a/ordvec-manifest/tests/derived_limits.rs b/ordvec-manifest/tests/derived_limits.rs index c49af10..c08aa18 100644 --- a/ordvec-manifest/tests/derived_limits.rs +++ b/ordvec-manifest/tests/derived_limits.rs @@ -221,3 +221,28 @@ fn explicit_index_ceiling_enforced_on_primary() { error_codes(&report), ); } + +/// Non-regular files must be refused before hashing: a FIFO would stream +/// forever under a large declared-size bound (CIPHER-001). +#[cfg(unix)] +#[test] +fn verify_refuses_non_regular_artifact_files() { + let temp = tempfile::tempdir().unwrap(); + let aux_path = temp.path().join("sidecar.bin"); + fs::write(&aux_path, vec![7u8; 512]).unwrap(); + let (manifest, _) = create_with_aux(temp.path(), &aux_path); + + fs::remove_file(&aux_path).unwrap(); + let status = std::process::Command::new("mkfifo") + .arg(&aux_path) + .status() + .unwrap(); + assert!(status.success()); + + let report = verify_manifest_with_base(manifest, temp.path(), VerifyOptions::default()); + assert!( + error_codes(&report).contains(&"auxiliary_artifact_file_too_large"), + "FIFO artifact must be refused, got {:?}", + error_codes(&report), + ); +} From 62eb4f60eca57f13620010051a90adcc0320da5d Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 18:35:53 -0500 Subject: [PATCH 13/28] docs: scope the serial CSR contract to scan and selection Security-review note (fleet CIPHER-002): parallel finite validation introduced in the encode train transitively touches the global rayon pool from inside the 'serial' CSR primitive. The serial guarantee is about candidate scan/selection ownership, not input validation; say so explicitly. --- src/sign_bitmap.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/sign_bitmap.rs b/src/sign_bitmap.rs index 431d668..170fd62 100644 --- a/src/sign_bitmap.rs +++ b/src/sign_bitmap.rs @@ -407,6 +407,11 @@ impl SignBitmap { /// to the historical per-query rescan. The CSR output contract is /// unchanged and bit-identical to the previous implementation. /// + /// "Serial" scopes the scan and selection: no rayon is entered for the + /// candidate work, so callers own that parallelism. Input finite- + /// validation MAY briefly use the global rayon pool for large query + /// buffers (order-independent boolean reduction; deterministic). + /// /// # Example /// ```no_run /// use ordvec::SignBitmap; From b18ebafda4372722ed2a9938b31c5b3a499a3bfa Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 19:07:25 -0500 Subject: [PATCH 14/28] fix: retry interrupted reads in bounded streaming hash Bot-review remediation (Qodo, PR #277): the streaming loop surfaced ErrorKind::Interrupted as a hash failure, a reliability regression vs the previous read_to_end which retried EINTR internally. --- ordvec-manifest/src/lib.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ordvec-manifest/src/lib.rs b/ordvec-manifest/src/lib.rs index ca4becf..f0550e6 100644 --- a/ordvec-manifest/src/lib.rs +++ b/ordvec-manifest/src/lib.rs @@ -3463,7 +3463,11 @@ pub fn sha256_file(path: impl AsRef) -> io::Result { let mut size_bytes = 0u64; let mut buf = [0u8; 64 * 1024]; loop { - let n = file.read(&mut buf)?; + let n = match file.read(&mut buf) { + Ok(n) => n, + Err(err) if err.kind() == io::ErrorKind::Interrupted => continue, + Err(err) => return Err(err.into()), + }; if n == 0 { break; } From 9350b41fd7e7fb5480718ffebaaed4031f1f2659 Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 19:07:28 -0500 Subject: [PATCH 15/28] fix: assert whole-row query buffers in the streamed core MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bot-review remediation (Qodo, PR #278): the shared core derived nq by integer division; a ragged buffer from a future caller would silently truncate. All current callers validate upstream — this is the cheap in-core invariant. --- src/sign_bitmap.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/sign_bitmap.rs b/src/sign_bitmap.rs index b47f379..d44bb78 100644 --- a/src/sign_bitmap.rs +++ b/src/sign_bitmap.rs @@ -233,6 +233,10 @@ impl SignBitmap { const BLOCK_BYTES: usize = 256 * 1024; let dim = self.dim; + debug_assert!( + queries.len().is_multiple_of(dim), + "queries buffer must be a whole number of rows" + ); let nq = queries.len() / dim; let qpv = self.qwords_per_vec; let n = self.n_vectors; From a88ac2300bb0f409bf008a8ab79aa8ab58bae618 Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 19:30:53 -0500 Subject: [PATCH 16/28] perf: transpose-tree horizontal reduction in the batched sign kernel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The AVX-512 batched scan paid eight serial _mm512_reduce_add_epi64 expansions per doc-chunk — roughly a third of per-doc cycles at dim=1024 (2 lanes) going to reduction rather than XOR+POPCNT work. An unpack/permute/shuffle tree folds all eight accumulators into one vector of sums (~25 ops replacing ~50), stored via one stack spill. Tail path (batch % 8) keeps the per-accumulator reduce. Bit-identical: pinned by the AVX-512-vs-scalar parity tests and the oracle suites. --- src/sign_bitmap.rs | 59 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 57 insertions(+), 2 deletions(-) diff --git a/src/sign_bitmap.rs b/src/sign_bitmap.rs index 6c66f7c..788d0d5 100644 --- a/src/sign_bitmap.rs +++ b/src/sign_bitmap.rs @@ -765,6 +765,59 @@ fn sign_scan_collect_batched( } } +/// Fold eight u64-lane accumulators into one vector holding their eight +/// horizontal sums, in accumulator order: an unpack/permute/shuffle tree +/// (25 vector ops) replacing eight serial `_mm512_reduce_add_epi64` +/// expansions on the per-doc hot path. +#[cfg(target_arch = "x86_64")] +#[target_feature(enable = "avx512f")] +unsafe fn hsum8_epi64_avx512(accs: &[std::arch::x86_64::__m512i; 8]) -> std::arch::x86_64::__m512i { + use std::arch::x86_64::*; + { + // L1: pairwise lane sums, interleaved per source: + // s01 = [a0p01, a1p01, a0p23, a1p23, a0p45, a1p45, a0p67, a1p67] + let s01 = _mm512_add_epi64( + _mm512_unpacklo_epi64(accs[0], accs[1]), + _mm512_unpackhi_epi64(accs[0], accs[1]), + ); + let s23 = _mm512_add_epi64( + _mm512_unpacklo_epi64(accs[2], accs[3]), + _mm512_unpackhi_epi64(accs[2], accs[3]), + ); + let s45 = _mm512_add_epi64( + _mm512_unpacklo_epi64(accs[4], accs[5]), + _mm512_unpackhi_epi64(accs[4], accs[5]), + ); + let s67 = _mm512_add_epi64( + _mm512_unpacklo_epi64(accs[6], accs[7]), + _mm512_unpackhi_epi64(accs[6], accs[7]), + ); + // L2: gather even/odd u64s across pair vectors: + // e01_23 = [a0p01, a0p23, a0p45, a0p67, a2p01, a2p23, a2p45, a2p67] + let even_idx = _mm512_setr_epi64(0, 2, 4, 6, 8, 10, 12, 14); + let odd_idx = _mm512_setr_epi64(1, 3, 5, 7, 9, 11, 13, 15); + let e02 = _mm512_permutex2var_epi64(s01, even_idx, s23); + let o13 = _mm512_permutex2var_epi64(s01, odd_idx, s23); + let e46 = _mm512_permutex2var_epi64(s45, even_idx, s67); + let o57 = _mm512_permutex2var_epi64(s45, odd_idx, s67); + // L3: pairwise again -> + // w1 = [a0p0123, a1p0123, a0p4567, a1p4567, a2p0123, a3p0123, a2p4567, a3p4567] + let w1 = _mm512_add_epi64( + _mm512_unpacklo_epi64(e02, o13), + _mm512_unpackhi_epi64(e02, o13), + ); + let w2 = _mm512_add_epi64( + _mm512_unpacklo_epi64(e46, o57), + _mm512_unpackhi_epi64(e46, o57), + ); + // L4: fold 128-bit blocks: w1 blocks B0=[a0p0123,a1p0123] + // B1=[a0p4567,a1p4567] B2=[a2..],B3 -> sums = B0+B1, B2+B3. + let t = _mm512_shuffle_i64x2(w1, w2, 0b10_00_10_00); + let u = _mm512_shuffle_i64x2(w1, w2, 0b11_01_11_01); + _mm512_add_epi64(t, u) + } +} + #[cfg(target_arch = "x86_64")] #[target_feature(enable = "avx512f,avx512vpopcntdq")] unsafe fn sign_scan_collect_batched_avx512vpop( @@ -837,9 +890,11 @@ unsafe fn sign_scan_collect_batched_avx512vpop( accs[bi] = _mm512_add_epi64(accs[bi], _mm512_popcnt_epi64(xor_zmm)); } } + let sums = hsum8_epi64_avx512(&accs); + let mut sums_arr = [0u64; CHUNK]; + _mm512_storeu_si512(sums_arr.as_mut_ptr() as *mut __m512i, sums); for bi in 0..CHUNK { - let acc_sum: i64 = _mm512_reduce_add_epi64(accs[bi]); - scores[(chunk_start + bi) * n + di] = acc_sum as u32; + scores[(chunk_start + bi) * n + di] = sums_arr[bi] as u32; } } chunk_start += CHUNK; From 9d500bb21a9b1d9ef32e21656399924139ec001c Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 19:43:07 -0500 Subject: [PATCH 17/28] docs: scope the serial-contract claim in the tiled candgen entry External-audit remediation: the entry claimed 'no rayon' unqualified; finite validation on large buffers may use the global pool (documented on the method), and top_m_candidates_batched is explicitly out of scope of the internals swap. --- CHANGELOG.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a8e5d4..59e634b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,8 +26,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 which keeps the dense partition path — the streamed core measured +50–90% single-query time at small/medium `n` with `m` in the hundreds (bounded heap `O(n log m)` vs `select_nth_unstable_by` `O(n)`), while the dense path is - parity-or-better at every measured size. The serial contract is preserved - (no rayon). Together with the collector worst-bound change below, measured + parity-or-better at every measured size. The serial contract covers the + candidate scan and selection (no rayon there; callers own that + parallelism) — input finite-validation on large query buffers may + briefly use the global rayon pool (order-independent, deterministic). + `top_m_candidates_batched` (the internally-parallel convenience) is + unchanged by this work. Together with the collector worst-bound change below, measured downstream in a two-stage retrieval stack at 1.26M × 1024: batched search throughput 220 → 10.2k queries/s, results bit-identical. - **Candidate-collector accept test reduced to a cached worst-bound compare.** From 8676f17eaaa2c07071d51c4e9e3594f037962632 Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 21:19:10 -0500 Subject: [PATCH 18/28] bench: regenerate committed synthetic results at the 0.6.0 heads MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit two_stage_caller_owned_dim1024: stage-1 candidate generation 159.60 -> 94.60 us/query (1.69x), full two-stage 172.42 -> 103.75 us/query (1.66x) — same command, host, core pinning, and toolchain family; verified code-only by an A/B against main on the same day/machine (main reproduced the old numbers within 3%). rank_modes: single-query latency rows are intentionally unchanged by the batch rework (verified identical-within-noise main vs heads) and carry a refresh note saying so; encode columns reflect the parallel validation + scratch encode work. Quality columns bit-identical throughout. --- benchmarks/rank_modes_results.txt | 58 ++++++++++--------- benchmarks/two_stage_caller_owned_dim1024.txt | 34 ++++++----- 2 files changed, 51 insertions(+), 41 deletions(-) diff --git a/benchmarks/rank_modes_results.txt b/benchmarks/rank_modes_results.txt index da96d2d..8afe66e 100644 --- a/benchmarks/rank_modes_results.txt +++ b/benchmarks/rank_modes_results.txt @@ -12,7 +12,7 @@ # Corpus: SYNTHETIC low-rank clustered corpus, seed = 1 (CORPUS_SEED), in-process. # Config: dim=256 n=30000 queries=200 k=10 (the self-contained default). # Hardware class: x86_64 desktop, AMD Ryzen 9 9950X (AVX-512), 32 rayon threads. -# Toolchain: rustc 1.95.0, release profile (opt-level 3 + LTO, codegen-units 1). +# Toolchain: rustc 1.95.0 (59807616e 2026-04-14), release profile (opt-level 3 + LTO, codegen-units 1). # # DETERMINISM: the QUALITY columns are seeded and bit-identical run-to-run on # the same machine — verified by two back-to-back runs (R@10, CR, bytes/vec, @@ -51,34 +51,38 @@ # --corpus-npy /path/to/corpus.npy --queries-npy /path/to/queries.npy # =========================================================================== +# Refresh note (0.6.0 batch work): the per-query latency rows in this table +# measure SINGLE-QUERY single-thread scans — paths intentionally unchanged +# by the 0.6.0 batched candidate-generation rework (verified: identical +# within noise between the pre- and post-rework code on the same toolchain +# and machine). The encode columns improved (parallel finite validation + +# scratch-based rank encode). Batched candidate generation improvements are +# measured by examples/two_stage_bench (see +# two_stage_caller_owned_dim1024.txt: stage-1 1.69x on the committed +# workload) — they do not appear in this single-query table by design. + target arch x86_64 / opt-level 3 + lto (release profile) -x86_64 features detected: sse4.2, avx2, fma, avx512f, avx512bw, avx512vl -rayon threads = 32 (encode + brute-force GT are parallelised; per-query latency rows measure single-thread scan) -generating low-rank clustered corpus (clusters=200, latent=64) ... - done in 0.17s (seed=1, self-contained) -bench_rank: dim=256 n=30000 queries=200 k=10 -FP32 brute-force ground truth ... - done in 0.03s + mode bytes/vec total MiB encode v/s p50 ms p99 ms GiB/s ns/dim Mdocs/s scan R@10 ------------------------------------------------------------------------------------------------------------------------------------ -RankIndex sym 512 14.6 4559550 3.959 4.379 3.61 0.515 7.58 0.7825 -RankIndex asym 512 14.6 4559550 3.712 4.012 3.85 0.483 8.08 0.8450 -RankQuant b=2 sym 64 1.8 5251083 2.534 2.761 0.71 0.330 11.84 0.4660 -RankQuant b=2 asym 64 1.8 5251083 0.238 0.245 7.51 0.031 125.94 0.5715 -RankQuant b=2 asym byte-LUT 64 1.8 5095754 0.754 0.764 2.37 0.098 39.78 0.5715 -RankQuant b=2 fastscan 128 3.7 283630 0.090 0.093 39.69 0.012 332.93 0.5700 -RankQuant b=4 sym 128 3.7 5205223 2.634 2.885 1.36 0.343 11.39 0.7475 -RankQuant b=4 asym 128 3.7 5205223 0.313 0.317 11.42 0.041 95.79 0.8055 -RankQuant b=4 asym byte-LUT 128 3.7 5324938 1.644 1.662 2.18 0.214 18.25 0.8055 -RankQuant b=1 sym 32 0.9 5523695 2.467 2.745 0.36 0.321 12.16 0.2785 -RankQuant b=1 asym 32 0.9 5523695 2.446 2.478 0.37 0.318 12.26 0.3470 -Bitmap n_top=64 32 0.9 5576810 0.081 0.084 11.02 0.011 369.67 0.2480 -SignBitmap probe 32 0.9 19641040 0.091 0.099 9.81 0.012 329.12 0.2880 -TwoStage b=2 M=100 CR=0.976 96 2.7 2689552 0.098 0.107 27.45 0.013 306.99 0.5700 -TwoStage b=2 M=500 CR=1.000 96 2.7 2669862 0.109 0.122 24.62 0.014 275.39 0.5715 -TwoStage b=2 M=1000 CR=1.000 96 2.7 2742585 0.122 0.135 21.90 0.016 244.94 0.5715 -TwoStage b=2 M=5000 CR=1.000 96 2.7 2674849 0.240 0.253 11.19 0.031 125.10 0.5715 -SignTwoStage b=2 M=500 CR=1.000 96 2.7 4038493 0.106 0.114 25.37 0.014 283.74 0.5715 +Rank sym 512 14.6 4175858 3.727 4.330 3.84 0.485 8.05 0.7805 +Rank asym 512 14.6 4175858 3.537 4.008 4.04 0.461 8.48 0.8330 +RankQuant b=2 sym 64 1.8 4246863 2.535 3.063 0.71 0.330 11.84 0.4555 +RankQuant b=2 asym 64 1.8 4246863 0.297 0.313 6.01 0.039 100.85 0.5785 +RankQuant b=2 asym byte-LUT 64 1.8 4399340 0.630 0.785 2.84 0.082 47.65 0.5785 +RankQuant b=2 fastscan 128 3.7 249604 0.109 0.112 32.90 0.014 275.98 0.5845 +RankQuant b=4 sym 128 3.7 4221293 2.602 3.182 1.37 0.339 11.53 0.7425 +RankQuant b=4 asym 128 3.7 4221293 0.373 0.508 9.59 0.049 80.48 0.8095 +RankQuant b=4 asym byte-LUT 128 3.7 4299550 1.217 1.693 2.94 0.158 24.65 0.8095 +RankQuant b=1 sym 32 0.9 4435777 2.400 2.815 0.37 0.313 12.50 0.2890 +RankQuant b=1 asym 32 0.9 4435777 2.394 2.801 0.37 0.312 12.53 0.3790 +Bitmap n_top=64 32 0.9 4260526 0.064 0.066 14.02 0.008 470.51 0.2495 +SignBitmap probe 32 0.9 14021070 0.045 0.053 19.81 0.006 664.67 0.2745 +TwoStage b=2 M=100 CR=0.978 96 2.7 2356573 0.053 0.059 51.04 0.007 570.90 0.5795 +TwoStage b=2 M=500 CR=1.000 96 2.7 2462261 0.067 0.081 39.87 0.009 445.98 0.5785 +TwoStage b=2 M=1000 CR=1.000 96 2.7 2256172 0.082 0.091 32.78 0.011 366.64 0.5785 +TwoStage b=2 M=5000 CR=1.000 96 2.7 2339041 0.186 0.198 14.39 0.024 160.97 0.5785 +SignTwoStage b=2 M=500 CR=1.000 96 2.7 3605670 0.064 0.074 41.71 0.008 466.56 0.5785 -{"dim":256,"n":30000,"queries":200,"k":10,"rows":[{"name":"RankIndex sym","bytes_per_vec":512,"total_mib":14.648,"encode_vps":4559549.8,"p50_ms":3.9589,"p99_ms":4.3786,"gib_per_sec":3.613,"ns_per_dim":0.5155,"docs_per_sec":7577944.8,"recall_at_10_vs_fp32":0.7825},{"name":"RankIndex asym","bytes_per_vec":512,"total_mib":14.648,"encode_vps":4559549.8,"p50_ms":3.7118,"p99_ms":4.0118,"gib_per_sec":3.854,"ns_per_dim":0.4833,"docs_per_sec":8082284.1,"recall_at_10_vs_fp32":0.8450},{"name":"RankQuant b=2 sym","bytes_per_vec":64,"total_mib":1.831,"encode_vps":5251083.2,"p50_ms":2.5342,"p99_ms":2.7609,"gib_per_sec":0.706,"ns_per_dim":0.3300,"docs_per_sec":11837877.9,"recall_at_10_vs_fp32":0.4660},{"name":"RankQuant b=2 asym","bytes_per_vec":64,"total_mib":1.831,"encode_vps":5251083.2,"p50_ms":0.2382,"p99_ms":0.2448,"gib_per_sec":7.507,"ns_per_dim":0.0310,"docs_per_sec":125940354.6,"recall_at_10_vs_fp32":0.5715},{"name":"RankQuant b=2 asym byte-LUT","bytes_per_vec":64,"total_mib":1.831,"encode_vps":5095754.3,"p50_ms":0.7542,"p99_ms":0.7642,"gib_per_sec":2.371,"ns_per_dim":0.0982,"docs_per_sec":39777827.6,"recall_at_10_vs_fp32":0.5715},{"name":"RankQuant b=2 fastscan","bytes_per_vec":128,"total_mib":3.664,"encode_vps":283630.2,"p50_ms":0.0901,"p99_ms":0.0926,"gib_per_sec":39.688,"ns_per_dim":0.0117,"docs_per_sec":332930118.0,"recall_at_10_vs_fp32":0.5700},{"name":"RankQuant b=4 sym","bytes_per_vec":128,"total_mib":3.662,"encode_vps":5205222.9,"p50_ms":2.6344,"p99_ms":2.8850,"gib_per_sec":1.358,"ns_per_dim":0.3430,"docs_per_sec":11387896.0,"recall_at_10_vs_fp32":0.7475},{"name":"RankQuant b=4 asym","bytes_per_vec":128,"total_mib":3.662,"encode_vps":5205222.9,"p50_ms":0.3132,"p99_ms":0.3165,"gib_per_sec":11.419,"ns_per_dim":0.0408,"docs_per_sec":95788804.8,"recall_at_10_vs_fp32":0.8055},{"name":"RankQuant b=4 asym byte-LUT","bytes_per_vec":128,"total_mib":3.662,"encode_vps":5324938.4,"p50_ms":1.6437,"p99_ms":1.6621,"gib_per_sec":2.176,"ns_per_dim":0.2140,"docs_per_sec":18251816.7,"recall_at_10_vs_fp32":0.8055},{"name":"RankQuant b=1 sym","bytes_per_vec":32,"total_mib":0.916,"encode_vps":5523695.1,"p50_ms":2.4667,"p99_ms":2.7455,"gib_per_sec":0.362,"ns_per_dim":0.3212,"docs_per_sec":12161849.9,"recall_at_10_vs_fp32":0.2785},{"name":"RankQuant b=1 asym","bytes_per_vec":32,"total_mib":0.916,"encode_vps":5523695.1,"p50_ms":2.4461,"p99_ms":2.4776,"gib_per_sec":0.366,"ns_per_dim":0.3185,"docs_per_sec":12264561.3,"recall_at_10_vs_fp32":0.3470},{"name":"Bitmap n_top=64","bytes_per_vec":32,"total_mib":0.916,"encode_vps":5576810.4,"p50_ms":0.0812,"p99_ms":0.0838,"gib_per_sec":11.017,"ns_per_dim":0.0106,"docs_per_sec":369672100.8,"recall_at_10_vs_fp32":0.2480},{"name":"SignBitmap probe","bytes_per_vec":32,"total_mib":0.916,"encode_vps":19641040.3,"p50_ms":0.0912,"p99_ms":0.0985,"gib_per_sec":9.809,"ns_per_dim":0.0119,"docs_per_sec":329124200.5,"recall_at_10_vs_fp32":0.2880},{"name":"TwoStage b=2 M=100 CR=0.976","bytes_per_vec":96,"total_mib":2.747,"encode_vps":2689552.2,"p50_ms":0.0977,"p99_ms":0.1074,"gib_per_sec":27.447,"ns_per_dim":0.0127,"docs_per_sec":306987024.7,"recall_at_10_vs_fp32":0.5700},{"name":"TwoStage b=2 M=500 CR=1.000","bytes_per_vec":96,"total_mib":2.747,"encode_vps":2669861.7,"p50_ms":0.1089,"p99_ms":0.1216,"gib_per_sec":24.622,"ns_per_dim":0.0142,"docs_per_sec":275393583.3,"recall_at_10_vs_fp32":0.5715},{"name":"TwoStage b=2 M=1000 CR=1.000","bytes_per_vec":96,"total_mib":2.747,"encode_vps":2742584.6,"p50_ms":0.1225,"p99_ms":0.1347,"gib_per_sec":21.899,"ns_per_dim":0.0159,"docs_per_sec":244937949.1,"recall_at_10_vs_fp32":0.5715},{"name":"TwoStage b=2 M=5000 CR=1.000","bytes_per_vec":96,"total_mib":2.747,"encode_vps":2674848.6,"p50_ms":0.2398,"p99_ms":0.2534,"gib_per_sec":11.185,"ns_per_dim":0.0312,"docs_per_sec":125103731.8,"recall_at_10_vs_fp32":0.5715},{"name":"SignTwoStage b=2 M=500 CR=1.000","bytes_per_vec":96,"total_mib":2.747,"encode_vps":4038492.8,"p50_ms":0.1057,"p99_ms":0.1143,"gib_per_sec":25.369,"ns_per_dim":0.0138,"docs_per_sec":283744289.6,"recall_at_10_vs_fp32":0.5715}]} +JSON: diff --git a/benchmarks/two_stage_caller_owned_dim1024.txt b/benchmarks/two_stage_caller_owned_dim1024.txt index 765a3a6..f4399eb 100644 --- a/benchmarks/two_stage_caller_owned_dim1024.txt +++ b/benchmarks/two_stage_caller_owned_dim1024.txt @@ -2,20 +2,26 @@ Caller-owned serial two-stage decomposition — Harrier-1024 shape (SYNTHETIC co Reproduce: cargo run --release --example two_stage_bench -- --dim 1024 --n 50000 --queries 200 --m 256 --k 10 --reps 15 Host: AMD Ryzen 9 9950X (Zen5), AVX-512 VPOPCNTDQ, single core (taskset -c 12), single-thread. +Toolchain: rustc 1.95.0 (59807616e 2026-04-14), release profile. dim=1024 n=50000 queries=200 m=256 k=10 bits=2 out_k=10 candidates=51200 reps=15 - 1. stage-1 candidate gen (CSR) 31.920 ms 6265.59 q/s 159.60 us/query - 2. single-query rerank loop 2.086 ms 95858.02 q/s 10.43 us/query - 3. batched rerank _into 2.031 ms 98463.67 q/s 10.16 us/query - 4. full two-stage (1+3) 34.485 ms 5799.70 q/s 172.42 us/query - rerank speedup (batched _into vs single-query loop): 1.03x + (dim % 64 == 0: AVX-512 tier eligible when supported) + 1. stage-1 candidate gen (CSR) 18.920 ms 10570.68 q/s 94.60 us/query + 2. single-query rerank loop 1.807 ms 110656.07 q/s 9.04 us/query + 3. batched rerank _into 1.780 ms 112367.69 q/s 8.90 us/query + 4. full two-stage (1+3) 20.750 ms 9638.68 q/s 103.75 us/query + rerank speedup (batched _into vs single-query loop): 1.02x -Interpretation (no-fiction): at dim=1024 the rerank stage is a small slice -(~10 us/query) of an already-stage-1-dominated two-stage cost (~160 us/query); -the batched _into form is on par with the single-query loop SINGLE-THREADED -(~1.03x). The caller-owned serial primitives are NOT a single-thread speedup — -their value is (a) allocation-free steady state (tests/alloc_free.rs proves 0 -heap allocations on a warmed _into call) and (b) caller-owned parallelism: no -internal rayon, so a DB/runtime can drive the _into form across its own bounded -pool (GIL released) one query-range per worker. This dim=1024 result is its own -mechanism; it is NOT explained by the SignBitmap AVX-tail dim=768 result. +Interpretation (no-fiction): stage-1 candidate generation now streams the +corpus ONCE per call in L2-sized doc blocks with bounded (hamming, doc_id) +collectors — 94.60 us/query vs 159.60 us/query for the same command on the +same host and pinning before the 0.6.0 batch work (1.69x; full two-stage +1.66x). Output is bit-identical (oracle-pinned in tests/tiled_candgen.rs). +The rerank stage is unchanged in design and remains a small slice +(~9 us/query). The caller-owned serial primitives still do NOT enter rayon +for scan/selection — a DB/runtime drives the _into form across its own pool +(input finite-validation of large query buffers may briefly use the global +pool; order-independent and deterministic). Their value remains (a) +allocation-free steady state and (b) caller-owned parallelism; at dim=1024 +the call-level scan sharing is now the dominant win and grows with the +batch size per call. From f128d8335962599ca40b5e41e0d9919a339c29ee Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 21:37:05 -0500 Subject: [PATCH 19/28] docs: refresh README benchmarks at the 0.6.0 heads MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit All figures and numbers regenerated by the committed make benchmark-beir pipeline on the same host class (9950X). Quality: nDCG within bootstrap noise of exact on both datasets, sign-rq2 trec-covid 0.7638 unchanged (deterministic selection held bit-identical through the perf train). Single-query hero effectively unchanged (52.4 ms flat vs 0.52 ms sign-rq2, ~101x) — that lane was intentionally untouched. Batched 1-thread view improves to ~10-12x over batched flat (once-per-call corpus streaming); threaded view: HNSW still leads, margin narrowed from ~2.3x to 1.6x over sign-rq2 (1.2x over bitmap-rq2). Build 47.1s vs 0.21s. No larger-corpus claims added. --- README.md | 51 ++++++++++-------- .../beir/figures/bars_single_thread.png | Bin 82096 -> 81407 bytes benchmarks/beir/figures/bars_threaded.png | Bin 87751 -> 86722 bytes benchmarks/beir/figures/scaling_curve.png | Bin 145541 -> 147954 bytes 4 files changed, 29 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 76910e5..e95bc58 100644 --- a/README.md +++ b/README.md @@ -38,9 +38,10 @@ append-friendly, and graph-optional. > trec-covid run below; the harness also supports nfcorpus and fiqa. ordvec wins > single-query latency against exact `flat` on the committed 171K-doc run and on > operability (no build, no tuning, append-only); in the committed default-method -> threaded view, HNSW still wins highly-parallel batched serving. Larger-corpus -> and alternate-encoder studies are active research, not public release claims -> until their artifacts land in this repository.** +> threaded view, HNSW still leads highly-parallel batched serving, though 0.6.0's +> once-per-call corpus streaming narrowed that margin (see the threaded view +> below). Larger-corpus and alternate-encoder studies are active research, not +> public release claims until their artifacts land in this repository.** **Public evidence snapshot.** The load-bearing result in this README is narrower than the research backlog: Harrier-Q8 embeddings on public BEIR data, scored @@ -60,8 +61,8 @@ and the gap widens over the committed subsampling sweep: ![ordvec speedup over exact search grows with corpus size](https://raw.githubusercontent.com/Project-Navi/ordvec/main/benchmarks/beir/figures/scaling_curve.png) - **~100× faster than exact `flat`, single query, at 171K docs.** Single-query - latency: exact `flat` 56 ms vs ordvec `Sign→rq2` **0.53 ms** — the gap over `flat` - grows with the corpus (it is ~5× at 1K docs). + latency: exact `flat` 52.4 ms vs ordvec `Sign→rq2` **0.52 ms (≈101×)** — the gap + over `flat` grows with the corpus (it is ~4.4× at 1K docs). - **8–16× smaller for the reported qrel rows.** The b=2 rank code is 256 B/vector (16× smaller than 4096 B floats), b=4 is 512 B (8×), and the reported two-stage `sign→rq2` row accounts for both stage-1 sign codes and the RankQuant reranker @@ -70,8 +71,10 @@ and the gap widens over the committed subsampling sweep: followed by RankQuant b=2 rerank. At **nDCG@10 within bootstrap noise of exact** (on trec-covid the ordinal rows even edge ahead; see [Benchmarks](#benchmarks)). - **vs HNSW (the honest public scale story).** On the committed trec-covid run, - ordvec wins single-query latency while HNSW wins the highly-parallel threaded - view. That is the public comparison here. At larger corpora, graph or shard + ordvec wins single-query latency (≈3× at batch 1) while HNSW leads the + highly-parallel threaded view — by 1.6× over `sign→rq2` and 1.2× over + `bitmap→rq2` after 0.6.0's batched candidate generation (previously ≈2.3×). + That is the public comparison here. At larger corpora, graph or shard layers are the right comparison target; this README does not claim public million-scale HNSW crossover or GPU bandwidth numbers until the underlying run artifacts are committed. @@ -384,13 +387,13 @@ run; regenerate your own with `make benchmark-beir`. | Dataset | Method | Bytes/vec | nDCG@10 | Δ vs flat (95% CI) | |---|---|--:|--:|---| -| scifact (5,183) | `flat` (exact) | 4096 | 0.7551 | (baseline) | -| | `hnsw` M=32 | 4096 + graph | 0.7554 | +0.0003 * | -| | **ordvec rq4** | **512** | **0.7549** | −0.0003 * | -| | ordvec rq2 | 256 | 0.7471 | −0.0080 * | -| | ordvec sign→rq2 | 384 | 0.7471 | −0.0080 * | +| scifact (5,183) | `flat` (exact) | 4096 | 0.7559 | (baseline) | +| | `hnsw` M=32 | 4096 + graph | 0.7573 | +0.0014 * | +| | **ordvec rq4** | **512** | **0.7580** | +0.0021 * | +| | ordvec rq2 | 256 | 0.7484 | −0.0075 * | +| | ordvec sign→rq2 | 384 | 0.7484 | −0.0075 * | | trec-covid (171,332) | `flat` (exact) | 4096 | 0.7574 | (baseline) | -| | `hnsw` M=32 | 4096 + graph | 0.7555 | −0.0019 * | +| | `hnsw` M=32 | 4096 + graph | 0.7600 | +0.0026 * | | | ordvec rq2 | 256 | 0.7632 | +0.0057 * | | | **ordvec rq4** | **512** | **0.7636** | +0.0062 * | | | ordvec sign→rq2 | 384 | 0.7638 | +0.0064 * | @@ -411,33 +414,37 @@ views (trec-covid, 171,332 docs, 1024-d): ![single-query latency bars](https://raw.githubusercontent.com/Project-Navi/ordvec/main/benchmarks/beir/figures/bars_single_thread.png) -`flat` 56 ms → ordvec `sign→rq2` **0.53 ms (≈106×)**, `bitmap→rq2` 0.62 ms (≈91×), -`hnsw` 1.5 ms (37×). The scaling curve [above](#benchmark-at-a-glance) is this +`flat` 52.4 ms → ordvec `sign→rq2` **0.52 ms (≈101×)**, `bitmap→rq2` 0.58 ms (≈90×), +`hnsw` 1.5 ms (≈34×). The scaling curve [above](#benchmark-at-a-glance) is this view swept over the committed subsamples — the speedup over `flat` grows across that public sweep. **2. Batched throughput (batch = 32, 1 thread)** — when many queries arrive at -once, `flat`'s GEMM amortizes the corpus stream across the batch (56→4 ms), -narrowing the gap: ordvec `sign→rq2`/`bitmap→rq2` stay ≈8–9.5× ahead. +once, `flat`'s GEMM amortizes the corpus stream across the batch (52→3.8 ms). +Since 0.6.0, ordvec's batched candidate generation amortizes the same way — the +serial CSR path streams the corpus **once per call** instead of once per query +(1.69× on the committed synthetic two-stage bench) — so `sign→rq2` 0.33 ms / +`bitmap→rq2` 0.38 ms stay **≈10–12× ahead** of batched `flat`. **3. Many cores (batch = 32, 32 threads)** — everything parallelizes and the field compresses; `hnsw` threads best: ![threaded throughput bars](https://raw.githubusercontent.com/Project-Navi/ordvec/main/benchmarks/beir/figures/bars_threaded.png) -`hnsw` 4.8× vs `flat`, ordvec `bitmap→rq2` 3.7×, `rq2` 2.5×, `sign→rq2` 2.1×. +`hnsw` 4.9× vs `flat`, ordvec `bitmap→rq2` 4.0×, `sign→rq2` 3.1×, `rq2` 2.2×. This committed chart uses the default `sign-rq2` row, not the newer within-query-threaded `sign-rq2-threaded` probe row; regenerate public figures before using that probe for release claims. In this default-method view, -**HNSW wins this regime** — by a hair on threaded throughput. The honest +**HNSW still leads this regime** — 1.6× over `sign→rq2` (≈2.3× before 0.6.0's +once-per-call corpus streaming) and 1.2× over `bitmap→rq2`. The honest ordvec-vs-HNSW tradeoff, all from this same run (trec-covid, 171,332 docs): | | HNSW M=32 | ordvec `sign→rq2` | |---|---|---| -| threaded latency (32 threads, batch 32) | **0.23 ms** ✅ | 0.52 ms | -| single-query latency (batch 1) | 1.52 ms | **0.53 ms** ✅ (~3×) | +| threaded latency (32 threads, batch 32) | **0.20 ms** ✅ | 0.32 ms | +| single-query latency (batch 1) | 1.52 ms | **0.52 ms** ✅ (~3×) | | index size / vector | 4096 B + graph | **256–384 B** ✅ (8–16× less) | -| build time, 171K docs | **51.4 s** | **0.26 s** ✅ (training-free) | +| build time, 171K docs | **47.1 s** | **0.21 s** ✅ (training-free) | | nDCG@10 (trec-covid) | 0.7555 | **0.7638** ✅ | So even where HNSW edges ahead on threaded latency, ordvec gets there with **no diff --git a/benchmarks/beir/figures/bars_single_thread.png b/benchmarks/beir/figures/bars_single_thread.png index 5fb4b371497ba030681fd3236bb793dcf3ef7924..f989c60cd76c5ade44adb1b937fabf20a0a73c73 100644 GIT binary patch literal 81407 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

Z`+)){ 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
b#}(Es#7{pNP0hU>rMWP zjeJJAM!&$n;8ppx_Y2&!8>6mBjMikWYYv!!R0PWh*_xm^AT%k4rB-J3ji|5c4Csss ztiJ%l2{|I57S@3TeFn}=&Kh?o$`$Y|-}4Fs(2#TF$#WR8RuO&IcMi&qUr3kVR@;C1 z_xD{a+_!O$Zpsn25ge+tHj`=Ar2ol7VkI#Pn*jLBZDb~dm*y*6I!Pn&G37{9LSXpn zsB4ty1Bhf51qG>%6GQ`P1m0uQeB0&O)hdI+2~6d1q2Vn&v%U|a+7MGv*tgB8le@4d z0a9Mm^7evqxv^qXQy2zA>o5yvrGpDz6kc$Qs!&}g7bLjY9425X%E`q>?LEau-kZe^ zWIpc!;#Y!Bd>Lr+!!r*|8w$HnQy<98XwM@*(PhI0+(nFVdoLRPQxl zpFLS{`flx^hIx5MF8{kR{4KHMjGQ{z9*l7>BlFg$Ld3H$oTS+FzYnoB`$d6+GVk)+dxLoNbFPUC@591Cx;h3QP9Zjl~JFp25Spv%ea6{)zpC z7hg6_e2yM$9RwBdUqR(EQWF7@WL^uu+w?*xj|(Djj^(P3cLqfMNxjfjSdCK^eGNgoN^>-Bg5sT7t%5WquJ4UK)Xr1hMiQ zQeKmSzO`^><(Mu|u;={-O~>e*KHIH7pxwws#^%92Ya}p}J=O;>Kp6A26nOv=$%%ci zx&~QuCVE9M(FTMunu48!^hmrP&!h>UiX$oJR|D+V&fnj9Y{IUQ=64_r?01f{65J&s zoV(X})K4`)r@suv%08GGl;MNQN<=K540d>KYc<{wFnaO|DrP0`;AYlrG{DEIj&tbu z(Y5mco-){;Zz{ftAxFIDQ>^guPQWk z1Wkcjabu4nz)Hczr3A@MeG2|jq(y~GM)k$geNWBOZnzE zsNf#0_O2&X5=!%X z4ZKFw&M%|$gWZ4VNjlD0zQ#kFTK!05ZFY?hj`vVOM8v2Xm*XJLpchWhW)HkQzJOI% zTKEoA2H;bkuC@>eGiA~K5im8yGvPOIvCvYlHAXdtKXWpQ79bSmQk|X03L~3f< zM8gQLbo9=tt`zw97JR$#DY#e1ArEdOnFh_QX7aRVKoVJT$cx2765kte+OhFuX5`-? zuh5I;aX>{jHq`$uOi>IBjBlXK`3Yx43*g2b{+&kgz%o(^n7# zSsVlei;u2I7sG@5y0#zIqHzA_$McP!Xl3Jo>GENL8iU~O-Meq>uU)5(f*MT)V9-ne zzWSHp=noq?1~%g+BtRT4-hs;(O4Ztrar56Lv_vHAwu3#n;8L91nX2ruEe>=BBCGbu4v=upu3M8Fogs3>Uc>bO<4t8#B@{8`Wqt31nzM}gqQ`Z()=$qGz;%Q z(D`c|4)yVIcNm8=TNL(GLp)-dDN>vf&j0WGU4R0Kjl-$)*2a6b*0r-1ZjM{S2_AA4 ze0ooi50>u!HTG!I>jkPnQ~e&~zI4HCCT3Vk`y<--l|co>?6LooXM-N)XrbkbFf9%XwsOs3v@LE}64*0IP@(tLy7FSwZk&El#G?hqGUqTZS@0-lh`M5#ov>}n(Ob=l@lf#t6}g%Favyol*~xC#o1VpJY0qgou# z<^GR`R4q)mgPpkQP2>VhySD4x_tHVZrzVKljp#lze;*jQA7~7`R^2g;tPQ1aM=nyv zG`>7{diUI2LZ}HIU=_RnTXGl_nh9?Rd};@&aMUMfrBSdhz97og)iRhgAO$AtUqpwV z;C2)i%!gfrXW$Y9loiq9o>mNN*7OU(z7}jRVFa9K%?=qVH~Q$H939?rp>>2^!X;P^ z*3S80{jz{c(Cru{EVPr>OU>&oa7}%uci_&b=N`cnwht^JpVj0Xg z#sMY@5Y%N2ZT=%V*J~|2u__>ES4i<#p;+Aqk>@X`ST<=n8&VrbIVt?CH^AP#&y~3p z?Dc%(%v2Nf1_gMU8x9S~fxS}(eXghMyddl-ubKxI?NhAwMP2zS!Eo()Y8`{zgyo=pBe`SzuD6A zd2f`R%K4+Y`n=^(fU5CE$FUO)V9OouIB>uBOmK$<`ZCIyr>nr5^wU3Zf7t^S={M-f zx#56#2e$Rw@jK8HnYJ0sg|uCOGs{7gMPPz2pQ)^S=E9_84z&Nz9x9t!eIV34q+!}* zGf;~;*(3LFCFi{UI`)n`y)-qG97_rjIo{6ee=BW@eqsp^-7ji!`MN;mrbI)!w%*QH zspG`zD3+B+NZ12@B`zv2dMz$`rFa7wdWQ=WtR1%h)(&i3Od9E7l1^PjFpDjH+ARA{ z*QP8!)FAi{q)eVY;Gt{Ts_TrTiwCvf#yD(22jrVDeC@DCmbVU4_kxpRVFZrkuE)ou z%GYTB4oyN2TiDRGAalwCwts8D1u5&-p`WW6NCq>`ae?DZO{pY)c|>{+m1q5A188dN zwqZlGf>O@F^A1FiYP8%sENv4((#JjyqGnaXT8bXHVp?M`SZ;fNtKnZ~DJQomJ6{W@ z^V-jA3AMy61#r>2A=^(_i6jm%Pkl-er`+-ZS0Ru_7kC{2JJyj|iz@-$Q7G4#<>s%fBhABK22C~G2kO&RAb zT)kABCT3FD_Ti5oj;>xp_d5TkvWX`!V_kHteFBMoH@L_O%HK0?^fcop=YDP}NJ~j; zClm}cFh|2YjN1T}vn%WU5Aoo`R72*6mpuZ{KMMpmP}-HBgAOqZCR>%k-6A%&s1JIeqoRA*#c*A#SU4(j}G{%GR}0^q+GeE z9Dnc?g~{J6P{h!IGng52G?N}tm3sqd#U&z+*h-XB#A|In0wd&j8E-b7lr6*=d?(*5g@!|0sAdj4Zs{md{uS#AP=DOwH_o> zuz(o5-6zsJ2_L=^!0tY^FCQRZ=ulSb7k(84-t@KE8%4MpqO&N-uqx#(+U&B6iS3NQL z#lxl~N4(+B%VgQ{Hfbd^7fC5QbZCVU43#NgK(SW_YDuNXRMXy@rJaY^sE;P{g2(?1 z8RnLD-XptZRruc%EPqX>zoy4QAS={;hDu4y4ib2+x?`0M2h-w{_|2M8`f5Id0ypkH z@|EH)$#C z=1!p4+P$pLncVPEzKlzIoe(Y^X z&VoOANTdXI?$UZ=OqXNh;y(L=Tj0}05G9++hrSfW%eC0F^gP2>azs4ogBfnbiP6_ok{pkXzB2?G=eudA7Jm>9L3K+yU!knD9!3a)a8 zSW>P&LaJ|Ztuh%f$kb0E--sg5nc&~G^}ta^TU!bmzRPJPzC4f$*&^SFRt}=k{nUz) z+6lHCS!*MT1gA|<0}LOqR%A$H^g~*U&I+8ZJ;1B^(TC!iATyboc!hu&E7 z?(6kxaM@8N$UNpkZ|39X?Z$|P+YH8nhR!8Ib4o@CH8K4AyXjIHw%8-=R)_^jw|)9&2relr?@AJY948@cbrp|h4Gas?*4quLY9NhHow>xuZBhK|6d8`hn`kS) zb+TUH5M1^bgKap8CJ$i>NK7kOs<=z>RwHr=%322k%GCe7m6MBJJjlHVn&`tusIZ|q zq{DNnbsV;9__3fqRYYR*QhJ@|8RW`4KQ02NspAe`W*>y=jBGfAaKJDXZlkGsJ`2(e zFor&|`}-GiUDo6;0PRrZwB-|I`mAB{^1^M^6H?5^))7O}FH1kUKv1sRGkGx+>%GH{ z;ts~;ct>&!0E7xOC0Wo{QL>!_CsiSgIFx0Nv=qKE3-qH*&qG&t^-~ILO?Eimi?(cF z2Dw@vHRIQgT@Rgxr(BOCk!I`aL9;Ftf5LV;U^ppG4dkRC^d~kmDwGN)qhy{kUj^CF zL(!Li>rMD~pHG>hkL)r8NXkr^^nFZWIrqy=z?TL5AMW-uuY+v)({cQ z5)1~EB=Iu32OaSk)hrx6hx`NAi!><_3Y(C(T=$O-q2nLp6wRIPyhdu&;Q1iXJz)r4 z_$c8U#?BqcOZ5!8vWptH41q*0CVBkRe3Q@YjzdQ5yc1fWX{=nOK=ae1rKTYtzkDY8^C^#CrxOQUc*O`*tX&{hqY$HPghXEc94l$L?t+4S<^H=-!{>kW^_3!{{6pUS7%3;@4OQiH&LY{V#WyE`4;VG^>p-danX75TJ>^KY7;fC z_w5@d5ew%rOh5e_$++;J-Oh9xbgo^XW4n2Uw()sOnpeymA@g*M_=iazb)^zwtVYh8 zS7N#`E}8!%dY`(sYi#G(%2}gZ_G!HKKPxobrnx3J`f|&cNP04tVB=M6KAfW6I*vbrsiF-D`QvEd9&*co|}$`3E0g#QB*)8)ud1k_80+Gn)~ zu?w^}6=G9UQw9Bk*?qUbFOSops4c&N%hoj~Ge%08um9;yat@UVj>fQU+<%_|J_X~4 zQ9|`)IJ)wUFCdtKeEmu9hijUJyjzf0i-d(yp0skIKruH;k7U$;w2sy5bbw&ash0&H z4crIdPb~f=*abaZI}cBiL|tuSz5YWW34<`W4PA-?ygsZVBNF-(hwFoI{@O_g>W>00 z@$bM$b3#Ya!PFy7O>kpqb<}E1_nEwYT}YvD5(93&=@c zA5P#Z8=UzI{-dFfVm6j?yv3kzUF#?EsUbL&>G+370%|k}b1ptgVQ)PgtiyO0^vMDl z%Ro5Q55Ub&5JSBK9(TRnqR|tN8Qm;-bs&|@6v@9q?8G_K%#5K`Z;PSx>Vm91B!)!` zpaQVdRUDMUHTd=PyCCOh5Ml6uk|-YZF5lo76vhl5Z|jYAr+XgFt}C?RdMxvAm51I# zaMOD=)>DNE2dp}UkS5$~ee7``ftC?y6-BUHF^M5F59Y6wsg7^s64`%C;Lo^PJt&zC;cERy8c*NE^g^Mt_B(g3<)}pSIu5~sxZlk{k<(KL3o{DA`mQ{Jc``$B zBH(@*YRA$!qNjrFOmo6B52#awmv9IYQ^C>i4XJo#Fy;hm>rjOgp#0PGO8;FDIpQh6 z6og%Zu-ZULf-ez&20#}J;GO1w>jsMvglQkbx>Ufuepn03!^*iYMZ%EN6H;8LR?Z>2 zwh^j6R6p0Zc+X#*U>E26k)z3l-bMBx<9c=`ScMFo~*BlZ+SV${I-Iw;EO2W@)~ z3EQ4v^kZ!iJd?E{^9)OzWY%PPH7-yR4jrGzg&=%Hy9K~DWn}CA0)1Oix(S8skraVH zd*<2eWu)xrtpNpzD%!v?;zHY_^<2L*lQVh&L&Ot93VnM2M zeMpaXR50P!E?m;_r+3weSFp+|p#jd+5mm?i-GsfLJ z)aPbp0=*pelsjbH20DU0fPS#Sbty#*j5Fi#H10Kz!;@06D1I-gWa%qb{1+-hO^d+h zVbGZTgdr1A0Gq0U-~A`h*+ZLpMih8E^hee6zTa0F-{G|60Whr!?1>e?r--g#Y^uC| z&3`J&k?TkdHk{poSsO*_U&hh&8Ak;1vv+l;wZ{RirHxiet|D?{a=u3jK- zGaS=rQt$XeQ*{n=#cww$c1!{HdsM>$sTBf%<>DnEV{bObSr|hB1HYHVcW|})Ikb8i z+KU#~er+qr#ZH(##gAoV9JCG!lr&>29ceZX!5-oZ;d6s4D1w zd4W$EBf1*<^hanZlBbL3y@-7X-tx**?y6sprrZGhY>y#ngn=W~KGK@pfp0l20qRd0 zbvxa+wq5A4@=TSh zNkB-^#xMMc-viFoegmTo0{;@lH@#QUQ-VK669xbxNV6PFr??Pml?dH(zX6eXl=7f)gNl*IK*a=5bJweB4m% zbVT8B-!(w?H(JvF7paiqDKU|%&je#Bia*L1y}*Xk|kthCPEq48(20ZYaA0S)vwQKzrch|6+ZRNr&F z@2Nw2`Q`_Dt44M={lZkb8bf;>6L9&}x&qDg<>>F=W`)cCXzMcs^dg)xKMY{%XG`7DS(}NaVm*4dK%7;?ZTESy>;W)(YnK^%@D9SBB-2S~>T);p`pf{AL#m_D^kudOqA3=angj zl@>d(&`OA=f`rGm>ncSxe=RPFP=_1o)IoO79WtYe+-5_5W>iu25zI>W-GaR@pkq(z z2nlxWe{Kiyb4sd&tzSNevNr5WO4Z%>?Mo^A3dZ z#+kq^jkc|E7jju>cK^*Ob64BSqm%>Q&u5`$>aGo_V>}O-85^A7E}+F;{lUSVy<7yt zU#@ybg$H%)+i^Jd#kHa`dRi?!k%}xpXzE`mXtvv)Pvop5EP;^{`*=HPu#?y-jsY`d z05?`)8~9}?ried(%&Ut7g6js-4qSR17~-`e-lP$AD^r>pSQUd=sUO@_s&_(la9%|^oeD>b2Bs- zUR5vXZLAs@&uZt5YNFfkCHxsBVSL>F#;1^?T3^?Rut{qB_cuYs!7HMsO;10NSIg~% zPmXURgvc&=Xe;Ia@gbXz8ASK@Kv_db=)qgCP%7d6DlPg;bM(jR4T|Vf0=cyA+0C#N zlRE`zlz}FQ{0C?uc^Lb_4(L%F@W8(|gKT~zmn2O#f$)%)PO;-T;LXg9ClJzss9%!y zocmg&#%`T`BqBUDsL0;yXNtU+{<*RRk&1j5o*vS@>oTeuBxXZ9?G@lMP20255y zMi^x!=^ZZ@JBY5J7&i{CT?Q!W$0xh_RO26jF!i6R0(OTD68wJ)B>h!C<)Hw0WHNn3 z_}RmAn&a;@T^uLFct|x6KKvXOSb&m#f6B2~Ia@8UB6FDXkIb7zum%-cze_OdxM7uM zPDHCFXSp*Dzw`d=)fkFLGc})X{M?+bz7Ix-j8(sc2U9eE-XgF+9ECmb-9Gq>qhFat z4sb{k(rfDQYS}4*LW8F%15{A@)v(hFa3`bpUhktwf78{!>QOr3!LSxYL)A^a1!?pJ zzrlKac%=GY*Z36&^D4JqiBx%2>&AigYrh+abe5+_J5%Y?4IJ~aH4xuJAEo1Bgk^?M==w?)({8#o;G zK&xz{8`9h_Aev&$C|D3z!&v&eHMQDmbG!WCS^x4%VUg_}(1(B}U%q#&RGgI>QMPsH6(z?=lpb z@t_-hHGKoOZy)lO8IkE`s&7~VoG}L(*n*0OES-RaohrtOvVRUXq)2~WCmem-wI?>b zvxl)<=8)-a2nqxSgk5u%f_+Pv6YpZUb()rt<&osTNh>ak+4I)p$vT%-OPia}-E5Zd zwxb$CJCBe8hre9mqQ2n%)a*;<&mT*d#?`tG<0}VOmmEGH1z)i;ZF~O%(0#{}a6qK_ zWuh=q+0hGWVYF*ul(Zi^BQSr=(7WLYPFMz*BH2D7qfn*P>PquU>6?Su>w~_v%dcUU ztpNlEzo4B4nOh7b1=fg<$CnFOtaO5&!|_t^PXS0=-a|`z>U1s_>wY4>8+2%}`^>@; z&5{*Ptk{Ib&&6&Wk4+`WuDynJ7>}^uMW#(f*BWbDL#=DNoq{$w4?9Zc7(EHL@nT)g z>fF#5p=Kn?0DRV-;9B^WZC_HB|3@%?GwGQAETN|lLZR#?ZF>r{crMgBPboe-t4(Iy zB3O`F*aTGI>;iPG%(rjrl^38)>S8V|)}%v{_pX2NS`f$P$h&b{b^LH2T_ucm_jP8Pf3obpQjYVcC^z$tM7VS2z*&IY*Nm zg9N+>nCY+MEN`nH&p-E#e5$bV+b_`C=u_3L4_`+u(0?Ldfhm@*75Iz>1G+?AD7A)g zc@Dd=ISsM#)(CT_%55WULOyL04*Wj$`6Q1P;JOP2Rfk=y#A&}{>@}8PKboX|BwvaW zy=`1GsN*6bk!blt!d5AC)|6bm@My(WtINH42V5TzeCcx;_Kf#}3rfBV3%;NaxDWgD zr@M-v0C0Pr3Dx}hpW3zRki1^PLxDkJ(p%rdhG_j{Z1m*H21+73A2=MM$!br-Mg)bQ zVkRgD5nXkVSctq7Znzt&ZZsXF);K$aCFbn9nsoqhmfqfO#pjWXCjkRFVWzHhf^`Jz zTF^lmaH|H8YM16OTpw56!mG2IHb7d|0|g;7z}3&=L@AYAq-;bf7nfXV%cY^>G(4YJ&~m1K#H~jWv`~a>S;e z?77g?Zz~-hxegW3;@Qp$*MIF*g_s=t_u)bL9cxEHy?njh8-3FJMXks*IZt773X?UO zfU9-KVYJ!3gx5L~`mlCrQ2D$`7aXZWmQ>2VVX^|7AELemIk$^txP|5jZ4RxTja6ulVx_6)Rrxs8_T~r06=9 zA+04j^JP%Q?IhClH_7nJzU+XNxeNiWpT+=;%PFUR7sA$oX4=IgHHb5b88Vjq4}7cm zfN@g?*V6gD?Cu-dZ$!xSEr;3?^`GPwcrKBZq`44q;ST^*jE-0h~!)L~U9L zhp~qhbTntDTj7Aa**_E!DBDXZ%z8g@4BGGf$!Vm3jFYzbf?1WQPs@}K1s|N1WV1XG z{CtEc5lk}}S4wHS8TZcRNU3=$2ni=KRD`5H^9(yg= z^ch&felLS=K_Zi$+bHA=j#=8F6J4Ol=Oo@yd6t6>53yiHKDZ&%q;^pg~>h5_<7luQ%B-;3@DP#@8Wz@5gDBwWw( z>&QYZ;I_J>U;HyEMGu(B7%(=k#V&0Nq%rOry=bUM=^1>@&z0TI&o_9W_=^3T)Vu;G z`T}4T6db$OseOd0SJ*x_JAQJy(zjcB9nC9&^dszy011#y*oB3#T}1|XBqdrmK(2y3 zo$R+OjklzE(Svpyu;k=_)~)Wrq+E`HhrZI|b_78Y;D>vJWOCtWg4ci=gW3QTdLMu>+;)Y18QelUtN$5|J z0IN&uE1bGrAi}Q9A*Jk)1c7M(QPc&DFcgA{D)M*@$y_?Dg)?hBxGaU9$_Xk&u^uAI zt&Bxbo&)Juu6oJ@cRE<#2Ty2Eei!fe+67GSk=(+1vl?h+Eog+sj)W{@{iP_&su9g81q?3}KmGYmOfaMJ67%?!t*_z{P6OSZc<=3? zVTD7CwgQa=`_LO{1caJSQe&m|bW+5mhnkhNs(`d(d7GcfxD4D8#< zqlOGFL98X_*3urHJoF*(&=l~!{EDf?phu#gpg?`=1#)a>g~7nNr}`1}#`41^iEbv}^PfX#cPnyWTqm{#H@b zdLhsU2ko~3!lLT^9x5?W7-Hbmga=P3AH#PX>0-kx-<61-OJ(zkV-hMK&0!#d6h;** z|6;`FbPA{9OBx5z+sn@Y=(e<6jF%O^xugUO9xuQ|8LgG)Ag7(@FjGn{Rte4YA%I4W zbD-7v%4C;~pqGGOlJO=3 z`%v*AMRcnX)NqU{Ymj5l19<^a;OtU?*-H(c{Rn*O0S<%rP;;r8nN=8Pggk^J`1{In z0(XztcSQ4GdF1o&_iFxFJkaU{00I$1`~>iB7;5;{eF(%+foADw1D^G6z!m>V#h+lK znSfX{28JK%fNXmCL1a73nnAGJEWrKuK{TNXiGx-UgF}=m?!GHUDeS;AXfX0 zRQq4q;fswmzpsW^Jq9>1;t_2al4d6AwjOIDv<6rRG6lohI5x_X!}$gE_1EzI6)kY) zHelbkh6_*zA;yz+Zutd<)jY$~UT`h5pxKr5iTrmnVsAsqcmyrh8ZvB>Zk<1N3m5dm zNHgfa}nDLo~rV>W?W83s66dw1A@Izx#uRCX6Y` zV3-f`2$Q?`=j!NT1rnt^CiS^lfxz-(zE?kn1YBi+I6t(op*KWP2)nK8;3WiELu{)S zWOMpRc(Llk4Yq==?Z5IBY+3vN(_FAXvK z|GtGKIfjz#-@FKBs-MvM_Pe!t`ux{m+TnR8`i%oYbR-E%CeKUgp4S?Hm79A#ev%Tx z*0?_3)RYM{Erfv+d|Lf9!cR{xg@h0OGp^wx*_B%0mcq-_XOMc;i9~RD0E-~RiQ`iN z$_gH&(K*J%!SUo~)Cg{llhDRHUxk(Im`%Dp5B4u)@VSlYCv?Gri{D@yU51E@R9|NS zMECyVxv^S+#hCQ*Bw&F;U-0fm!X6>F<#yb~6nT4GnC0ld%g#@G!T}Y_+|s%@eFlmP z(KSH)$Ic-X?i8_ISkN51f$npxAQPl9@@utrS1+MgwvXgRFLjX>r5ES~5jd5D&y7Da zY57po3RrgF76+L4^>PDcBKq)z_WX&OLcqR)RWiesUZr@RkBxMub)H9`uQqD5>VZJz z6sqwLlWqTfk|!LyL5+edpYPHeqG&u1Y&3BY+RKU788g>ma7Q2cD zNUw#j6)8)qkbtqFK;MS#U3+gW+q(+nu6DD5T9FBHL?2u%)v^V?0(ogSyop-_bh~T5 zG}50TAX9Grx8Nv7C6k z4a0(*2OU8hR|Xj|9*~Nd2|_%Bl@NH~_1DNqNztoZO3^m1Q;DecP)ADybMYcLvHH{a$}1zc}Nx{vV!O`(FtA{`4*|ZB4F5 zMf~hQ<`%%B8#E^Q#r?E`>iC*YJCyjVTPtsYK;Pel2vYTXhB%1p8|y-L6F-M1d-SSB z&t`?}-z>FJfB31x6Fj zzN-ID@;@vD!h{^`CpPR|!28c;JOUU+($n5IpDTWb><8jix*{5qBzoH^v?qGP#~|H$E57ts!txTGDB~F-0R8 z$0bO|I_{}eBqx(A#|XNJu3R?eQVOSm9M7MR*Fsv^7D<_-c10N`HdA@+{PQFt{<(bc zKnTU$oFyuk{3W(R(r~+a;jMoTA5=a#eA;xDP{U|}JZ_JPgOKcqCZA35SGI0}v?u=@-z8w9=c{36S^y#WaAtpgX~3KXcq9bLDLHa~ zq9Tmpz2UXVFmM*dYoI*XBOF|-@are@+gPV_PJsibWj~ND2%&%~vXu>%>7_wwtOKPD zM_myFf73gKMr=qzg>-xkN|^#^?6#oV)&cfq{^IF>xFkDKqanqRptYdv{R)&?p&rP5 zml633Jg`0=m{QAAg)J>$VnzL<6ncqkAy^l_f{A%L^e#uM_5XPrIU;}a27hA&5*%8C z*7;+hv3NDaXXF{S@cqt}7485cg)-P5;RA$dI}lQV{*JjA%M#z0n(w9>2tbNMgieUP z&k$`Ff>6PTpd0EdPGq2UR{ra=u8FPb9^WD;NC@mxoyIw2us zL8*{gAG{ugd~f^dje!^#&AU{Fe{1J`DgZ$A8?^7vGFyV&Rut|Ra7q^jMtWRY&M#2` za@+lTX3!IeUZL|b0p%-zq9DmrBKcJ<5>^x3Sf2r;0mNfCr2s+aTfUSVVh9WjbPBTw zUM+^^`uiv-BDR`ke<{u2Ugdk!9jLh6gXK!Fcbp3m9(^h@HH4u5XAdYrmdYdckcb~_ z2pTa}d1!n+wKByDuDnr%?3!x14$<4!68!#ooqvgmkUww!{wzP}z&_@w;vvBa*zzn# zlJ+`)q@{rUmLbEyOGlB*5D8xI!-MT6JHcMo09uvxGAG+S95`ku^2M0BZo; z{A3~J;as?IpG5+D@fk7}n4PscJp+{R=oFf$td(4!b7-uxW@ex~9Br--K^I*=+w?CC zTf?kKSl{%;oyJR}!`Genqg=*5DJl#SmWvpL^#ED!U|=5333X8adN~}mo;xZ04ge12=rgS|lf@yY(a-jBpBI@O)&riJj~v&tKLRAi%C zmo{9oFd8FgmTv6MxNrR#Sk-%t>0slyx9i;WPwyJ?dOC076)SV>8I&om1$NKIv*7*U z_08-TinqRypXoN7$QICKZM2P|gvE~C-jnfWy?@V{5}D(Pd65;NI5J|&oSE{lCJ2e& zJS_OQE`D^r-)JUXQZoJP&wUrNUMh%P9Af8voyjj*w{hUd`AlKg1uUX#n@#im>%&I{ zpFLgHPXcf+jqVc5v8-&|-I|&qK(*O6qW4^JDp2y=ymTI#&KhZncsDnj1+^%*Hi9l} z1T^QKpEYjb%naLw0M#+76dxxe31oNJ%}-ttKN@WPLM!&~t5-_w z&3)iczL!!<1E~^k--UT*Dc(BL^n~jhrkJvRcEj){^~fFB24=q`nfT6BzLZH|D>A=2 zUKiiDkG|+uYt?){ZCO$1_EMLQ;B5be3@58nW8-u2Ki#ureYSsyaq!;0e0mo6TDRY> zGUn3I^AL0i>4@Zpe1+YtWC?NcUyTE{T|0htJlN~h>*GxWp`Highdl3K5 zGC!+-z2ET(oQQj1k5Cq!RjItwc0+~I36{S?F&-Cd{4A@?=8$-)f>U3H;I1d%Cecpp zhka$&oPX2cuBZdkKSRW(u>fJJN|{jR&cmap3!kd$&u`FcU2HlP3>Uo<%9QNU_QZ&# z(!TfCT=BrQ_vUY!V%t&1ZupzFTlw-2T=##P!_?&&62W2pM?L^O1z@Mn3sp}Nv|~(68@n&hqm+sILqG$;Rf!X$aGkliwnyN$$&5ou93jTNmamNPPm30 zVEd#QJmzVCY=SxNJxifiEq0w7me{Quxpa!!ycGHXerF@rEGtXD^S%KVnLkpxAp;ng zTBRdQQ-%r1vBy`%pUP%Dr4Vmf?A)9ozCEpUiH;ar2vTOb<>dQ&Ai(@S3JJ!;ryqWV z9U6*{**1^B-s5BT?Rzg2gU74E(mXOOcVhJ~3C)bXCA{1#Ue?-+oc~4U>W! zSMP3 zoLo2|_13uGe-q-R1MTNmip&}V&B2a97(rh$5}}^0_o1wEqp1Uu+0(tVe}5ea7+aV6 z*1*&wcOT|vmBmum|8uwfLW<#dnXf~ou(opjcNId>Zt)jKH?FMbk5_$*@EGzVXB8UI z=*FOBT2sif0jFEP-$HGO@&G)n(zaJ%%cQz8Jg&xAbHPBC7hBJDX!|(T-#hlYwBB;KSASdY^Y@)1`X8IH5Tg^R?V*)ICSCu&@|TJHpD@bY z1bwYAGBJh+GQzhG@Fm|ympK*7MhWCNAuofS3k`@<#s2y6%=x53Hn_Og&(wMq|7*H| z6cxNjSeA&UgU9e7{5DKLzAayP<0-p3VSOV=+cH8#DKUOm!t60L zA;sWQ^h2J0thVRC1T^#0hM;I175?x23J56%vp0ivP=p2$5D>WfIKu7ua>5Mbwk4z| z|MwNs&}0ZrWdZO^5!pH4?Y~o{8A;8jVOa>Wtnh`b*9|ZzMQ-cn@4+^FMs>?s{`((a z(eEIPSH`Ozopc9?6*CY(EddWfhL<!lTv-`~TlyyeqjIM)(hZ$Ts9 zg#6I2*Sz}d3P@sp;hDc~2Zh0E`qgQ009acC0vMphIoA;PB7}oz_xpX-Hn|swLIl0w z3mic1Oo35Z4-oA5fXI*t9N@#F#oxa*%I44N0Ej0$fefqcY!u zMN7;3z}x(vi~bfoo#x)9Kut*pt3&?hL_ress+9wT3Jx$Q==%_S6X9F_w$ng9?GVku z5#Tod^;*9VKz`NCZ+0NB}g97VcLdbcAJjvzn@=z!xJV7md?q)uQ>0X z4%7NnEf4ZgG&L#xa_#|&y4&fIXFVv88~cAop-ZQMT4&~jyz8%*>y-ru@UswuZC!M7 z-X#DSv{lzZ?Y{+FTP=vPhzr6^AW6bDlAL18|NeQtVhspPP`?hlJtxqx!tl*LIHf-Q zp9}F?IRFSDlL}60EHZ9w|MO6QZTgQ>K%yoUK>F9X5&+od|6Cvt2PaMMuT2=jAn*Iu z7y#agxs1@tKgS9FZ3jD|duEOBxFBN?Sh}MNQU^h(|C1p@A{1^A-peM-`#m!M<)?yN zC}hlnoGx%4Nd>*vJq$;X%L*kZ0^459x&;SG&j0fv^g-He49`^BRb(-|+wPCsS~&{! za$B7o^tAtt1L+~c*vdkUn>XU6Kgj<+lQBMQ?uEU^#8`f1teOUW_{|#1SMni;Yfh3d)%P*_z5bPA3 zolbq>2A5X+_d}R(ifwp8NrxCF?mFzulsN!*B#jSvd$+(!ihg0@_ifA{qY=io1Q6h3 zwi#kX@f?tb@0`FiIogHZ5as{hKlgav&fPD?Gd$2N+qVCOF~di{l)S~2HDevFqCF_n zo@|4gnGhx>W{m(Rr<$`7DQTo?m`kTfE6Ij@+Qew{m6MYb4`Y4(#K4Cj&|z|}aInNH zoRC}rpJL<6ClTjH@oUdLUBMZ!Auz!cX(0#1Ct4kB4&mY5@pB~WDFGqe24fx1@uN*f z0ld13fZDON(+_JC7mgh!DtmJHegyH9lb-RE2>gv2n96u01%BS6a!d2?4clf0^nS`u z)*T#2bMDeqv#?*>+87Y-!rGXO?C~%=jKw*MR#=+3&FK?-Em4(odB!vOAQtB!dh)}= zedVZY8;yF}M;i~jPlHCAkF*?%pRC!O;#G`ZnbwC=O#uP)tcUyKzQ}D8N&} z9Swc`5445t{-XU<%6fL{v7061`Pm;`C&^kR97dsE=g!S8YO$XMp1BRUuFnl{o+Y;l zN8`wZavCw8M%<-ym#^NJ3E7Djiv&TB-7K2Q8 z%7PRP*H3GoDB*QHQT-X6^H|P|lW!w%!~MMW#zjX;y2E)MQbmfO$ZKNFv=<4EyqFwm zET>NQk1_B9gGj4|123MeKT45hjxRa4m|&B}5-DC=BG(ckJ=OEwSih>pM0)yg`f&dk zzNi;^HU<4Wh`!FI^gtwi75Y&5wVpnAZM_;{(nci$;)d;wzQaSU#2~j#FFEq_#K_}G ztMgavfoB)V{rBe_jxQ{i1t%WQFL@t4YsTzSXJo6|R(_Zv^IqrEjfyEV zt)8J_ZR;~AFTDOIC)jQ4)2*U{XJ_-*lK(gfWu8@MdAGfe<7{6Wx{%t$Iln)vFnt1B zZ_H*QXBwAC`bQfgH-8MC^Jw0ja6r`t2A;nQ8zmjwe>nl7$CSofosCQA#WSXIQCDIH z^W!bBc9I=fq*R~nd13Y3GEw%MsCx@@%EWdXPIRvo#tO^lLR1jT$gX@5>U_Gv+-t?V z-2C{eeJ%cU68{N@3ZO9uZwWO2=&&$CU9CI+6DqYWXB0#E0qx~pQ3jK=_X7VNT`Bh-Vq@UpY<-HdCM}d5;u0B6^CHMmV^C}g# zz-`C{g|)9Da8K^GiVu@N1XjV3Cv3sXdh!XQ?>miv5i7z1)vNf=54jrFk@%C)iYOgF zEP^Wj!AK!YV04qb80ul~CvPkm(zJsF^8O$ORLD2Hc zmygbDL_i3q1aaX48Swv!{#)+3X~N8a0>409J;3z!G(N>MFT2ALw( zq3^5RvM{2}(pA2K;8i9eQ{OLf1G8q_%Vh;@w&UXO`zBx1{>>wCQLUfCyw1&RW77WZVwbwwB zeek*&+V>sSOU4#JG)x2QrB0wZNPt@#*1JTC_S>Bs55`LJ5YH#XxdbK)u3hlQzJg(l z7|ga$8=ysgX5e?c_b?MIprDmd#m29~P^L0m1xH4B`q&XX9tie70xOWJ7`mn|n13R3 zA!tfDp!!KztJMCw17LIyY*@%cmjEXs1vt^ypmttFW(CmZ{%D|S7S6|42Ew|}6{s<7 z)vv;h{>E!sQ5g7S0&FM_99|kByWW@*fM(%=IAt%EBBM(b7-Ky7b-AJVUy+`wa(%e~ zziG5s%5kj8lChnSHiZ_J(0=nks6;{uuz=7K%xp0>%feyvjVEA{(*5y5+KeCaGxS@XWH^5ppE(}_TqO#(_vWHmBo01_MD z7IYJ}wx3=>$cIY$RbMkK3fm_3HF%HQ1As(LvF}vDfNBR>o0oYhmF+-nZC{oK|->a%YYv3P(dJODjEqK0c zj*G~BF4R+rM&s{)prRx8HwX>QVtZ%7mc`Jwgir;)mt=%@G2v8$0M?c7PGJVvCTZPz zASx(Bf0_PX?ilb^x&Xs=ilofDsT+sVor)V*^8&9hWYO>yU5!JUvU)23)~ubd7j_V8 zcSJ4>mcOzchU%l`P?94$CRi?E+%wm8;? zy37iA=6TeF*46%pWffas<{$a$S`vH5G)s~!LgldUMbx9#XQ7F&f{9uHxtJ49W{(RI z))q;eyItvIetk-VkG;&S0gR0WGhIi8zd84((jK99acFUO8aBNN;y?G0o6~+|= z4tR8?pR7D$@V1u=ma zio02jN0%tD*3cj@T-?~-AKlFXbG7tcsfS-)^;p7yGJO%4p$jZYHf<0ZJsuhKK0@}^ zB&=M(!;^*O8gp+f>aU)QQ8|J8DgRTPp4A~MWEV^tyhs2AK#DxHc@j00RTTGD5Z zu(8Pf#eBrV7s!y`M-gcQI@1HRifhZC-_o30Q7woNIYG!a>nJ*G0LYFxXCLC>ieo$g z5K%+>Is|ywmZ?^+bTdC1!1A3XM63Dn7%GkL{qKJP2Vj2OQ3^Ey8d8LZuUq-{^)!J@ z<~H`K;NT4EPy(ZPY?NFh0C4dz&}<*nyB1CT+7UGM#hxeDaqQ&5t^v?QR<3}(NIgXU zS^;!(s62-5R~`ILV2*z>0A+7_*cVWb$sj(NXvl?TBWR<3ICBsC^R&5$7mMfqzCYty19Y}VdonfBHdR+Gd-~c(hgH>TiWeAK<#${ueQ)2nXSXp z;9d7q5b(PE6bBXP&jT>_V+07dKs;&#HqX{f-2k@4jtq3z?m|$3xFX(Fb)8BIk*8k~ zql5?&ucGq#VVi{0MDy19iKHdJ^yzI2i0Zzbw>V2A!Yz`df9db})p#L%=GXZ_;~j@rlPi+#6CU zzqqLwoQo6Bw_#C|1spIx;tUFP`xguBn3ow`Ffq{;P^Ar*R)Bj`x+kC|Z)qqK5A76x zw!4FhXb$S)u)s#Ibqo1#>f|lvcZ3XV**e4HjN;zH!n-@^h^s{-I^4`JZMDjEVMi3l zV-3z%K>}L}_VlH> zHex&y>CO+#pPs$Fmmt4q^k%f>^LsE{ko{8WT#Uy~AwTx|F#(U3H2D)^GlJF(NV!=P zXi)`MvGCH$pz}a9#1F|Z3KUgA!X1b^PlPmIt3XyT>-J3S8mskkuHCMDNvJvK-{9&2uC6Wr6z!UE?*Upy| z92(2gh(v0%u>g{L6{9e+2wT+uz-6k^1mR8ZXI8mX1fCwjW)en4*4bD$aU9Cty^URP zSe+%Fzo?EIZ$1=?g4tn>bBA~9(p51VKz$c`U+<=VUKHA9SfJ}c4B==P3eWM7kqg2( zK0z70S{pCdMDxb0*LtqJUbqYd!mG^IU_((ujK+S1|8d?Mi_UsvArk4RHu=Tq46+>_ z<^-P;rM`aYpUf+V9Pr?*!rkC)NE45$yTh^nkc+@Jz?Qwus5YzC`vYtSeV-B=e)Oge zX$gC)hcA{VfV(I*-9l~5XqBH6LRUKytmG{cD5_!L>maX$cQY-oFzKqDsSE!>ur|N=K|Pn8Dg1d1C3tGYKsgP5qIhAZx*; zb`mrNAYHCd<)_iK^LB4kKPgmuVLInejK&*THD=tmnVeI3C+p43d=47P7d?RKUi^C= zvx^k*A+ado*t!H^mvz>b81Fg0l2v3Cl&$(J8TNZ4*dKu^^CO;)ubdaHywC=f)DPb= zK9nhdjB#^05%UNzE~^+d#KA4lNvd`S>&Bpql~s1+TWgpZmZ6~2q_{e+nm~$EQK*cQ zQWSOO&O4<}Kx&{?c2_h|L@TOGx{08EH@F4g#thuX@|Dhr@6ORMP~y zS)%;E!=T|)z~vh?gO)^Vq^mR-LpMYKj?VEbi|kGD2mg) z+APWLJlpd0PbI$i>wQLTqmS-c2gh1=o|Uz>v468E@jUKiZ9Ri0x#LR%HVtnSJK;lX zx#qj|-{?KQ$({1ZidZ3i8iuN~E}Uz@YS7pqqBHM&rmRn#vz9^C)^q{e zHWHKr+rFhe&m`jo=u)G`^}ZCk#98$*Q%ovea-nXki z2wosG6KQQ=IHw$0o3D~8TT_c7#% zDzK6cSvv@*-^H2SRV-^ExCy0amZ4#iD9UaDo+#HBn-LNOZA29b9L8Yp?K7H{!!i4kJ;VNHrkSfO!m*f)*u zrtPdP9?uQl#hA_paN_q*y{0Eqy zald&}WtwK}a6qT)l+*a&^X0n(SKluwUCQqw*TkTu6q|Fv36J)N>4CP3NGzP7J!7ZB zQwO;VqEUr|BEv6w7rN6v=!JwhVx=@(w3|2vDq7|sp=iCdhm9&FW`SN(PNtSLRMn1aJ{XInS*8>#`~oJw`)5V=!MFW!l76br4zC4B^@{?ipr~3ls`r&VZqrZA zSX~7aM`PLN^=Hgb%b%>g!D!JtBsiTSrnKE0(KbY4cuDe3d$srGAJ%(Y3!j#$C~6GT zbWJ8wIQfpUF%YBc1=_hR#foHgbE&0Pbx0V=tmxvOOeurxzpH5B5>0Zc`5!{FSh!d= zY7GFia7izJUVMks`=t@LzAmaIEL)gXxbut3eH%cLR3xL&T~yuGxll#;Qulmu9G)J) z$NOtJ=dsc=sqz@iXW|@65q#*OSJ`v~Uj=Q+to+%QV-!U2FSC|Q3Un%|Vf)GrOm$uK z^_wk)8Tb~NvO=V5%;`N?^&lA)GmFgpJpVo}$p|hyoe#4v!!NY6R4Z*C<|O>dU8C&M zY;j~~ccv#&k;LRAI3!uWJXV~R-+gO^)QhIug@U+8pJa|eh#Td9>H}9GEvrJ_uS^r*{#pxkj zATR$ot47M>@r@O;UUstYvc^|_?y-bv(~(jdi$fHM1UzBERE6qc-1ixED)YV{qF`;b z5JMx({LNigk#ll#_qrNbf`}ujd5HJU1do-!DUU&uC~kMV=(co6y*z$!tc?*F-4%*( zw`&r_Wb5aVyoHZLVU_MZemcJuQnN&*1XDBG3Ov-%9!A2rFs&c9UA#Am*#XxUHS%z( zXwW>$z`sI1o)<)XRP8P9ib>Cc63D|#CvY?_elg$5%yJf7NG})vQPZnHwu&ur4_2w) zZ;bC`BqsM+0eZg&Ql{Ij<}ngyidsvq;iiUVW?vg2U=Xo4m|hXW*ZoSwz5Ku_gO0dh z3S5(j_N%KBgO}=HnU7G<0G4#;x&Ft>+^;nJH1P-LByAU}uJ8SP`J#zDX>toL72H-9d7Z zpzs(4AAF~9_tT|jGe@HmE9J*Qo1IQ=tAiAoYcKw(6g>7;ji;>LxkcU3y&hk$6H3~j zw$uPnF|?jE{{&lKHwL51E%v$fvjA{$Xf3FtSkZkZ(e*G#B!4-WQbE47%f24!aS_N}KN61@Ksg+nm7()s0;g4}DCi%y-{&8|v-Ok`o= zt>#4M69(8M9meR=O6*mn`?J+fyqBQ`ah1DFS@obSRe?Dy+;kb|wnw)vWMkD0$Zf~< z7wS;aRSg~kD)-~e1ImxQ4uLY#qK8+J#?GJE*p%1U!)pj5bB1>PCxUtLSgXvY^9n&F z8g)_Nm|6gvN9{o5d?7)xWeQgeC9=Ttu76&Mx*5m6lSd~_x7a0bAZb^X#qf6N+NgzJ z-=B&^Njyl4z5w&%&l-EYf+c$*Dw%@z7uqxYVJ$Vsj*diTjI@h-F^M~QTowUw zw;KZkrli=9cOjmQ1_)~ticag-;M2Mzjvl9fNtVpU*D~j*HCWkOXtZPRRcBoA0G!yQ zFPNxyPrxb8(AJB?l)vx?PU^=pGMaW8gtr_Tc1A0G*!=mHSACo=-;>Jkqkt~BX4(;R z5meDfytTrYn4KMMLgB~EJ??*gQ#(IO<@;P5ow&qG6OPH6l!LR7*_`?}Vlm3eU4<s-QV0j~T-pU8qyc|1MM*^=^Nr$+` z_F}VJHh-0~yn)DP?8azp8lx64 zY+X&?lDQPdh(6hj+tf+bKO~|sz@h}K8TLaA76T=S6Y0)<SuP#PlnLO5r-*>dBD-e8qf0Mrg&#^8Znz|CY>wqbM)JON}S1)?!H zi8W}Uo=B1c^CP8^Cg6-uUHQ~T&A&RWe>qI-F?2T7a`BF|a`D;f(<+BpWtM}*J!8OD zwx2X>@E^A`w@tP_1`I6W(|`um^k>T*rIydey=AromqoZpM%>hFm2HecxcZ_8)_{E- zE5Az?G)~2lxE3xNz^I2%5`;3N z4kph54mKZYbq&t+{KS+hKVJ>v(XT8K`KuuA@&pA)J4jJC^%Jav4xvnxU z7-5bE&E!W<5N&SjPgKK_f;6RkJRt*>_BdhonDi@7lW#I_S3L`Y%cO5;cB??U zAk!S->A>#jZh+xmBtW1tT?edXZFgmk&>5^_dSA#4SFb`ecnW|SLV__Hc?h%)`vs$N zny5NY=yaGAp$+}GSqmQM>FA`P&wzu}U!4FBJ?!}^?^yt_$h}Mdu}ynS7h(^U83U}s zPomE_G)bWl-3kZ%vkS%}$UYKe_K*C@Jqxg)IuW=8KdL??$gUPAVLpP5Nr)6PtEblE zdp=z(Jk&|BVp$#8`~ktj>JHW+<6b(bosyyAy#=hDS2>4(oDDlR15VikFtd3)TggxO zkP@=JP5`g;2S^%tCx-8~k|}l~S-P4ou>z=2S5`xxjG zH~;>F@0TKNg@`V?6RYy49$+!W`>+~;>;qHWAzZp2rCZRTA8NjQ%vZqyis-p!YQY^^ z6>wVnix#fWR)+CyfV9v6tiBl+UEU90?-S5jeq#HK$&YBD`KiQ?GHc8`0gauU*4u`D z=Nz_|Ofn;OGu|{a?dYo{&^fS>^?FB+)An5%B5s6kX?0xPAoR=_1}3DE_DS`2&fnlF zI|MiaO)#$_jQNUpA$UX!^;r5WQm3!6i}#v$U;(7Tk6S*2tY&!b%i+K%E}Y-Urm!#i zb5;Cu{t{0bs>5D)#7e-dYEUK?aa1|bWJ_@IKLP|w_Lt@PxlF*3N4lq|&MCm*^IMtm z0)qapQE@=<7!_Jc0KBsjnO3AP0Fmc+Cv689zq}rvc&RM)Y-qk|%r`fNQZjWMxJA( zp1@em4#J4JxN3Sm`Z_?eOo%00wp=EGvdd;Op?H*ab^Xa?lLB2c-ie}-u)h^|8N{~E zQmElc$SKvSx@$@;!L_w);^sJPH%FJ=ALb5VY`*Q@8xjEXS6G%r8fu(va3jJKF@rvK z7Jtd>1m}8@C0ee<^&Z?5bNj6JyW3Dd?zUiXW0$Iw%$#L50K3{eV&Q`9s+1^msiGuJ zz}zoG6@So}mPxgYee1$bfvdfz{uR);Ru6DAGB0z0E) zK+3_T5{ZBiuy~@_6y12LM$$8+*FmZ*=twq>uht*}&<7esU`u6=uoS$;5>`dMiI>4~ z7>ezPGhP)gGOhu!Gd*i7iRDD5zy+L|D1S^Eg27w;woaLJY6*-o7ay48F!x>si;Mw( zoG!qTU-fJ#T79l~XnOY!2^Q`F{l0UuVL9vV1<-MziUR4sS|92!jD`yNq!CPI91;X%A`3yihF$UN*0kh)erhNG<)zn!`;a z^lC(8BOj#7cw*iFfVDh!3<<|P4UE(xO+HQlJ2^d9nA9W5Qy&(}r|-I|j}3pexOFE& z%*qQB7m9(7xAkhceQ5?;;n5m!Fyc&Yze6gz-Pl2pOdEi1s|=8Zd@rPOuGL zSp`M9+KOTG=w{3^rXa?rFCohPS_h?SS39eM-6750RH||)m>srcn%RWSP1U?I7u5Pi z_eEz4KvmPImp*zM#tEoU;Bo%ghputxA?!QoTRY+wiFH)tmuN)0>H4asW*|($Qd}-k z=`LlTkPucHF?=wI2CL6v?3;+KA(`9GXvynv)1GSGN3=KU5DjPmn;+iCV z4lNVtO^zzWNENKAb&F~6_?fnV^A>!x^0X-jpA#)y9FNMN=w+OJwg?TQix26$FY{_7 zhOW_ayGhE2cR*U@(F+USn}=YmvUd2bA84>^H|bGUFKYRdn$H-k?~Xp2^CE>y~MrQUb!~kPDb?A5nTpb z@W_lOS>;Nu!jD|5>9JC48oh(84JO@)=cj(NZ$@e=ZzkLK~93oY3@6%fj> z_P05AtPhT(>nc@13vgXQioe3<+qeC#_E*OtVL?i%=^d7s%g%jFfho=yJl{mcMey^; zHP1k7gdad_G!5oj)+}gC3m|vTnlPnZocA=KTUkA@iE({0 zt^WLyw)+OHHfND;FpaUT+9P14x^}gdP4}u}I7AR)*?JQ<^UF%y*0@wuuhwBpojW;H zBUo4ABZxCx2+E?O`sPCUlqeB8s7#F6#EB@mSgq_L<5YF=L#LfPx2`Po?M$~2C_3?S zRjTk+*KbO7IKdhFU^xm#H$TQcIHadd+rV5U&P)zH{R5*oVUc!SZMvlmk5&qqtM)#Z z8YqQTT1=+*9wjVGd)d|MMzD)ZY)2Uo;CyHATOEQl;)6_OtpL4JHKxL> zEBhXzp&wN|-AU=WihqrYSHH<8c=abvLMP#3QKxR3ceC;mMBO61qM*~=^!|z{)*^xt zlj6VG-(oahNSzvkO^+%$VPR%|3(h;&%Tz467(dOQWAWIJP%71B%M-=nlb>iNvY-g* z!leId3CF-O0ttQ5v5{N^r584jF>QHgBEefZv!J(G=Dz69j!x+7XK*Fy3Q zlH$i%7g<*C4yjE)Q+BZ5Z6jzPh-bqOA8?D~xD^^zSP0qeYJyba>66WbfIn+<=}cJ0 z7=lniPGsa9E)gG1&Gc23dM&!6P!|g$Kf2{dDS;oII>D`7tFlJXj#c0_Qd0o_>G9qA zF6`Fou<89$-WGL{AGwHMa_OXAD!NdK5p?s`&xzcAAi*YKeMcUZERxO`PLn|C;+ zG(Th0GvlYa3;K>dPEdv&WtTj3$mB|r{iak7rJe7`MIp+LohPOJ5sxz|OM9ou8C}>T zSkojE!zuaWd~Bt3VQbc1XO$pf#|0Q6599U$tg}aZjk_#fYuJ&2$MEM7Y2K#`c4cEU zCi`I-_lcE7SH2SA+7Gl}5iJcx{6@_qa%sCqDZZ+V5T`+%bxm(_Ro*^o5?TJ^$!IM8 zUOz3o^l`MJ$aWUNw;MSM<}8|r?_{`3(wBk6ag(JrT%;B@jXr*GLXvSvfoXbj&YBxB zN=6o1*ID>A?j@B0;*eY_2UEher%^<;w3@U%of{prAME2_)?oI4f?%K=7p!3 zbx<4;=5pmdp^|Z)%1!$bSsdC8+IYcy!h$;QVzsK};Az*+cTav0N56S2GHyAxPoGiB z7-H;IuU=H)H1$L7(j%!%d;=R~|J&i?OrgnV;o+3b{`VHNd2cjr%*E0%6d9_!ZaqFz zU)Cf~qNBW?!09zE!OJ3!*JYHzE7q4>6d*lFE+_YTG)dAb*qFMM7%%q`@P)i&HAHoo z#TZ-`FJ;E!3y{xoq9?S7d#l{jHy?xt2+^~0wDw4>br4)i%OlHY>VDMM@c9cZGH)6UCs0_luq^6$ms14|LExDhSt#M`kb2iu@=aW|;O-=f>4 z14R~BJLeZ2U#dYQPfD2mA*f&l)1YrLaE>#gXWlUvv z#}${;*zFeKa;%C9=0Ewl=k+tg*a5h3EGbdIF^`FYzR%mASQ!V0Qa|wC^+U~K_FE5v`QPzsHtkn^d>~fma=S-h z8&_eYPrz$WV^(cW`L8FtZQX>6(Vb&reO0a>!#!cKA=S@EqI6-kp4VSvYcl{Hs_04U zW&lz^QeuS&A3rr^_j=N3a5Yx+L8O@3PQExv0!8Z9o()!+=h}*mEIy~z7DcZ>1Ob!o zOWz$eC}!xtQHC!f6WgCFgO1bmI7+pctH&bNQIZT7G6g#^Dp|-frrm#*d0tmk_d;W5 zJbv7_#CH`)7VYDar1G`wgncU%%PI-QU`rtb`0Y1h3pOQx5Ns4zgb|~Gv;AF^Sg6hC z`S^`gqmoZaQFWocg0JpG?kazQtqA(V+zZ;2-S#e$#4O#?O^8{4xpCF^NL$iG`MxoH zZ({jG-C_F|QO3iK(RCqZm&^#-mH)2I)|CFPGH@y7LvS>;OAEC{W@e_=r@)pyD8U{y zwfJ&f0a)b=4Y9ma#+v%H$mxtrvU9j-OhDd;5IJrQkrZ}sSs!eno8Fh{q@+@}ZCHN3 z+muiGGnTls#tm;V+IzD1hhy$vb*J8}h12e@bJ)2nUGV~xle9Fb=6b!f}^gDtb1zxxqm!rrxTHIYRti$=MI$tTzkogZTU{pg%FO*4qfB3a0ZtWoF zIdF?yCfm1vJQcLGbL8W@mS%|nRr+3VBGOqx+C*B8#mA0^8xuG+7IugI+i%v~%5rEP{ z;==4+ z{}4&6?N(TxGDlca%^t@Pioe|2mTgXD3_%wMpVlFx%K>mgp@fANOd%@PZCG+!boCn; z2Z<+4w7w!(rbd-r8sr_f70h7JW|BD;RHyO#c7U^6-S#krrpuw|^gLS9LK1u)Z3o|_rpO^K=o z9elm=lQB_V(D3_;()LiOm0Rv`N zIUK^A1zLM`v$gpst~Ftn)~|+iGT?VSGhPEM?c(K^7~|$6VjaLEmeo7yOPvGDm5r(Z zTMkynDn=DVQOW?&08WQuqbkbIXS=iMs5AzDn#dfUyzul^HJ0gymr-Xu)pJ z*6t|v*EHH~MVVswYF1(wQ^f2R;G6Z84CHknIZ~Y1l-K1n$W&c>znhD#R*wZZll@21=iZkdGicasj zT2phyW^*q$sq?RlNl<<^avr1E|M9uU$CZSJzwn_V(4E26NfW?TMqsFqpzL<^ZE>Xy zCYzB9fqz7onIf(?xXgh04t84C2uR^k&h^D>QqkGpF_3tpxzT-<|6&=jets~v+0LSv zeogRFt~1SuW>;ueO>@n?mN+F$1CQqDi+kzPrDb>d{Gk-Tdg*v~Wyvfem%2k*jEo{m zNrWg0;z3XOEjh-jk3RBu) zAmxvIn7do0Mw9D`^v3B9$nU@CsgW*GFSoP(_^H@(hHD|>qEy`NorF^R z(GNTAG&o@1{%aNLa7 zph|;aCGE#xEl|sEOdMO?xdAZviYP|+kgIDi&c{JAzB&y0Bq`uM(Oqt3$oYOCHvr1F z1(<;dt-#Pr;8Xh~7|Ptwy@X;iwgq3kK}WX~`FI9jSSf$<>wacr&XL}q%4U@g@pK8* zu=NE0Uo>nCVMMG)n3eMHzK~?K3&)^=>)t+M;v1apvWHtyg|))B5zgK14I~+Rp`IkR zFlO2CIrdI^xA5T)y^?I}!PoN~f$(%QO@>)0o%-wRK+5PwXYaYQ6BzA(f#3_K+}0qs#leswFDt zBm$a`LS-RZjgHm*tJoiw!ya4l zht|^u?Lia!yaR5#N+v0@>R=yXra69wD~pan$Y$6$m1s3)S+$EY)JEbc#3)@3Q0|M->={#xXfAMA_~(;jU$9+fwW3Jkd&%c2UOvdiig1O|P=@Y&C8QJP zm25*v)0H8Zx2H@u>0lK@2!3jBMkcju!H9w}7Pq;QQj@tet@w2rUmxRgy1|_^Iy~FR zn=0;D$i~vF&%-V@d7GR*L+8TeM>T~3)$Toc2nZr&saYI8_9aM;QzZp_VEhfTQTQpIW6D`BXoEefbl|g zJmR^EsKc|+qg}x61siXTj(Db?M*8p`5Qad0=U`)F6LbHjTa12KY*Eh%5}1!5Y1(ua|LRJ$7@@P85!X9YbJ+r{GN*c}6 zF$>b$uK@O>z_plbsb&Np5{-C9KE!K5z_P&%>>oQDNe_wlQUKscq_OZ;RyaFAF+E52 z(ZZ9e1Lh-H3-7_6B3aJIEq#ewD_QN?m4}xBF-rvwX06;Ma&lJpZ@oiHnJCOcJv9O| zN6l%_S#OGz2RMzDG*>$UGwa#yFlI~sJB2RK*Fu-%Hrptl9on&OH<_KbQ(N;F#un0h zjT5L*gxF8N{xqb7vK7~1N~`7HZuv^&&A6B}BK8F#mTm#@w7PKpeuM$L?9SH~qvkmG zX_W-_oiVXQ9|wC}^>LxHs&X(2p8S)&hayFab>))&#R%rukyZ6=Nio+o;{>&aK^TZE z6;_TI(_^A2QN@5eJLMb$@KY@)D5W1^0WNQ70GqSylGRdOL?PCxiFWkvMVG0kaz1OY ze9b4Q?XW8TG1E=Vp`=$p^E(N1dAd;k+!{=QWonrYAIr?KCqRmQc#Tomkc286~R+Fi$eU`bK)hp1=Ph1b2@% ztZLb6Z7rN`oxD)}zHr5T!7lYCnto^2x=o zoF6W+B+v{aYmd?wfdw*nQ&XZrGjU{iwHB=Ik?^G^id!CFa@R`iRv4;6b7x-U$!bx# zkj)ntf%PvR-Y$TrD*Y$1QyG_nOFSN(f6T60QJEt>Pr7KV0QSyH)x;*-Mym>8{@&TB z()fFf9L+DHB_I8)Wm9neUdP?~%aZ{XvKL zUJg8W?wPk~nk83blg97ST)a46_5XBt=KoZuaT_noi7Yu1=P0rzm7VGkx-g%+K{ zu}4Wt3@RbVSUb$fQg+oe6UwnfMP$vcnaENTG89@QO_qAD+dR)d@%XV`uk+%2?(cnn z?$77C-dDin)t4*HDGhccPoTK-{wedj%Z+vvxQfY$7=qq`R5h;i;~Ve-cAbVLq0-Vq zgTm*TjHkhK25z( zW!EnZydQt)X@EU4khX9#qh^Lg?~PzA?DwD&UdxIXJyl2^nY|bqE8cWSCATh~00Cl3 zAfrFteGm^xjtF;L;jwbux~2O@hlj)QCLPv5d9zD zpw4H5*<5E)M4B;XHE+xAP@zhGdFJ^~ea9TvYpFZU-l z*^wr%YugKs?ynB9wr4h#n0+|gYQlUi_WgP0K`=9hvhXl>!!Yq0^L;`GYylB-q&kdW z7a+(A7&22k>PrSwGv{H~(#5^bnmdPc0)l>3%vA1^eH`OqnfM*T>!fRHYMx>?$f`JV z05)vp&k@PXd0%%an++!XCqb zRU6fkbzChfu!|6oGXzP6Em{uuRfvBW`FjzKqD-j`t;Fgp!|44X*#!N9MYu2J_k5h& z*>-4&DXp636L<&@WNyEOD!`4XqN{Z*M$*!8O+^9y7-F$X$DBn*91 zoXw=J6dlDe{2~iOw*8kJQL$e^KXMo52Kw0?e~CICrBVT!K-t#E-vXgM%8@?`FwpDf zD^`nh>;d=l)OvmUP?JOIm-XON9-6}7i8{RzV@16&K>%rjA~6!75Z<149?roWp@H@(XM1jd$wER*kfFhm``GazX` zTE2kQq<@zaazscT+ADK1_hdyQ^8O#u;CiRHTtg}=j)Z_hC-ZaPJJ4PHy-5NX{nz#qQxxQ5~Np(j<3uHO>HTUR^Pdjp7Uta=laLvY1C9poj=!^?RYf7AAq%GtNK4aD&kjuRW8-!>0ExaiA_XK>KI;ejY^fR{Y4 zxVwP;=w*cu;32~h(w&8Wv=1ekNY+9eGxQ_iQ;MTM#y#)AwC(9>$ni$CgyuSl@nZPh z%r&^9|7z4Oet{~{zZZs{voqG}TZwjV3 zSZk_H3ZkX{?n3=*3DVBz>*6h7Nli#fDDxiEYRhY$RNWhPgZcNH&YVsDK%-Mbyco&o@a=TFu(z9DNT4s9D?)i_}W0yZ%k)GIw{iI~#0r zBS;w5TvPT#Q9Z60U6)w}26>9^Zlz7rzCj=BWk{q7&!v8ON~3nBVLao?Ve^jVoL^}}oZ6fJIT4wa~Q$#wg$<1NgVZ*!*-Awxh?Id-U?Ux&4g2^br z@AcQK2g0YA1cQIYyX5f3|y-D5`F-YKS~wO=EaSZLl>ur zXXle6@1mxdZq?atr{O=$X>O2Mqn#l433*6f6g!BDM@Y~sRn89AFm1f}o2Zg^iX|SoR=!+f6m8Pul z!Mwva7dW5z%v|cvgf`BPb<0<6^mLN$EsETr(Q$S2?U}vI zyDilr((Va2M+yDIT#h{O(`#e{^ET+}9(97kKsWG%)50t^yJy~7>GRyxTldaAQt;gj zXXEInE+Kl_Q8hucEql;&Duo;3Vy{*8E2#DQq}F_Csty9G*l6aO;_^+()RAZ+S=5P( zmbeU9B01_CJ{`U+ESXRgwemaax$!`~&ivJF52=j9C=h4f97k?Ka+vc#Kgs1mhu~&> zHG-tlVwgq3a~=X`(d}0w3T%%}E?H=m9Bw;X7a}`%f_wpv=;cuBof*CFv7b|NB&v7+ zsv18t^!SUKA8wJQRu+3O(C`m<04Ykj8K*C75P}wS1 zbz+{D3$G~m^+mC2&CTJy0N;A#7h#e%({(AU3{SWGNp&$vj1bwJ4st9mP(I<3092c zLo#*h{6m1OjPWPDdP(gcy|@#F#NTG+@d{V_;4Fl`-0LuB(G;Sbvi3|6JK@ANoY`KV zeBFMge&yq{AFJf(#ImHQcg|Ec%&%)K81@%C!4sWEH^5PifDVAxN=fB4%(3J)E$9Cp2~~VnTDf zz91Vhky{Q}MAH+sUUy`%t?q+(p0`q=HPfh{J{?Zd>fTd3OKZL3n`{MsVzI}1IoYyh z@lSQ!b}ZstgJN+T%cVuEJfBplP%F4_zcXSrT|?+BJ(bh0|7&AwYyiPCuw-nuNaJd5 zf0;EYp=PGqgSTr0JM@`3`2^uemR$5hPSIZ&8D?*o(a!;nIZ=J`QF>57cVe?E_mUr{upToCv0VY+_62RAl#SO~8Sw?^Sh zJTshNbtoB0wR>#WB-*+9Eh0CfaIIWkTIJ=-E(md1+@(GU9@I;SF9!k zUpmkPli%ktnZenJGENUgNNG9R|9021td+>R*Tt%B$NlJ@eYtN<+ChHwuM&RC4BkCE zGr5T*z2BOg#O0}{ej=W7HBz}e6oiRWOldKj1EOn0^gyYBg&m}Q( ziz>YsT-zf_z3)(*UMda%ekAeX=kBALEC)34{v1`1Xwb33s$f<%EdE9`kSZwRnV>ba z&GUZvTUp?CLN7;@W+JS-yH-M>I{$K5Sk9=D>54mq$`T;fTt~#4V%8F0mp3Tr@;Xly z;#Q)`C6Sh-91$xcxu5sFQ7y_Q$Z0!;#>pG?O>V)!{*UpT)*{@O39Ij04S^x4^^um5 z6#xBz$&IK=O6Sq1ZO^CQh5^LWWQlv62gT5hgRf+SjXTuP-_b5oJPOs+(W^|qFHL5azw1;@t?X!Q*8T=fx%jWpIzpA KnT0<%h5rwI6fgn+ diff --git a/benchmarks/beir/figures/scaling_curve.png b/benchmarks/beir/figures/scaling_curve.png index b771a45279554b10a692e6d5ceb6ff96b6d9ca50..cae503633dd9b58f9b844842fe8336db1e8d6cf1 100644 GIT binary patch literal 147954 zcmc$FWmr`I+OC2qNQ;z|(vkwwB~sF&2t&sZO2g184N}q_iiqe442_i3(4Z(iFyxGM z3?Y4f{P+9rv-j8Y<#?fZ;mn%lT2I`yVxDTNlHR;?^U9Sgq-sx;o?W>@zW zVdzGONiVsU6j!I-B>4RF=I@!yU&gDOXRDi=n`Vqt&$yq#Qx}Gq+`BgpPp{kdE+@~d zJL_+q$qpaJYdsQ>r7DkE>E{^u*+ytgK$=BECy7xmuZdCK!&FG?2GE7be1Q{r&=^r-Z| zK1+S<|MLmmw%hsv&YD&J;!`Yu9n8B7P^Gs~&Ws#!+*H**ch{p1)|5lpp!GxmR#VO9w zK(&`bSy>sg<&6&HlHRO`?)jJTmkG@gunV#_XUYYBgCmf4FlaWFxVQ1*vl49k`n%A} z)A>ML^S}4V9j`N`vQl_505|xeP%rhZLSfSml3}p*5CzjQ|5w#ihWtkz5Ik-TIvX(e z?0?|_j+CtPAGh|I1p=R1xjX4S_fh!eJ98_r1QH}1<6f@+fV(u>$WdG)H)#AiO@=LV6dwCmg>+&qLy z+ADR&Yg%in`qiRg(2EyoZn!UScq%@b#G~2?D`IrjL*HF%-^~W>K&zxJ4m0TB7}hv< zhz=GEzBsFU#p0IcHEEOas7z~ldHJJhb)vhJ$Dg}1joul|vVQEc?&qgC9ja+J%s|#i zy&Lp7#x}>vHkmHmG{dmUHY?}?9LHu8)iCm2nRro3EudG*bM*-i`*eA4tvvNDNlv$^ z39k-P@zkP3xv4#AwXm05&=fhe=eTL{hY#$VZqMocdpC3b?A!Y8j~dvlParDy$Bg?o z8@DzaNcZQ%UXUr^evP{9%zd*PI^Jr%_@EGWy|V2(LyxxfhBYSNBwGU&Sm`(^TqQsL z0LOiXD$ywjpJJ{iiwis1Y}BFQH)3BaYb?ukZ70fKK080z+65(&70eQRx--%M!`@jw zJ(za+I5fa^D&K7tKPPpw{exP{Qb|Ej@~dAT)y|Ih2mjvNbX^2)hnTjzEL| zmFf{_M9pc*l4+;9ye#}CczrohfWk zbTnx3+X7=egZR+i{qcFJH8>RM2^UH(mGa{dpU*yCOq72=EpxW_Yjh#mT{ho;v!TV4 zNj|9QmB=BrR*snHS(v3z4!6@M)_i|C&gZ2{NH$GZ6s>Cg zoW$Lip1=m(Sh|e*P+IP)g6BtA7T<$OyTMj)Mg4~T`NuvOJ2!CH^8KhlLU?SBIeHtw zkq3_NkS`EY=}ZtGR|j95+se2NHEN*?B5bWc~YLNpi=y- zdy_fxmn*mU>rl5|fxBgg_Sl-0753SlyXNO-WA4~`c96fkvoc-hVtx8|=iTpR&@hRP zbu(Tc^UO|um|sp=JJ}7%m6^sm7c~1X&^H&LNaOd`#szng3@+?Hrh8d%p~M0YS~seO zpHZ}DqccXGFO_C~0U^P;1GFKxvaCb<0>vyKZR^wL7cPE{XWCL5L+QEUlyOk$(beO`vkxxzTsCZp_F* zS?>HVbolJq3UA}g4VC~3$<6vj`*oLLV(4p!dS4tSzk6k>#=&~-d&p=X#t$Pt)RAEx zM87hDD8km@=A&3tl5KXEdXv7^%}&8)8^E?=^Pcg{*vejjqffS4Sze)A0&9dP#&=i0 zl#l(L392X0lJc~VKWZ-v>4+r#;2c@ghPr3<#Y^A(|+#;uF7Bfc)0A|rsUy5tf1KVhn#|-Lvm{)$4Bw`O394kUr
p1&`l6*0mQR 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%0D-;nIY6@{MwvGIA$njc-*$_qkU^Gp%mOR7Z5?^ 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 literal 145541 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 z

--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 From 673fbbfe9e2043b6d6cd41540f79cd1b987e4e53 Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 21:37:27 -0500 Subject: [PATCH 20/28] docs: transcribe the refreshed hnsw nDCG in the tradeoff table --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e95bc58..2d32f3e 100644 --- a/README.md +++ b/README.md @@ -445,7 +445,7 @@ ordvec-vs-HNSW tradeoff, all from this same run (trec-covid, 171,332 docs): | single-query latency (batch 1) | 1.52 ms | **0.52 ms** ✅ (~3×) | | index size / vector | 4096 B + graph | **256–384 B** ✅ (8–16× less) | | build time, 171K docs | **47.1 s** | **0.21 s** ✅ (training-free) | -| nDCG@10 (trec-covid) | 0.7555 | **0.7638** ✅ | +| nDCG@10 (trec-covid) | 0.7600 | **0.7638** ✅ | So even where HNSW edges ahead on threaded latency, ordvec gets there with **no graph to build** (instant, training-free, and rebuilt for free when the corpus From 929439f3fd95b7056fa0a245d445a4502f0d92ef Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 21:58:20 -0500 Subject: [PATCH 21/28] fix: land the EINTR retry on the bounded hash and bump to 0.6.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CI caught both halves: the retry from the Qodo remediation had landed on sha256_file (where the io::Error conversion is a useless-conversion lint under current clippy) instead of sha256_file_bounded, the function actually flagged — the retry now lives on both, with the conversion only where the error type changes. And the release-publish invariant correctly refuses [Unreleased] changelog content at an already-released version: this stack is the 0.6.0 work, so ordvec and ordvec-manifest now say 0.6.0 (minor: limit-semantics change, additive APIs, behavioral perf changes). --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- ordvec-manifest/Cargo.toml | 4 ++-- ordvec-manifest/src/lib.rs | 8 ++++++-- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ddec2dc..475f027 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -844,7 +844,7 @@ checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" [[package]] name = "ordvec" -version = "0.5.0" +version = "0.6.0" dependencies = [ "rand 0.10.1", "rand_chacha 0.10.0", @@ -861,7 +861,7 @@ dependencies = [ [[package]] name = "ordvec-manifest" -version = "0.5.0" +version = "0.6.0" dependencies = [ "chrono", "clap", diff --git a/Cargo.toml b/Cargo.toml index 065d8e2..4c3ee3f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ordvec" -version = "0.5.0" +version = "0.6.0" edition = "2021" rust-version = "1.89" # AVX-512 intrinsics stabilized in 1.89.0; also clears the 1.87 floor from u64::is_multiple_of description = "Training-free ordinal & sign quantization for vector retrieval" diff --git a/ordvec-manifest/Cargo.toml b/ordvec-manifest/Cargo.toml index b00029a..88c6de0 100644 --- a/ordvec-manifest/Cargo.toml +++ b/ordvec-manifest/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ordvec-manifest" -version = "0.5.0" +version = "0.6.0" edition = "2021" rust-version = "1.89" license = "MIT OR Apache-2.0" @@ -29,7 +29,7 @@ required-features = ["cli"] chrono = { version = "0.4.44", default-features = false, features = ["clock", "std"] } clap = { version = "4.6.1", features = ["derive"], optional = true } hex = "0.4.3" -ordvec = { version = "0.5.0", path = ".." } +ordvec = { version = "0.6.0", path = ".." } rusqlite = { version = "0.40.0", optional = true } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" diff --git a/ordvec-manifest/src/lib.rs b/ordvec-manifest/src/lib.rs index f0550e6..119ef66 100644 --- a/ordvec-manifest/src/lib.rs +++ b/ordvec-manifest/src/lib.rs @@ -3466,7 +3466,7 @@ pub fn sha256_file(path: impl AsRef) -> io::Result { let n = match file.read(&mut buf) { Ok(n) => n, Err(err) if err.kind() == io::ErrorKind::Interrupted => continue, - Err(err) => return Err(err.into()), + Err(err) => return Err(err), }; if n == 0 { break; @@ -3505,7 +3505,11 @@ pub fn sha256_file_bounded( let mut size_bytes = 0u64; let mut buf = [0u8; 64 * 1024]; loop { - let n = file.read(&mut buf)?; + let n = match file.read(&mut buf) { + Ok(n) => n, + Err(err) if err.kind() == io::ErrorKind::Interrupted => continue, + Err(err) => return Err(err.into()), + }; if n == 0 { break; } From 0bcfb932104fa6cdc2faccb285d6a2b147443f86 Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 22:02:32 -0500 Subject: [PATCH 22/28] chore: track 0.6.0 in the fuzz workspace lock --- fuzz/Cargo.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fuzz/Cargo.lock b/fuzz/Cargo.lock index 46d6639..2f9e2cd 100644 --- a/fuzz/Cargo.lock +++ b/fuzz/Cargo.lock @@ -231,7 +231,7 @@ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" [[package]] name = "ordvec" -version = "0.5.0" +version = "0.6.0" dependencies = [ "rayon", ] From 661529ae3010b00b3a7aef49e8318135822e60f2 Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 22:11:14 -0500 Subject: [PATCH 23/28] chore: lockstep all workspace member versions at 0.6.0 The release-publish SBOM invariant requires member package versions in lockstep with the root; ordvec-ffi and both python bindings follow the 0.6.0 bump. --- Cargo.lock | 6 +++--- ordvec-ffi/Cargo.toml | 2 +- ordvec-manifest-python/Cargo.toml | 2 +- ordvec-python/Cargo.toml | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 475f027..0fe3b9f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -854,7 +854,7 @@ dependencies = [ [[package]] name = "ordvec-ffi" -version = "0.5.0" +version = "0.6.0" dependencies = [ "ordvec", ] @@ -877,7 +877,7 @@ dependencies = [ [[package]] name = "ordvec-manifest-python" -version = "0.5.0" +version = "0.6.0" dependencies = [ "ordvec-manifest", "pyo3", @@ -887,7 +887,7 @@ dependencies = [ [[package]] name = "ordvec-python" -version = "0.5.0" +version = "0.6.0" dependencies = [ "numpy", "ordvec", diff --git a/ordvec-ffi/Cargo.toml b/ordvec-ffi/Cargo.toml index 5dc9b78..177a92b 100644 --- a/ordvec-ffi/Cargo.toml +++ b/ordvec-ffi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ordvec-ffi" -version = "0.5.0" +version = "0.6.0" edition = "2021" rust-version = "1.89" publish = false diff --git a/ordvec-manifest-python/Cargo.toml b/ordvec-manifest-python/Cargo.toml index 6b70394..490ef70 100644 --- a/ordvec-manifest-python/Cargo.toml +++ b/ordvec-manifest-python/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ordvec-manifest-python" -version = "0.5.0" +version = "0.6.0" edition = "2021" rust-version = "1.89" description = "Python bindings for ordvec-manifest index provenance verification" diff --git a/ordvec-python/Cargo.toml b/ordvec-python/Cargo.toml index 174fe13..fb0a3cd 100644 --- a/ordvec-python/Cargo.toml +++ b/ordvec-python/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ordvec-python" -version = "0.5.0" +version = "0.6.0" edition = "2021" rust-version = "1.89" # inherits ordvec's AVX-512 MSRV floor description = "Python bindings for ordvec — training-free ordinal & sign vector quantization" From c30baf16e0330306f7b4b5eef6c2a14da29b8127 Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 22:20:07 -0500 Subject: [PATCH 24/28] chore: complete the 0.6.0 release shape Closes the remaining release-publish invariant layers, verified by running tests/release_publish_invariants.py locally to a clean exit: pyproject + __init__ versions in lockstep, the changelog cut as a dated 0.6.0 section (invariant convention: the current version always has a dated section; [Unreleased] stays empty), THREAT_MODEL status line at v0.6.0, and the README quickstart installing 0.6. --- CHANGELOG.md | 4 ++++ README.md | 2 +- THREAT_MODEL.md | 2 +- ordvec-manifest-python/pyproject.toml | 2 +- ordvec-manifest-python/python/ordvec_manifest/__init__.py | 2 +- ordvec-python/pyproject.toml | 2 +- ordvec-python/python/ordvec/__init__.py | 2 +- 7 files changed, 10 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a5e97df..1e4a4e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +_No unreleased changes._ + +## 0.6.0 - 2026-07-04 + ### Changed - **ordvec-manifest: derived artifact size bounds.** Verification now bounds diff --git a/README.md b/README.md index 76910e5..bfa0876 100644 --- a/README.md +++ b/README.md @@ -209,7 +209,7 @@ Details in [`docs/RANK_MODES.md`](docs/RANK_MODES.md). ```toml [dependencies] -ordvec = "0.5" +ordvec = "0.6" # Or, to track unreleased `main`, use a git dependency instead: # ordvec = { git = "https://github.com/Project-Navi/ordvec" } diff --git a/THREAT_MODEL.md b/THREAT_MODEL.md index eafa311..a096f29 100644 --- a/THREAT_MODEL.md +++ b/THREAT_MODEL.md @@ -1,6 +1,6 @@ # Threat Model — `ordvec` -> **Status:** v0.5.0 (pre-1.0), 2026-06-15. This is the maintained threat model +> **Status:** v0.6.0 (pre-1.0), 2026-06-15. This is the maintained threat model > for the `ordvec` Rust crate, C ABI, Go wrapper, PyO3/maturin Python bindings, > and the `ordvec-manifest` sidecar verifier. It is reviewed when the > attack surface changes (new persistence formats, new `unsafe` kernels, new diff --git a/ordvec-manifest-python/pyproject.toml b/ordvec-manifest-python/pyproject.toml index 090b4b7..1e2f099 100644 --- a/ordvec-manifest-python/pyproject.toml +++ b/ordvec-manifest-python/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "maturin" [project] name = "ordvec-manifest" -version = "0.5.0" +version = "0.6.0" description = "Python bindings for ordvec index manifest verification" readme = "README.md" requires-python = ">=3.10" diff --git a/ordvec-manifest-python/python/ordvec_manifest/__init__.py b/ordvec-manifest-python/python/ordvec_manifest/__init__.py index 20e77dd..4d9790c 100644 --- a/ordvec-manifest-python/python/ordvec_manifest/__init__.py +++ b/ordvec-manifest-python/python/ordvec_manifest/__init__.py @@ -50,4 +50,4 @@ "create_manifest", ] -__version__ = "0.5.0" +__version__ = "0.6.0" diff --git a/ordvec-python/pyproject.toml b/ordvec-python/pyproject.toml index d627aa1..79b26f7 100644 --- a/ordvec-python/pyproject.toml +++ b/ordvec-python/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "maturin" [project] name = "ordvec" -version = "0.5.0" +version = "0.6.0" description = "Training-free ordinal & sign quantization for compressed vector retrieval" readme = "README.md" requires-python = ">=3.10" diff --git a/ordvec-python/python/ordvec/__init__.py b/ordvec-python/python/ordvec/__init__.py index 4726b89..5cfa291 100644 --- a/ordvec-python/python/ordvec/__init__.py +++ b/ordvec-python/python/ordvec/__init__.py @@ -115,4 +115,4 @@ "SignBitmapIndex", ] -__version__ = "0.5.0" +__version__ = "0.6.0" From cf357e536832b9b48084a1db8a77c89511f09b07 Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 22:41:53 -0500 Subject: [PATCH 25/28] fix: checked selection-state bounds in the streamed candidate core MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bot-review remediation (Qodo, PR #278): nq * m_eff can overflow usize on 32-bit/wasm32 targets, and the CSR wrapper's saturating_mul would attempt a usize::MAX allocation. Both sites now use checked multiplication with a clear tile-the-batch message, matching the crate's checked-allocation discipline. The exact m_eff + 1 heap reservation is kept deliberately: gradual growth double-allocates to the next power of two (~2x peak per query) — the reservation is the memory-optimal choice, now documented. --- src/sign_bitmap.rs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/sign_bitmap.rs b/src/sign_bitmap.rs index d44bb78..ec8cd20 100644 --- a/src/sign_bitmap.rs +++ b/src/sign_bitmap.rs @@ -254,6 +254,18 @@ impl SignBitmap { // Max-heap keeps the current worst kept key at the top, so the // retained set is always the m lexicographically smallest // (hamming, doc_id) keys seen so far. + // Selection state is O(nq * m_eff) on top of the CSR output — an + // explicit checked bound (32-bit/wasm32 targets can overflow the + // multiplication) with a clear message, per the crate's + // checked-allocation discipline. Exact per-heap reservation of + // m_eff + 1 is deliberate: gradual growth would double-allocate to + // the next power of two (~2x m_eff peak per query); callers with + // extreme nq * m_eff should tile the query batch (as OrdinalDB's + // chunk scheduler does). + let selection_cells = nq.checked_mul(m_eff).unwrap_or_else(|| { + panic!("selection state nq ({nq}) * m ({m_eff}) overflows usize; tile the query batch") + }); + let _ = selection_cells; let mut heaps: Vec> = (0..nq) .map(|_| BinaryHeap::with_capacity(m_eff + 1)) .collect(); @@ -426,7 +438,9 @@ impl SignBitmap { let m_eff = m.min(self.n_vectors); let mut offsets = Vec::with_capacity(nq + 1); offsets.push(0usize); - let mut candidates = Vec::with_capacity(nq.saturating_mul(m_eff)); + let mut candidates = Vec::with_capacity(nq.checked_mul(m_eff).unwrap_or_else(|| { + panic!("CSR output nq ({nq}) * m ({m_eff}) overflows usize; tile the query batch") + })); if nq == 0 || m_eff == 0 { offsets.extend(std::iter::repeat_n(0usize, nq)); return CandidateBatch { From 4b35a3439598b693148469c505d256c14c767d0a Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 23:12:02 -0500 Subject: [PATCH 26/28] fix: single-snapshot create hashing, strict read bounds, zero-size primary shape check MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bot-review remediation (Qodo, #283 inline): - create_manifest_for_index_with_options observed the index size twice (probe, then a separate stat for the hash bound) — a concurrent writer could produce a manifest whose size and digest describe different bytes. The hash is now bounded by the probe's size, the manifest records the byte count actually hashed, and any disagreement fails loudly. - sha256_file_bounded could read (not hash) up to one 64KiB chunk past the bound; reads now clamp to max_bytes + 1, mirroring read_bounded_file's take() pattern. - validate_manifest_shape gains artifact_file_size_zero for the primary artifact, matching the profile artifacts' explicit zero rejection instead of surfacing a confusing artifact_file_too_large. --- ordvec-manifest/src/lib.rs | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/ordvec-manifest/src/lib.rs b/ordvec-manifest/src/lib.rs index 119ef66..f1b38c8 100644 --- a/ordvec-manifest/src/lib.rs +++ b/ordvec-manifest/src/lib.rs @@ -363,6 +363,12 @@ fn validate_manifest_shape( "artifact.sha256 must be a lowercase 64-character hex SHA-256 digest", ); } + if manifest.artifact.file_size_bytes == 0 { + report.error( + "artifact_file_size_zero", + "artifact.file_size_bytes must be greater than zero", + ); + } if manifest.artifact.bytes_per_vec == 0 { report.error( "artifact_bytes_per_vec_zero", @@ -3505,7 +3511,14 @@ pub fn sha256_file_bounded( let mut size_bytes = 0u64; let mut buf = [0u8; 64 * 1024]; loop { - let n = match file.read(&mut buf) { + // Strict bound: never request bytes past max_bytes + 1 (the +1 + // detects exceedance), mirroring read_bounded_file's take() pattern. + let allowance = max_bytes.saturating_add(1) - size_bytes; + if allowance == 0 { + break; + } + let want = allowance.min(buf.len() as u64) as usize; + let n = match file.read(&mut buf[..want]) { Ok(n) => n, Err(err) if err.kind() == io::ErrorKind::Interrupted => continue, Err(err) => return Err(err.into()), @@ -3586,10 +3599,20 @@ pub fn create_manifest_for_index_with_options( let metadata = probe_index_metadata(index_path)?; let index_hash = sha256_file_bounded( index_path, - fs::metadata(index_path)?.len(), + metadata.file_size_bytes, "artifact_file_too_large", "index artifact", )?; + // One consistent snapshot: the manifest records the byte count that was + // actually hashed, and any change between the metadata probe and the + // hash (concurrent writer) fails loudly instead of embedding a + // size/digest pair describing different bytes. + if index_hash.size_bytes != metadata.file_size_bytes { + return Err(ManifestError::invalid(format!( + "index artifact changed during manifest creation: probed {} bytes, hashed {} bytes", + metadata.file_size_bytes, index_hash.size_bytes + ))); + } let kind = ManifestIndexKind::try_from_core(metadata.kind) .map_err(|err| ManifestError::invalid(err.message()))?; let params = ManifestIndexParams::try_from_core(metadata.params) @@ -3603,7 +3626,7 @@ pub fn create_manifest_for_index_with_options( vector_count: metadata.vector_count, bytes_per_vec: metadata.bytes_per_vec, params, - file_size_bytes: metadata.file_size_bytes, + file_size_bytes: index_hash.size_bytes, }; let row_identity = match row_identity { From e091df5f174dfa4ac3fd5348509ae69e7262d69d Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 23:12:07 -0500 Subject: [PATCH 27/28] perf: build query bitmaps in place in the streamed core Bot-review remediation (Qodo, #283 inline): build_query_bitmap allocated a fresh Vec and re-validated finiteness per query; the entry points already validate the whole buffer and the destination is preallocated. Oracle suites pin bit-identical output. --- src/sign_bitmap.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/sign_bitmap.rs b/src/sign_bitmap.rs index ec8cd20..8d2e764 100644 --- a/src/sign_bitmap.rs +++ b/src/sign_bitmap.rs @@ -242,10 +242,18 @@ impl SignBitmap { let n = self.n_vectors; debug_assert!(m_eff >= 1 && m_eff <= n); + // Build bitmaps in place: the entry points already validated the + // whole query buffer, and build_query_bitmap would allocate a fresh + // Vec (and re-validate) per query on this hot path. let mut q_bitmaps = vec![0u64; nq * qpv]; for qi in 0..nq { - let qb = self.build_query_bitmap(&queries[qi * dim..(qi + 1) * dim]); - q_bitmaps[qi * qpv..(qi + 1) * qpv].copy_from_slice(&qb); + let q = &queries[qi * dim..(qi + 1) * dim]; + let bm = &mut q_bitmaps[qi * qpv..(qi + 1) * qpv]; + for (j, &value) in q.iter().enumerate() { + if value > 0.0 { + bm[j / 64] |= 1u64 << (j % 64); + } + } } let block_docs = (BLOCK_BYTES / (qpv * 8)).max(64).min(n); From 1c193c524f31605238e077eb822bdc81c4f5de12 Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Fri, 3 Jul 2026 23:15:17 -0500 Subject: [PATCH 28/28] fix: apply the index ceiling on the create path MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bot-review remediation (Qodo, #282): --max-index-artifact-bytes wired into ResourceLimits but the create path bounded the primary hash by the probed size alone — the opt-in ceiling was ineffective for create, unlike auxiliary artifacts. Create now mirrors verify: declared/observed size min explicit ceiling. --- ordvec-manifest/src/lib.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ordvec-manifest/src/lib.rs b/ordvec-manifest/src/lib.rs index f1b38c8..c1279be 100644 --- a/ordvec-manifest/src/lib.rs +++ b/ordvec-manifest/src/lib.rs @@ -3599,7 +3599,9 @@ pub fn create_manifest_for_index_with_options( let metadata = probe_index_metadata(index_path)?; let index_hash = sha256_file_bounded( index_path, - metadata.file_size_bytes, + metadata + .file_size_bytes + .min(options.limits.max_index_artifact_bytes), "artifact_file_too_large", "index artifact", )?;

XSf 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%0D5(buOxe3l*Y=L1kp848FlHbyb7T}46;DJg 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 PMR@i&xY(EN^5Og!*Ak=M literal 87751 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%0DjLcCI@4y- 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