ruvector-hailo backend v0.2.0 (iter 227)
Branch hailo-backend snapshot at iter 227. NPU acceleration is the production default since iter 163.
Performance (cognitum-v0, Pi 5 + AI HAT+, c=4 b=1)
| Metric | Value |
|---|---|
| Throughput | ~70 embeds/sec/worker |
| p50 latency | 55-57 ms |
| p99 latency | 86-90 ms (best clean runs) |
| vs cpu-fallback | 9.6× |
| NPU-bound ceiling | confirmed at ~70.6/sec (iter-179 saturation sweep) |
Two arcs since v0.1.0-iter156b
Arc 1 — Security / hardening (iters 174-213)
Eight-layer DoS gate stack on the gRPC worker, all env-tunable:
| Iter | Gate | Default |
|---|---|---|
| 180 | RUVECTOR_MAX_REQUEST_BYTES |
64 KB |
| 181 | RUVECTOR_MAX_CONCURRENT_STREAMS |
256 |
| 182 | RUVECTOR_REQUEST_TIMEOUT_SECS |
30 |
| 183 | CVE-2023-44487 rapid-reset cap | 32 |
| 184 | RUVECTOR_HTTP2_KEEPALIVE_SECS |
60 |
| 190 | RUVECTOR_MAX_RESPONSE_BYTES |
16 KB |
| 199 | RUVECTOR_MAX_BATCH_SIZE |
256 |
| 200 | Per-item rate-limit debit on streams | per-item |
Plus iter-174 HEF sha256 pin, iter-185 shutdown SEGV fix (5/5 SEGV → 10/10 clean), iter-191 HailoRT FFI 2s timeout, iter-209 retry short-circuit on terminal errors, iters 210-213 OOM-bounded operator-path file reads, iters 187-189 client TLS flag plumbing.
Arc 2 — ADR-178 integration gap analysis (iters 215-227)
Goal-planner agent produced ADR-178 (459 lines) identifying 8 gaps; 6 closed:
| Gap | Severity | Iter | Status |
|---|---|---|---|
| A | HIGH | 215 | ✅ ruvllm-bridge deploy artifacts |
| B | HIGH | 218 + 219 | ✅ EmbeddingProvider impl + workspace rejoin |
| C | MEDIUM | 220 | ✅ short-term (csi-bridge docs disambiguation) |
| D | MEDIUM | 221 | ✅ short-term (hailo-cluster-as-provider example) |
| E | MEDIUM | 219 | ✅ folded into B |
| F | MEDIUM | 217 | ✅ ADR-167 stale stratigraphy collapsed |
| G | LOW | — | hardware-bound (Pi 4) |
| H | LOW | 216 | ✅ install-bridge.sh → install-mmwave-bridge.sh |
Plus three iter-219 follow-up side effects all caught + fixed (iters 224, 226, 227).
Verification
cargo build --workspace --release: clean (3m49s)cargo check --workspace: clean- Cluster lib + integration tests
--features tls --test-threads=1: 23 suites, all green; 120 lib tests - hailo lib tests: 21 default + 22 cpu-fallback + 7 tokenizer pass
cargo deny checkon both hailo crates: advisories/bans/licenses/sources OKcargo audit --deny warningswith iter-224 ignores: exit 0- Pi cognitum-v0 deployed + bit-identical embed verified
(vec_head=0.0181,-0.0220,0.0451,0.0159unchanged)
Companion artifacts
- ADR-178 (gap analysis):
docs/adr/ADR-178-ruvector-ruview-hailo-integration-gap-analysis.md - ADR-167 (master ADR, iter-217 collapse):
docs/adr/ADR-167-ruvector-hailo-npu-embedding-backend.md - HEF binary (compatible — unchanged from v0.1.0-iter156b):
hailo-encoder-v0.1.0-iter156b
🤖 Generated with claude-flow