mirror of
https://github.com/ruvnet/RuView
synced 2026-08-05 19:41:44 +00:00
6fd5b7dad5
Implements Pass 1 of ADR-084 (RaBitQ similarity sensor): a thin
RuView-flavored API over `ruvector_core::quantization::BinaryQuantized`,
exposed at `wifi_densepose_ruvector::{Sketch, SketchBank, SketchError}`.
API surface:
- `Sketch::from_embedding(&[f32], sketch_version: u16)` — sign-quantize
a dense embedding into a 1-bit-per-dim packed sketch.
- `Sketch::distance` — hamming distance with schema-mismatch error.
- `Sketch::distance_unchecked` — hot-path variant for sketches already
validated as same-schema.
- `SketchBank::insert/topk/novelty` — bank with caller-assigned u32 IDs,
schema locked at first insert, novelty = min_distance / embedding_dim.
Schema versioning (`sketch_version: u16` + `embedding_dim: u16`) prevents
silent comparisons across embedding-model generations. Bumping the model
forces re-sketch of the candidate bank.
Pass 1 establishes the API and unit-test foundation. Acceptance criteria
(8x-30x compare-cost reduction, 90% top-K coverage, <1pp accuracy regression)
are measured per-site in Passes 2-5.
Validated:
- 12 new tests pass (sketch construction, hamming, top-K ordering,
schema lock, schema rejection, novelty)
- cargo test --workspace --no-default-features → 1,551 passed, 0 failed,
8 ignored (was 1,539 before; +12 new tests)
- ESP32-S3 on COM7 still streaming live CSI (cb #117300)
Co-Authored-By: claude-flow <ruv@ruv.net>
37 lines
1.1 KiB
TOML
37 lines
1.1 KiB
TOML
[package]
|
|
name = "wifi-densepose-ruvector"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
authors.workspace = true
|
|
license.workspace = true
|
|
description = "RuVector v2.0.4 integration layer — ADR-017 signal processing and MAT ruvector integrations"
|
|
repository.workspace = true
|
|
keywords = ["wifi", "csi", "ruvector", "signal-processing", "disaster-detection"]
|
|
categories = ["science", "computer-vision"]
|
|
readme = "README.md"
|
|
|
|
[features]
|
|
default = []
|
|
crv = ["dep:ruvector-crv", "dep:ruvector-gnn", "dep:serde", "dep:serde_json"]
|
|
|
|
[dependencies]
|
|
ruvector-core = { workspace = true }
|
|
ruvector-mincut = { workspace = true }
|
|
ruvector-attn-mincut = { workspace = true }
|
|
ruvector-temporal-tensor = { workspace = true }
|
|
ruvector-solver = { workspace = true }
|
|
ruvector-attention = { workspace = true }
|
|
ruvector-crv = { workspace = true, optional = true }
|
|
ruvector-gnn = { workspace = true, optional = true }
|
|
thiserror = { workspace = true }
|
|
serde = { workspace = true, optional = true }
|
|
serde_json = { workspace = true, optional = true }
|
|
|
|
[dev-dependencies]
|
|
approx = "0.5"
|
|
criterion = { workspace = true }
|
|
|
|
[[bench]]
|
|
name = "crv_bench"
|
|
harness = false
|