From f2e9e2f2bd81cf5856dbbdfcb7ca0ffa54a246be Mon Sep 17 00:00:00 2001 From: ruv Date: Fri, 29 May 2026 08:09:23 -0400 Subject: [PATCH] docs(adr): add Implementation Status & Integration to ADR-136..146 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Weaves the three framing points into every ADR in the series: - skeleton/scaffolding (data contracts + trust/privacy/audit machinery + algorithms; real, tested, compiling) that existing sensing code plugs into - Built (tested building block) vs Integration glue (not yet on the live 20 Hz path) — per-ADR, with commit + issue references - trust throughline (traceable evidence, sensor agreement, calibration provenance, auditable privacy) ADR-136 §8 carries the full series framing; 137-146 carry per-ADR status. Co-Authored-By: claude-flow --- ...-136-ruview-streaming-engine-frame-contracts.md | 14 ++++++++++++++ ...R-137-fusion-engine-quality-scoring-evidence.md | 12 ++++++++++++ ...38-linkgroup-array-coordinator-clock-quality.md | 12 ++++++++++++ ...DR-139-worldgraph-environmental-digital-twin.md | 12 ++++++++++++ ...R-140-semantic-state-record-and-agent-bridge.md | 12 ++++++++++++ ...bfld-privacy-control-plane-modes-attestation.md | 12 ++++++++++++ ...evolution-tracker-temporal-voxel-aggregation.md | 12 ++++++++++++ ...-rf-slam-reflector-discovery-anchor-learning.md | 12 ++++++++++++ docs/adr/ADR-144-uwb-range-constraint-fusion.md | 12 ++++++++++++ ...DR-145-ablation-eval-harness-privacy-leakage.md | 12 ++++++++++++ ...R-146-rf-encoder-multitask-heads-uncertainty.md | 12 ++++++++++++ 11 files changed, 134 insertions(+) diff --git a/docs/adr/ADR-136-ruview-streaming-engine-frame-contracts.md b/docs/adr/ADR-136-ruview-streaming-engine-frame-contracts.md index 31d574d7..2e8f0c2f 100644 --- a/docs/adr/ADR-136-ruview-streaming-engine-frame-contracts.md +++ b/docs/adr/ADR-136-ruview-streaming-engine-frame-contracts.md @@ -378,3 +378,17 @@ All tests live in `wifi-densepose-core` (contract types) and `wifi-densepose-sig - IEEE 802.11bf-2024 WLAN Sensing — the multistatic sensing context the engine implements (referenced in `ruvsense/mod.rs`). - BLAKE3 (Aumasson et al., 2020) — witness hash function, already vendored for ADR-119/120. + + +--- + +## 8. Implementation Status & Integration (2026-05-29) + + +> **Series context (ADR-136 series).** A *skeleton and nervous system, not a shipping product.* These ADRs deliver the **data contracts**, the **trust / privacy / audit machinery**, and the **algorithms** -- all real, tested, and compiling -- that give the *existing* sensing code a clean place to plug into. Most of the series is **not yet wired into the live 20 Hz pipeline**: each module is an independently tested building block; end-to-end wiring (plus model training in ADR-146) is the next phase, and every ADR's GitHub issue lists what is **Built** vs **Integration glue**. The throughline is **trust** -- *why believe the system when it says a person fell?* -- traceable evidence (137), sensor agreement (137/138), calibration provenance (135/136), and an auditable privacy posture (141). + +**Built -- tested building block** (commit `11f89727f`, issue #840): `ComplexSample` (LE-canonical), `CsiMetadata` provenance fields (`calibration_id` / `model_id` / `model_version`), `CanonicalFrame` + BLAKE3 `witness_hash()`, and the `Stage`/`Versioned`/`QualityScored` traits. 9 acceptance tests; workspace builds clean. + +**Integration glue -- not yet on the live path:** the full 600-frame `Stage`-chain replay (AC6) -> `streaming_engine_replay_v1` witness key; the cross-architecture CI matrix (AC7); and populating the provenance fields from the live calibration and model-binding stages. + +**Trust contribution:** the root of traceability -- the frame contract that lets every fused state name its evidence, model, and calibration. diff --git a/docs/adr/ADR-137-fusion-engine-quality-scoring-evidence.md b/docs/adr/ADR-137-fusion-engine-quality-scoring-evidence.md index 9de7d5b2..6d80b20e 100644 --- a/docs/adr/ADR-137-fusion-engine-quality-scoring-evidence.md +++ b/docs/adr/ADR-137-fusion-engine-quality-scoring-evidence.md @@ -483,3 +483,15 @@ Rejected. `ViewpointFusionEvent` (viewpoint/fusion.rs lines 183–219) is an int - Vaswani, A. et al. (2017). "Attention Is All You Need." *NeurIPS*. — softmax attention weighting reused in `attention_weighted_fusion`; `per_node_weights` is the attention distribution exposed for audit. - Mardia, K.V. & Jupp, P.E. (2000). *Directional Statistics*. Wiley. — circular phase consensus underlying `PhaseAlignmentFailed` detection (sin/cos pooling in `attention_weighted_fusion`). + + +--- + +## Implementation Status & Integration (2026-05-29) +*Part of the ADR-136 streaming-engine series -- skeleton/scaffolding, trust-first, mostly not yet on the live 20 Hz path. See ADR-136 (Implementation Status) for the series framing.* + +**Built -- tested building block** (commit `4fa3847ac`, issue #841): `QualityScore`, `EvidenceRef`, and the canonical `ContradictionFlag`; `MultistaticFuser::fuse_scored()` added additively (does not break `fuse()` or its callers). 6 tests. + +**Integration glue -- not yet on the live path:** emission of `CalibrationIdMismatch` / `DriftProfileConflict` / `PhaseAlignmentFailed` once `calibration_id` propagation and the phase-align convergence signal are threaded onto frames; the BFLD witness record emitted on privacy demotion. + +**Trust contribution:** sensor *agreement made explicit* -- fusion records the evidence it relied on, and any disagreement automatically tightens the downstream privacy class. diff --git a/docs/adr/ADR-138-linkgroup-array-coordinator-clock-quality.md b/docs/adr/ADR-138-linkgroup-array-coordinator-clock-quality.md index 0b076e0e..d0311d95 100644 --- a/docs/adr/ADR-138-linkgroup-array-coordinator-clock-quality.md +++ b/docs/adr/ADR-138-linkgroup-array-coordinator-clock-quality.md @@ -516,3 +516,15 @@ Rejected. The existing `MultistaticConfig.guard_interval_us` (5 ms spread) is a - Van Trees, H.L. (2002). *Optimum Array Processing*. Wiley. Ch. 8. — Cramér-Rao bound and Fisher information matrix used by `CramerRaoBound` for the credence interval. - IEEE 802.11be (WiFi-7) Multi-Link Operation. — Concurrent multi-band streaming model that the `LinkGroup` FreqSet abstraction targets. - IEEE 802.15.4 time synchronization. — Stratum / mesh-epoch model underlying ADR-110's `SyncPacket` and the `ClockQualityScore.stratum` field. + + +--- + +## Implementation Status & Integration (2026-05-29) +*Part of the ADR-136 streaming-engine series -- skeleton/scaffolding, trust-first, mostly not yet on the live 20 Hz path. See ADR-136 (Implementation Status) for the series framing.* + +**Built -- tested building block** (commit `fc7674bde`, issue #842): `ClockQualityGate` (in `wifi-densepose-ruvector`) and `ArrayCoordinator` + `DirectionalEvidence` (in `wifi-densepose-signal`, placed there to avoid a dependency cycle). 8 tests. + +**Integration glue -- not yet on the live path:** the `LinkGroup` per-band consensus aggregate; the ADR-110 `SyncPacket` UDP decode -> `FrameMeta.mesh_aligned_us`; and live coherence/clock-quality feeds per node. + +**Trust contribution:** only well-synced, well-placed nodes are allowed to change the world-model; a clock-degraded node still contributes evidence but is held in *watch-only* mode. diff --git a/docs/adr/ADR-139-worldgraph-environmental-digital-twin.md b/docs/adr/ADR-139-worldgraph-environmental-digital-twin.md index 9185bce1..d2617a5c 100644 --- a/docs/adr/ADR-139-worldgraph-environmental-digital-twin.md +++ b/docs/adr/ADR-139-worldgraph-environmental-digital-twin.md @@ -573,3 +573,15 @@ Add rows to `docs/WITNESS-LOG-028.md`: - petgraph crate — `StableDiGraph`, `dijkstra`, `connected_components` traversal algorithms used by the query API - Mardia, K.V. & Jupp, P.E. (2000). *Directional Statistics*. Wiley — circular geometry for ENU/heading consistency (shared with ADR-135 calibration phase model) + + +--- + +## Implementation Status & Integration (2026-05-29) +*Part of the ADR-136 streaming-engine series -- skeleton/scaffolding, trust-first, mostly not yet on the live 20 Hz path. See ADR-136 (Implementation Status) for the series framing.* + +**Built -- tested building block** (commit `521a012d8`, issue #843): the new `wifi-densepose-worldgraph` crate -- typed petgraph nodes/edges, provenance (`DerivedFrom`) and disagreement (`Contradicts`) edges, the privacy rollup, and deterministic JSON persistence. 7 tests. + +**Integration glue -- not yet on the live path:** feeding live fusion outputs and person tracks into nodes; the full `.rvf` bundle container (today it persists as JSON); and the live ADR-141 privacy-mode reducer. + +**Trust contribution:** the auditable map -- evidence and contradiction are first-class edges, and the privacy posture is *visible in the persisted graph* (an auditor can read what was suppressed). diff --git a/docs/adr/ADR-140-semantic-state-record-and-agent-bridge.md b/docs/adr/ADR-140-semantic-state-record-and-agent-bridge.md index c4cfcb57..2b4f8bb5 100644 --- a/docs/adr/ADR-140-semantic-state-record-and-agent-bridge.md +++ b/docs/adr/ADR-140-semantic-state-record-and-agent-bridge.md @@ -509,3 +509,15 @@ Have `SemanticStateRecord` redact itself (drop `room`, strip biometrics) before - `docs/adr/ADR-137-fusion-engine-quality-scoring-evidence.md` — evidence references and contradiction flags feeding `evidence_refs` + `confidence` - `docs/adr/ADR-139-worldgraph-environmental-digital-twin.md` — room/node resolution for `room` and graph `evidence_refs` - `docs/adr/ADR-141-bfld-privacy-control-plane-modes-attestation.md` — owns the mode→`PrivacyAction` mapping and attestation + + +--- + +## Implementation Status & Integration (2026-05-29) +*Part of the ADR-136 streaming-engine series -- skeleton/scaffolding, trust-first, mostly not yet on the live 20 Hz path. See ADR-136 (Implementation Status) for the series framing.* + +**Built -- tested building block** (commit `169a355bd`, issue #844): `SemanticStateRecord` (provenance-carrying), `PrivacyAction`, and the `MultiSignalRule` agent bridge that fires only on multi-signal agreement. 4 tests. + +**Integration glue -- not yet on the live path:** the `Rest` `SemanticKind` (deferred to avoid an enum-match cascade); subscribing `route_all()` to the broadcast bus -> ADR-133 HOMECORE-ASSIST; and loading the per-primitive model/calibration manifest into `RecordContext`. + +**Trust contribution:** high-stakes actions (caregiver escalation) require *multiple independent signals to agree*, and every emitted record carries model + calibration + privacy provenance and an expiry. diff --git a/docs/adr/ADR-141-bfld-privacy-control-plane-modes-attestation.md b/docs/adr/ADR-141-bfld-privacy-control-plane-modes-attestation.md index 6f40884f..8ab3e913 100644 --- a/docs/adr/ADR-141-bfld-privacy-control-plane-modes-attestation.md +++ b/docs/adr/ADR-141-bfld-privacy-control-plane-modes-attestation.md @@ -587,3 +587,15 @@ Per ADR-028/ADR-010, three rows are added to the witness log: - `docs/adr/ADR-120-bfld-privacy-class-and-hash-rotation.md` - `docs/adr/ADR-121-bfld-identity-risk-scoring.md` - `docs/adr/ADR-122-bfld-ruview-ha-matter-exposure.md` + + +--- + +## Implementation Status & Integration (2026-05-29) +*Part of the ADR-136 streaming-engine series -- skeleton/scaffolding, trust-first, mostly not yet on the live 20 Hz path. See ADR-136 (Implementation Status) for the series framing.* + +**Built -- tested building block** (commit `7d88eb84c`, issue #845): `PrivacyMode` / `PrivacyAction` / `PrivacyModeRegistry` plus the BLAKE3 hash-chained `PrivacyAttestationProof` (`verify_chain()` detects tamper). no_std-safe (registry is std-gated for the ESP32 path). 6 tests. + +**Integration glue -- not yet on the live path:** wiring the registry into `PrivacyGate` class transitions, the MQTT discovery payload, and a read-only Home Assistant diagnostic entity exposing the active mode + proof hash. + +**Trust contribution:** the *policy spine* -- privacy posture is a tamper-evident, auditable chain rather than a checkbox; an operator's mode choice actively governs whether identity data may even exist. diff --git a/docs/adr/ADR-142-evolution-tracker-temporal-voxel-aggregation.md b/docs/adr/ADR-142-evolution-tracker-temporal-voxel-aggregation.md index d745ec6e..3b6abfc7 100644 --- a/docs/adr/ADR-142-evolution-tracker-temporal-voxel-aggregation.md +++ b/docs/adr/ADR-142-evolution-tracker-temporal-voxel-aggregation.md @@ -529,3 +529,15 @@ Design a bespoke voxel-privacy scheme independent of BFLD. Rejected: the monoton - Thrun, S., Burgard, W. & Fox, D. (2005). *Probabilistic Robotics*. MIT Press. Ch. 9 (Occupancy Grid Mapping). — Standard commutative log-odds occupancy update; basis for `VoxelMap::ingest`. - Welford, B.P. (1962). "Note on a Method for Calculating Corrected Sums of Squares and Products." *Technometrics*, 4(3), 419–420. — Per-voxel mean/variance accumulation (same form as `field_model.rs::WelfordStats`). - Wilson, J. & Patwari, N. (2010). "Radio Tomographic Imaging with Wireless Networks." *IEEE Trans. Mobile Computing*, 9(5). — Tomographic inversion basis for `tomography.rs`, extended here with temporal evidence accumulation. + + +--- + +## Implementation Status & Integration (2026-05-29) +*Part of the ADR-136 streaming-engine series -- skeleton/scaffolding, trust-first, mostly not yet on the live 20 Hz path. See ADR-136 (Implementation Status) for the series framing.* + +**Built -- tested building block** (commit `1f8e180d6`, issue #846): `EvolutionTracker` (cross-link change-point), `TemporalVoxel` (Bayesian log-odds occupancy + confidence floor), and `VoxelGate` (privacy demotion to a histogram). 6 tests. + +**Integration glue -- not yet on the live path:** driving `field_model.estimate_occupancy()` consistency checks and CIR-peak-delay distance weighting from live signals; routing detected anomalies to ADR-137 contradiction flags. + +**Trust contribution:** *the room changed* is inferred from multi-link consensus (not one noisy link), and occupancy can be blurred to an aggregate histogram under privacy. diff --git a/docs/adr/ADR-143-rf-slam-reflector-discovery-anchor-learning.md b/docs/adr/ADR-143-rf-slam-reflector-discovery-anchor-learning.md index 36c64c59..1e92bb24 100644 --- a/docs/adr/ADR-143-rf-slam-reflector-discovery-anchor-learning.md +++ b/docs/adr/ADR-143-rf-slam-reflector-discovery-anchor-learning.md @@ -521,3 +521,15 @@ Per ADR-028, add witness rows to `docs/WITNESS-LOG-028.md`: - Mardia, K.V. & Jupp, P.E. (2000). *Directional Statistics*. Wiley. — Circular variance `1 − R̄` used for tap coherence gating. - Foy, W.H. (1976). "Position-Location Solutions by Taylor-Series Estimation." *IEEE Trans. AES*. — Linearised range/TDoA least-squares solved here via the Neumann series. - Marčenko, V.A. & Pastur, L.A. (1967). "Distribution of eigenvalues for some sets of random matrices." *Math. USSR-Sbornik*. — Significant-eigenvalue threshold used for the occupancy and covariance-rank gates (already in `field_model.rs`). + + +--- + +## Implementation Status & Integration (2026-05-29) +*Part of the ADR-136 streaming-engine series -- skeleton/scaffolding, trust-first, mostly not yet on the live 20 Hz path. See ADR-136 (Implementation Status) for the series framing.* + +**Built -- tested building block** (commit `2d4f3dea5`, issue #847): `RfSlam` reflector discovery with Welford position stability and Wall/Furniture/Mobile classification; ships v1 fixed-map mode by default. 6 tests. + +**Integration glue -- not yet on the live path:** live CIR-tap -> reflector-position inference behind the ADR-030 Marcenko-Pastur eigenvalue gate; writing discovered anchors into the WorldGraph as `ObjectAnchor` nodes; the multi-day validation dataset before v2 discovery is enabled. + +**Trust contribution:** landmarks are *learned and verified stable* (walls/furniture) while transient reflectors are rejected, so localization rests on trustworthy anchors. diff --git a/docs/adr/ADR-144-uwb-range-constraint-fusion.md b/docs/adr/ADR-144-uwb-range-constraint-fusion.md index 4600f369..fcc0c3e2 100644 --- a/docs/adr/ADR-144-uwb-range-constraint-fusion.md +++ b/docs/adr/ADR-144-uwb-range-constraint-fusion.md @@ -477,3 +477,15 @@ UWB could ride its own port/protocol. Rejected to avoid a second aggregator, a s - Qorvo DW3000 / DWM3000 802.15.4z UWB transceiver datasheet — SS/DS-TWR primitives and first-path-SNR link-quality reporting that backs `signal_quality` → `uncertainty_m`. - IEEE 802.15.4z-2020 — Enhanced Ultra-Wideband PHY; defines the TWR/TDoA ranging schemes referenced in `RangeMethod`. - Welford, B.P. (1962). *Technometrics* 4(3) — referenced for consistency with ADR-135's online statistics; the spherical EKF here uses the same diagonal-covariance conventions as the existing `KeypointState` Kalman math. + + +--- + +## Implementation Status & Integration (2026-05-29) +*Part of the ADR-136 streaming-engine series -- skeleton/scaffolding, trust-first, mostly not yet on the live 20 Hz path. See ADR-136 (Implementation Status) for the series framing.* + +**Built -- tested building block** (commit `b10bc2e9a`, issue #848): the `RangeConstraint` domain model and `RangeConstraintFusion::refine()` -- a Newton-normalized weighted least-squares that constrains a CSI/CIR prior, with Mahalanobis outlier gating. 4 tests. + +**Integration glue -- not yet on the live path:** the UWB UART driver/parser in `wifi-densepose-hardware` (no UWB module in the device table yet); wiring `refine()` into `pose_tracker`'s Kalman update; anchors as WorldGraph `UwbBeacon` nodes. + +**Trust contribution:** physical-distance anchoring that *rejects* bogus multipath/NLOS ranges before they corrupt the estimate. diff --git a/docs/adr/ADR-145-ablation-eval-harness-privacy-leakage.md b/docs/adr/ADR-145-ablation-eval-harness-privacy-leakage.md index ca26acd8..529efa25 100644 --- a/docs/adr/ADR-145-ablation-eval-harness-privacy-leakage.md +++ b/docs/adr/ADR-145-ablation-eval-harness-privacy-leakage.md @@ -467,3 +467,15 @@ Per ADR-028, three rows are added to `docs/WITNESS-LOG-028.md`: - Carlini, N. et al. (2022). "Membership Inference Attacks From First Principles." *IEEE S&P*. — AUC-based leakage normalization and the "attacker AUC above 0.5" framing used for `leakage_score`. - COCO Keypoint Evaluation. — PCK / OKS definitions and the 17-joint sigmas mirrored from `ruview_metrics.rs` and `metrics.rs`. - Bernstein, J.-P. (BLAKE3 team) (2020). *BLAKE3 specification*. — Keyed-hash mode used by `signature_hasher.rs`, the ADR-120 pipeline under privacy test. + + +--- + +## Implementation Status & Integration (2026-05-29) +*Part of the ADR-136 streaming-engine series -- skeleton/scaffolding, trust-first, mostly not yet on the live 20 Hz path. See ADR-136 (Implementation Status) for the series framing.* + +**Built -- tested building block** (commit `0f336b7d3`, issue #849): the 6-variant `FeatureSet` matrix and `AblationMetrics` (FP/FN, latency p50/p95, membership-inference privacy leakage, cross-room degradation) with a deterministic markdown report and the `csi_cir_beats_csi_only` acceptance check. 5 tests. + +**Integration glue -- not yet on the live path:** the `ruview-cli --ablation mode=auto` subcommand that snapshots the model and runs the 6 variants under `PROOF_SEED=42` witness-bundle replay (also where ADR-136 AC6 lands); the `+UWB` variant once ADR-144 hardware exists. + +**Trust contribution:** makes every pipeline change *measurable* -- including how much a model leaks about its training data -- so improvements are proven, not asserted. The scorecard behind every other claim in the series. diff --git a/docs/adr/ADR-146-rf-encoder-multitask-heads-uncertainty.md b/docs/adr/ADR-146-rf-encoder-multitask-heads-uncertainty.md index 96941b23..68af8b31 100644 --- a/docs/adr/ADR-146-rf-encoder-multitask-heads-uncertainty.md +++ b/docs/adr/ADR-146-rf-encoder-multitask-heads-uncertainty.md @@ -401,3 +401,15 @@ Reuse only the `Temporal` strategy from `rapid_adapt.rs`. **Rejected as the defa - Chen, T. et al. (2020). "A Simple Framework for Contrastive Learning of Visual Representations (SimCLR)." *ICML*. — NT-Xent / projection-head design reused by ADR-024 and the `ContrastiveBatcher` self-supervised strategy. - Bardes, A. et al. (2022). "VICReg: Variance-Invariance-Covariance Regularization for Self-Supervised Learning." *ICLR*. — Variance/covariance regularization (the invariance term motivates the group-variance form of `L_calib_robust`). - IdentiFi (2025) / WhoFi (2025) — WiFi CSI contrastive identity embedding (cited in ADR-024); motivate head #7 and the gait/identity margin-based UQ. + + +--- + +## Implementation Status & Integration (2026-05-29) +*Part of the ADR-136 streaming-engine series -- skeleton/scaffolding, trust-first, mostly not yet on the live 20 Hz path. See ADR-136 (Implementation Status) for the series framing.* + +**Built -- tested building block** (commit `f18b096f2`, issue #850): `RfEmbedding` (pure-Rust f32 ABI), the 7 task heads with per-head uncertainty, the calibration-robustness and triplet losses, and the deterministic `ContrastiveBatcher`. 7 tests. + +**Integration glue -- not yet on the live path (this is the model-training phase):** training the shared encoder backbone on real data via Burn/Candle/libtorch; populating `FrameMeta.model_id` / `model_version` from a head registry once models are versioned for deployment. + +**Trust contribution:** each head reports *how sure it is*, and the encoder is trained to give the same answer across rooms and calibrations -- honesty about confidence plus cross-environment robustness.