Files
ruvnet--RuView/v2/crates/wifi-densepose-ruvector/src/viewpoint/mod.rs
T
ruv fc7674bde9 feat(signal,ruvector): ADR-138 LinkGroup/ArrayCoordinator clock-quality gating (#842)
- ruvector viewpoint/coherence.rs: ClockQualityScore, ClockQualityGate,
  ClockGateDecision (Admit/MonitorOnly/Reject), ClockRejectReason. 200us floor,
  9s staleness ceiling per ADR-110.
- signal ruvsense/array_coordinator.rs: ArrayCoordinator domain service +
  DirectionalEvidence. Gates nodes, computes GDI + Cramer-Rao credence, builds
  attention weights (real node_attention_weights when amplitudes present, else
  clock-quality softmax), emits CoherenceDrop + GeometryInsufficient flags.
- Cycle resolution: ArrayCoordinator lives in signal (depends on ruvector), not
  ruvector, so it can emit ADR-137 canonical ContradictionFlag. Documented.
- 8 tests (5 coordinator + 3 clock gate); workspace 0 errors.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-05-28 23:09:06 -04:00

31 lines
1.4 KiB
Rust

//! Cross-viewpoint embedding fusion for multistatic WiFi sensing (ADR-031).
//!
//! This module implements the RuView fusion pipeline that combines per-viewpoint
//! AETHER embeddings into a single fused embedding using learned cross-viewpoint
//! attention with geometric bias.
//!
//! # Submodules
//!
//! - [`attention`]: Cross-viewpoint scaled dot-product attention with geometric
//! bias encoding angular separation and baseline distance between viewpoint pairs.
//! - [`geometry`]: Geometric Diversity Index (GDI) computation and Cramer-Rao
//! bound estimation for array geometry quality assessment.
//! - [`coherence`]: Coherence gating that determines whether the environment is
//! stable enough for a model update based on phase consistency.
//! - [`fusion`]: `MultistaticArray` aggregate root that orchestrates the full
//! fusion pipeline from per-viewpoint embeddings to a single fused output.
pub mod attention;
pub mod coherence;
pub mod fusion;
pub mod geometry;
// Re-export primary types at the module root for ergonomic imports.
pub use attention::{CrossViewpointAttention, GeometricBias};
pub use coherence::{
ClockGateDecision, ClockQualityGate, ClockQualityScore, ClockRejectReason, CoherenceGate,
CoherenceState,
};
pub use fusion::{FusedEmbedding, FusionConfig, MultistaticArray, ViewpointEmbedding};
pub use geometry::{CramerRaoBound, GeometricDiversityIndex};