* refactor(signal): de-magic motion.rs tuning constants (ADR-154 §7.4 #18) Lift the bare fusion weights, normalization scales, confidence-indicator weights, and adaptive-threshold clamp bounds in motion.rs out of the scoring functions into named, documented EMPIRICAL-DEFAULT consts. Values are bit-identical to the prior literals — this is cleanup, no behaviour change. Adds boundary/characterization tests pinning current behaviour: - motion_tuning_consts_unchanged_from_literals (consts == old literals) - doppler_component_saturates_at_full_scale (/100 then clamp(0,1)) - correlation_score_zero_below_n2_boundary (n<2 guard) - temporal_variance_zero_below_two_history (len<2 guard) - adaptive_threshold_engages_at_history_boundary (history 9 vs 10) Co-Authored-By: claude-flow <ruv@ruv.net> * refactor(signal): gesture.rs euclidean length guard + de-magic (ADR-154 §7.4 #12) - Add a debug_assert! to euclidean_distance documenting the same-dimension caller contract: zip() silently truncates on a length mismatch, so a mismatch is now loud in debug builds while the release operating path and output are unchanged. - De-magic the bare 1e-10 confidence epsilon into a documented const CONFIDENCE_SECOND_BEST_EPSILON (value unchanged). Tests pinning current behaviour: - confidence_epsilon_unchanged_from_literal - dtw_empty_sequence_is_infinite (n=0/m=0 boundary) - euclidean_distance_equal_length_is_l2 (same-dim contract) Co-Authored-By: claude-flow <ruv@ruv.net> * refactor(signal): de-magic longitudinal.rs drift thresholds (ADR-154 §7.4) Lift the bare drift-detection literals (7-day baseline, 2-sigma z-score, 3-day sustained, 7-day escalation, EMA alpha, cosine epsilon) into named, documented EMPIRICAL-DEFAULT consts encoding the module's Key Invariants. The duplicated `>= 7` in is_ready/is_ready_at now share one const. EMA alpha kept as the exact 0.05 literal (1.0 - 0.95_f32 is not bit-identical in f32). Values unchanged. Tests: - drift_consts_unchanged_from_literals - is_ready_at_day_boundary (day 6 vs 7) - cosine_similarity_zero_vector_is_zero (zero-norm guard) Co-Authored-By: claude-flow <ruv@ruv.net> * refactor(signal): de-magic division/zero-norm epsilons + boundary tests (ADR-154 §7.4) De-magic the bare division-guard epsilons in four modules into named, documented consts (values unchanged) and pin the previously-untested zero-norm / zero-variance / degenerate boundaries: - cross_room.rs: COSINE_SIMILARITY_EPSILON (1e-9) + test_cosine_similarity_zero_vector - multiband.rs: PEARSON_DENOMINATOR_EPSILON (1e-12) + pearson_correlation_zero_variance - intention.rs: LEAD_TIME_MIN_ACCEL (1e-10) + lead_time_zero_for_static_stream - hampel.rs: ZERO_MAD_EPSILON (1e-15) + test_zero_half_window_error + test_zero_mad_constant_window; documented hampel_filter # Errors Each module also gets a *_unchanged_from_literal const-pin test. Co-Authored-By: claude-flow <ruv@ruv.net> * refactor(signal): de-magic rf_slam + attractor_drift constants (ADR-154 §7.4) rf_slam.rs: - NS_PER_DAY (86_400_000_000_000.0), MIGRATION_MIN_SPAN_DAYS (1e-9), and the fixed-map defaults (FIXED_MAP_ASSOC_RADIUS_M/MIN_SIGHTINGS/MIN_COHERENCE) lifted out of inline literals (values unchanged). - migration_zero_span_is_zero_rate pins the single-sighting zero-span guard. attractor_drift.rs: - METRIC_BUFFER_CAPACITY (365), STABLE_CENTER_WINDOW (10) de-magicked. - Documented the implicit recent.len()>=1 divide-safety in the PointAttractor branch (guaranteed by the count < min_observations guard). - analyze_min_observations_boundary pins the off-by-one boundary. Each module gets a *_consts_unchanged_from_literals pin test. Co-Authored-By: claude-flow <ruv@ruv.net> * refactor(signal): de-magic coherence.rs variance floor + default decay (ADR-154 §7.4) Completes the M1 #9 de-magic for coherence.rs: the four bare 1e-6 variance-floor literals (update_reference floor + coherence_score/per_subcarrier_zscores epsilon) collapse to one VARIANCE_FLOOR const, and the inline 0.95 default decay becomes DEFAULT_EMA_DECAY. Values unchanged. Tests: - drift_consts_unchanged_from_literals extended (VARIANCE_FLOOR, DEFAULT_EMA_DECAY) - coherence_score_finite_with_zero_variance pins the floor's effect Co-Authored-By: claude-flow <ruv@ruv.net> * refactor(signal): de-magic calibration.rs thresholds + min-frames default (ADR-154 §7.4 #2) Lift the bare calibration literals into named EMPIRICAL-DEFAULT consts (values unchanged, bit-identical; calibration is off the Python proof path): - DEFAULT_MIN_FRAMES (600) — was repeated across all four tier constructors - AMP_STD_FLOOR (1e-12) z-score divisor floor - MOTION_AMP_Z_THRESHOLD (2.0) / MOTION_PHASE_DRIFT_THRESHOLD (π/6) — the two motion_flagged sites now share one definition - SUBTRACT_MIN_NORM (1e-30) baseline-subtraction guard Test calibration_consts_unchanged_from_literals pins all five and asserts every tier constructor shares DEFAULT_MIN_FRAMES. Co-Authored-By: claude-flow <ruv@ruv.net> * refactor(signal): de-magic fusion_quality + temporal_gesture constants (ADR-154 §7.4) fusion_quality.rs: - CONTRADICTION_PENALTY (0.8) and CONTRADICTION_BOUND_HALFWIDTH (0.1) named. - no_contradiction_is_identity pins the n=0 boundary (penalty 0.8^0 = 1.0, zero-width bounds). temporal_gesture.rs: - CONFIDENCE_SECOND_BEST_EPSILON (1e-10, mirrors gesture.rs) and NORM_QUANTIZATION_SCALE (1000.0) named. Each module gets a *_consts_unchanged_from_literals pin test. Values unchanged. Co-Authored-By: claude-flow <ruv@ruv.net> * docs(adr-154): record Milestone-3 — §7.4 row #21-45 P3 backlog cleared Replace the lumped #21-45 backlog row with the enumerated M3 resolution: 22 magic constants de-magicked into named EMPIRICAL-DEFAULT consts (each pinned == prior literal), 6 boundary/characterization tests, ~4 doc-only, across 11 modules; not-real findings reported + skipped (unreachable attractor_drift div0, non-existent gesture thresholds, proof-path features.rs). Update residual P3 rows #2/#12/#17/#18 to RESOLVED, the deferred count (36 -> 0), the scope field, and the Horizon-ledger one-liner. §7.4 backlog fully cleared across M0-M3. CHANGELOG [Unreleased] entry added. Validation: signal lib --no-default-features 476/0/1; --features cir 476/0; workspace 3,275/0; Python proof PASS, hash f8e76f21...46f7a UNCHANGED. Co-Authored-By: claude-flow <ruv@ruv.net> --------- Co-authored-by: ruv <ruvnet@gmail.com> |
||
|---|---|---|
| .. | ||
| gap-analysis | ||
| .issue-177-body.md | ||
| ADR-001-wifi-mat-disaster-detection.md | ||
| ADR-002-ruvector-rvf-integration-strategy.md | ||
| ADR-003-rvf-cognitive-containers-csi.md | ||
| ADR-004-hnsw-vector-search-fingerprinting.md | ||
| ADR-005-sona-self-learning-pose-estimation.md | ||
| ADR-006-gnn-enhanced-csi-pattern-recognition.md | ||
| ADR-007-post-quantum-cryptography-secure-sensing.md | ||
| ADR-008-distributed-consensus-multi-ap.md | ||
| ADR-009-rvf-wasm-runtime-edge-deployment.md | ||
| ADR-010-witness-chains-audit-trail-integrity.md | ||
| ADR-011-python-proof-of-reality-mock-elimination.md | ||
| ADR-012-esp32-csi-sensor-mesh.md | ||
| ADR-013-feature-level-sensing-commodity-gear.md | ||
| ADR-014-sota-signal-processing.md | ||
| ADR-015-public-dataset-training-strategy.md | ||
| ADR-016-ruvector-integration.md | ||
| ADR-017-ruvector-signal-mat-integration.md | ||
| ADR-018-esp32-dev-implementation.md | ||
| ADR-019-sensing-only-ui-mode.md | ||
| ADR-020-rust-ruvector-ai-model-migration.md | ||
| ADR-021-vital-sign-detection-rvdna-pipeline.md | ||
| ADR-022-windows-wifi-enhanced-fidelity-ruvector.md | ||
| ADR-023-trained-densepose-model-ruvector-pipeline.md | ||
| ADR-024-contrastive-csi-embedding-model.md | ||
| ADR-025-macos-corewlan-wifi-sensing.md | ||
| ADR-026-survivor-track-lifecycle.md | ||
| ADR-027-cross-environment-domain-generalization.md | ||
| ADR-028-esp32-capability-audit.md | ||
| ADR-029-ruvsense-multistatic-sensing-mode.md | ||
| ADR-030-ruvsense-persistent-field-model.md | ||
| ADR-031-ruview-sensing-first-rf-mode.md | ||
| ADR-032-multistatic-mesh-security-hardening.md | ||
| ADR-033-crv-signal-line-sensing-integration.md | ||
| ADR-034-expo-mobile-app.md | ||
| ADR-035-live-sensing-ui-accuracy.md | ||
| ADR-036-rvf-training-pipeline-ui.md | ||
| ADR-037-multi-person-pose-detection.md | ||
| ADR-038-sublinear-goal-oriented-action-planning.md | ||
| ADR-039-esp32-edge-intelligence.md | ||
| ADR-040-wasm-programmable-sensing.md | ||
| ADR-041-wasm-module-collection.md | ||
| ADR-042-coherent-human-channel-imaging.md | ||
| ADR-043-sensing-server-ui-api-completion.md | ||
| ADR-044-geospatial-satellite-integration.md | ||
| ADR-045-amoled-display-support.md | ||
| ADR-046-android-tv-box-armbian-deployment.md | ||
| ADR-047-psychohistory-observatory-visualization.md | ||
| ADR-048-adaptive-csi-classifier.md | ||
| ADR-049-cross-platform-wifi-interface-detection.md | ||
| ADR-050-provisioning-tool-enhancements.md | ||
| ADR-052-tauri-desktop-frontend.md | ||
| ADR-053-ui-design-system.md | ||
| ADR-054-desktop-full-implementation.md | ||
| ADR-055-integrated-sensing-server.md | ||
| ADR-056-ruview-desktop-capabilities.md | ||
| ADR-057-firmware-csi-build-guard.md | ||
| ADR-058-ruvector-wasm-browser-pose-example.md | ||
| ADR-059-live-esp32-csi-pipeline.md | ||
| ADR-060-provision-channel-mac-filter.md | ||
| ADR-061-qemu-esp32s3-firmware-testing.md | ||
| ADR-062-qemu-swarm-configurator.md | ||
| ADR-063-mmwave-sensor-fusion.md | ||
| ADR-064-multimodal-ambient-intelligence.md | ||
| ADR-065-happiness-scoring-seed-bridge.md | ||
| ADR-066-esp32-swarm-seed-coordinator.md | ||
| ADR-067-ruvector-v2.0.5-upgrade.md | ||
| ADR-068-per-node-state-pipeline.md | ||
| ADR-069-cognitum-seed-csi-pipeline.md | ||
| ADR-070-self-supervised-pretraining.md | ||
| ADR-071-ruvllm-training-pipeline.md | ||
| ADR-072-wiflow-architecture.md | ||
| ADR-073-multifrequency-mesh-scan.md | ||
| ADR-074-spiking-neural-csi-sensing.md | ||
| ADR-075-mincut-person-separation.md | ||
| ADR-076-csi-spectrogram-embeddings.md | ||
| ADR-077-novel-rf-sensing-applications.md | ||
| ADR-078-multifreq-mesh-applications.md | ||
| ADR-079-camera-ground-truth-training.md | ||
| ADR-080-qe-remediation-plan.md | ||
| ADR-081-adaptive-csi-mesh-firmware-kernel.md | ||
| ADR-082-pose-tracker-confirmed-output-filter.md | ||
| ADR-083-per-cluster-pi-compute-hop.md | ||
| ADR-084-rabitq-similarity-sensor.md | ||
| ADR-085-rabitq-pipeline-expansion.md | ||
| ADR-086-edge-novelty-gate.md | ||
| ADR-089-nvsim-nv-diamond-simulator.md | ||
| ADR-090-nvsim-lindblad-extension.md | ||
| ADR-091-stand-off-radar-tier-research.md | ||
| ADR-092-nvsim-dashboard-implementation.md | ||
| ADR-093-dashboard-gap-analysis.md | ||
| ADR-094-pointcloud-github-pages-deployment.md | ||
| ADR-095-rvcsi-edge-rf-sensing-platform.md | ||
| ADR-096-rvcsi-ffi-crate-layout.md | ||
| ADR-097-adopt-rvcsi-as-ruview-csi-runtime.md | ||
| ADR-098-evaluate-midstream-fit.md | ||
| ADR-099-midstream-introspection-tap.md | ||
| ADR-100-cog-packaging-specification.md | ||
| ADR-101-pose-estimation-cog.md | ||
| ADR-102-edge-module-registry.md | ||
| ADR-103-learned-multi-person-counter.md | ||
| ADR-104-ruview-mcp-cli-distribution.md | ||
| ADR-105-federated-csi-training.md | ||
| ADR-106-dp-sgd-and-primitive-isolation.md | ||
| ADR-107-cross-installation-federation.md | ||
| ADR-108-kyber-post-quantum-key-exchange.md | ||
| ADR-109-dilithium-pqc-signatures.md | ||
| ADR-110-esp32-c6-firmware-extension.md | ||
| ADR-113-multistatic-placement-strategy.md | ||
| ADR-114-cog-quantum-vitals.md | ||
| ADR-115-home-assistant-integration.md | ||
| ADR-116-cog-ha-matter-seed.md | ||
| ADR-117-pip-wifi-densepose-modernization.md | ||
| ADR-118-bfld-beamforming-feedback-layer-for-detection.md | ||
| ADR-119-bfld-frame-format-and-wire-protocol.md | ||
| ADR-120-bfld-privacy-class-and-hash-rotation.md | ||
| ADR-121-bfld-identity-risk-scoring.md | ||
| ADR-122-bfld-ruview-ha-matter-exposure.md | ||
| ADR-123-bfld-capture-path-nexmon-and-esp32.md | ||
| ADR-124-rvagent-mcp-ruvector-npm-integration.md | ||
| ADR-125-ruview-apple-home-native-hap-bridge.md | ||
| ADR-126-ruview-native-ha-port-master.md | ||
| ADR-127-homecore-state-machine-rust.md | ||
| ADR-128-homecore-integration-plugin-system.md | ||
| ADR-129-homecore-automation-engine.md | ||
| ADR-130-homecore-rest-websocket-api.md | ||
| ADR-132-homecore-recorder-history-semantic-search.md | ||
| ADR-133-homecore-assist-ruflo.md | ||
| ADR-134-csi-to-cir-time-domain-multipath.md | ||
| ADR-135-empty-room-baseline-calibration.md | ||
| ADR-136-ruview-streaming-engine-frame-contracts.md | ||
| ADR-137-fusion-engine-quality-scoring-evidence.md | ||
| ADR-138-linkgroup-array-coordinator-clock-quality.md | ||
| ADR-139-worldgraph-environmental-digital-twin.md | ||
| ADR-140-semantic-state-record-and-agent-bridge.md | ||
| ADR-141-bfld-privacy-control-plane-modes-attestation.md | ||
| ADR-142-evolution-tracker-temporal-voxel-aggregation.md | ||
| ADR-143-rf-slam-reflector-discovery-anchor-learning.md | ||
| ADR-144-uwb-range-constraint-fusion.md | ||
| ADR-145-ablation-eval-harness-privacy-leakage.md | ||
| ADR-146-rf-encoder-multitask-heads-uncertainty.md | ||
| ADR-147-nvidia-cosmos-world-foundation-model-integration.md | ||
| ADR-148-drone-swarm-control-system.md | ||
| ADR-149-public-community-leaderboard-huggingface.md | ||
| ADR-150-rf-foundation-encoder.md | ||
| ADR-151-room-calibration-specialist-training.md | ||
| ADR-152-wifi-pose-sota-2026-intake.md | ||
| ADR-153-ieee-802-11bf-sensing-protocol-layer.md | ||
| ADR-154-signal-dsp-beyond-sota.md | ||
| ADR-155-nn-training-beyond-sota.md | ||
| ADR-156-ruvector-fusion-beyond-sota.md | ||
| ADR-157-hardware-sensing-beyond-sota.md | ||
| ADR-158-mat-worldmodel-beyond-sota.md | ||
| ADR-159-cognitum-appliance-beyond-sota.md | ||
| ADR-160-edge-skill-library-honest-labeling.md | ||
| ADR-161-homecore-server-layer-security.md | ||
| ADR-162-plugin-security-and-bounded-runmodes.md | ||
| ADR-163-edge-latency-measurement.md | ||
| ADR-164-adr-corpus-gap-analysis.md | ||
| ADR-165-homecore-migrate-from-home-assistant.md | ||
| ADR-166-quality-engineering-security-hardening.md | ||
| ADR-167-ddd-bounded-contexts.md | ||
| ADR-168-benchmark-proof.md | ||
| ADR-169-adam-mode-light-theme.md | ||
| ADR-170-yoga-mode-pose-system.md | ||
| ADR-171-swarm-benchmarking-evaluation-methodology.md | ||
| README.md | ||
README.md
Architecture Decision Records
This folder contains 45 Architecture Decision Records (ADRs) that document every significant technical choice in the RuView / WiFi-DensePose project.
Why ADRs?
Building a system that turns WiFi signals into human pose estimation involves hundreds of non-obvious decisions: which signal processing algorithms to use, how to bridge ESP32 firmware to a Rust pipeline, whether to run inference on-device or on a server, how to handle multi-person separation with limited subcarriers.
ADRs capture the context, options considered, decision made, and consequences for each of these choices. They serve three purposes:
-
Institutional memory — Six months from now, anyone (human or AI) can read why we chose IIR bandpass filters over FIR for vital sign extraction, not just see the code.
-
AI-assisted development — When an AI agent works on this codebase, ADRs give it the constraints and rationale it needs to make changes that align with the existing architecture. Without them, AI-generated code tends to drift — reinventing patterns that already exist, contradicting earlier decisions, or optimizing for the wrong tradeoffs.
-
Review checkpoints — Each ADR is a reviewable artifact. When a proposed change touches the architecture, the ADR forces the author to articulate tradeoffs before writing code, not after.
ADRs and Domain-Driven Design
The project uses Domain-Driven Design (DDD) to organize code into bounded contexts — each with its own language, types, and responsibilities. ADRs and DDD work together:
- ADRs define boundaries: ADR-029 (RuvSense) established multistatic sensing as a separate bounded context from single-node CSI. ADR-042 (CHCI) defined a new aggregate root for coherent channel imaging.
- DDD models define the language: The RuvSense domain model defines terms like "coherence gate", "dwell time", and "TDM slot" that ADRs reference precisely.
- Together they prevent drift: An AI agent reading ADR-039 knows that edge processing tiers are configured via NVS keys, not compile-time flags — because the ADR says so. The DDD model tells it which aggregate owns that configuration.
How ADRs are structured
Each ADR follows a consistent format:
- Context — What problem or gap prompted this decision
- Decision — What we chose to do and how
- Consequences — What improved, what got harder, and what risks remain
- References — Related ADRs, papers, and code paths
Statuses: Proposed (under discussion), Accepted (approved and/or implemented), Superseded (replaced by a later ADR).
ADR Index
Hardware and firmware
| ADR | Title | Status |
|---|---|---|
| ADR-012 | ESP32 CSI Sensor Mesh for Distributed Sensing | Accepted (partial) |
| ADR-018 | ESP32 Development Implementation Path | Proposed |
| ADR-028 | ESP32 Capability Audit and Witness Record | Accepted |
| ADR-029 | RuvSense Multistatic Sensing Mode (TDM, channel hopping) | Proposed |
| ADR-032 | Multistatic Mesh Security Hardening | Accepted |
| ADR-039 | ESP32-S3 Edge Intelligence Pipeline (on-device vitals) | Accepted (hardware-validated) |
| ADR-040 | WASM Programmable Sensing (Tier 3) | Accepted |
| ADR-041 | WASM Module Collection (65 edge modules) | Accepted (hardware-validated) |
| ADR-044 | Provisioning Tool Enhancements | Proposed |
| ADR-110 | ESP32-C6 firmware extension — Wi-Fi 6 / 802.15.4 / TWT / LP-core | Accepted, P1-P10 complete, firmware-side substrate closed at v0.7.0-esp32. Companion docs: WITNESS-LOG-110 (13 §A0.x entries · 99.56 % cross-board RX · 104.1 µs smoothed sync stdev · ≤100 µs target met), ADR-110-REVIEW-GUIDE (one-page reviewer tour), ADR-110-BRANCH-STATE (coordination map vs feat/adr-115-ha-mqtt-matter). Host decoders + tests: Python SyncPacketParser (10) + Rust wifi_densepose_hardware::SyncPacket (15), cross-language hex pin gates drift. |
Signal processing and sensing
| ADR | Title | Status |
|---|---|---|
| ADR-013 | Feature-Level Sensing on Commodity Gear | Accepted |
| ADR-014 | SOTA Signal Processing Algorithms | Accepted |
| ADR-021 | Vital Sign Detection (breathing, heart rate) | Partial |
| ADR-030 | Persistent Field Model and Drift Detection | Proposed |
| ADR-033 | CRV Signal Line Sensing Integration | Proposed |
| ADR-037 | Multi-Person Pose Detection from Single ESP32 | Proposed |
| ADR-042 | Coherent Human Channel Imaging (beyond CSI) | Proposed |
| ADR-134 | First-Class Channel Impulse Response (CIR) Support | Proposed |
| ADR-135 | Empty-Room Baseline Calibration (per-subcarrier Welford statistics) | Proposed |
Machine learning and training
| ADR | Title | Status |
|---|---|---|
| ADR-005 | SONA Self-Learning for Pose Estimation | Partial |
| ADR-006 | GNN-Enhanced CSI Pattern Recognition | Partial |
| ADR-015 | Public Dataset Strategy (MM-Fi, Wi-Pose) | Accepted |
| ADR-016 | RuVector Training Pipeline Integration | Accepted |
| ADR-017 | RuVector Signal + MAT Integration | Proposed |
| ADR-020 | Migrate AI Inference to Rust (ONNX Runtime) | Accepted |
| ADR-023 | Trained DensePose Model with RuVector Pipeline | Proposed |
| ADR-024 | Project AETHER: Contrastive CSI Embeddings | Required |
| ADR-027 | Project MERIDIAN: Cross-Environment Generalization | Proposed |
| ADR-149 | AetherArena: public spatial-intelligence benchmark on Hugging Face | Proposed |
| ADR-150 | RF Foundation Encoder: pose-preserving, subject/room/device-invariant CSI embedding | Proposed |
| ADR-151 | Per-Room Calibration & Specialized Model Training (room-first → bank of small ruVector specialists) | Proposed |
| ADR-152 | WiFi-Pose SOTA 2026 Intake: geometry-conditioned calibration, external benchmarks, foundation-encoder recipe | Proposed |
Platform and UI
| ADR | Title | Status |
|---|---|---|
| ADR-019 | Sensing-Only UI with Gaussian Splats | Accepted |
| ADR-022 | Windows WiFi Enhanced Fidelity (multi-BSSID) | Partial |
| ADR-025 | macOS CoreWLAN WiFi Sensing | Proposed |
| ADR-031 | RuView Sensing-First RF Mode | Proposed |
| ADR-034 | Expo React Native Mobile App | Accepted |
| ADR-035 | Live Sensing UI Accuracy and Data Transparency | Accepted |
| ADR-036 | Training Pipeline UI Integration | Proposed |
| ADR-043 | Sensing Server UI API Completion (14 endpoints) | Accepted |
| ADR-115 | Home Assistant integration via MQTT auto-discovery + Matter bridge (HA-DISCO + HA-FABRIC + HA-MIND) | Accepted (MQTT track) / Proposed (Matter SDK P8b) |
| ADR-169 | adam-mode — light theme toggle for the three.js realtime demo | Proposed |
| ADR-170 | yoga-mode — yoga pose detection, classification, and scoring for the three.js realtime demo | Proposed |
Architecture and infrastructure
| ADR | Title | Status |
|---|---|---|
| ADR-001 | WiFi-Mat Disaster Detection Architecture | Accepted |
| ADR-002 | RuVector RVF Integration Strategy | Superseded |
| ADR-003 | RVF Cognitive Containers for CSI | Proposed |
| ADR-004 | HNSW Vector Search for Fingerprinting | Partial |
| ADR-007 | Post-Quantum Cryptography for Sensing | Proposed |
| ADR-008 | Distributed Consensus for Multi-AP | Proposed |
| ADR-009 | RVF WASM Runtime for Edge Deployment | Proposed |
| ADR-010 | Witness Chains for Audit Trail Integrity | Proposed |
| ADR-011 | Proof-of-Reality and Mock Elimination | Proposed |
| ADR-026 | Survivor Track Lifecycle (MAT crate) | Accepted |
| ADR-038 | Sublinear GOAP for Roadmap Optimization | Proposed |
| ADR-095 | rvCSI — Edge RF Sensing Runtime Platform | Proposed |
| ADR-096 | rvCSI — Crate Topology, the napi-c Shim, and the napi-rs Node Surface | Proposed |
| ADR-097 | Adopt rvCSI as RuView's primary CSI runtime (phased adoption) | Proposed |
| ADR-098 | Evaluate ruvnet/midstream for RuView's CSI / WebSocket / mesh pipeline |
Rejected |
| ADR-099 | Adopt midstream as RuView's real-time introspection + low-latency tap | Proposed |
Related
- DDD Domain Models — Bounded context definitions, aggregate roots, and ubiquitous language
- User Guide — Setup, API reference, and hardware instructions
- Build Guide — Building from source