Port of Microwaveprop.Commercial.build_link_lookup/2 + link_degradation_from_lookup/3. The Elixir context stays intact (LiveView sensor + SNMP poller); this Rust side is the read-only consumer used by the f00 chain step (Phase 3 Stream A). Three pure-math unit tests cover: haversine distance (DFW→Austin and same-point zero), degradation_at aggregation behaviour, and two-decimal rounding convention that Elixir's Float.round(_, 2) imposes. SQL queries mirror the Elixir Ecto queries one-for-one — baseline window, current point-in-time read, and MIN_BASELINE_SAMPLES quality gate. |
||
|---|---|---|
| .. | ||
| src | ||
| tests | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| Dockerfile | ||