wifi-densepose/.github/workflows
ruv 04e36874a0 feat(signal): ADR-134 — CSI→CIR via ISTA + NeumannSolver warm-start
End-to-end first-class Channel Impulse Response estimation in the Rust
workspace. Bridges CSI (frequency domain) to CIR (delay domain) so
multistatic coherence gating, NLOS/LOS classification, and (at HT40+)
ToF ranging become tractable in `wifi-densepose-signal`.

Algorithm: ISTA L1 sparse recovery over a normalized DFT sub-matrix
sensing operator Φ ∈ ℂ^(K×G) with G = 3K (3× super-resolution). The
Tikhonov-regularised warm start re-uses `ruvector_solver::neumann::
NeumannSolver` — same call pattern as `fresnel.rs:280` and
`train/subcarrier.rs:225` — so no new crate dependencies.

Tiers supported: HT20 / HT40 / HE20 (Tier A-HE, C6) / HE40. The C6
HE-LTF tier is the preferred Tier A target whenever an 11ax AP is in
range; firmware substrate already shipped at v0.7.0-esp32 per ADR-110.

Measured performance (release, single CirEstimator shared across 12
links): HT20 2.72 ms / HE20 3.20 ms / HT40 13.43 ms / HE40 9.71 ms per
estimate(). HT20 12-link multistatic 17.7 ms — fits the 50 ms RuvSense
cycle; HT40 12-link 74 ms exceeds it and is flagged in ADR-134 §2.7 as
requiring Rayon parallelism or G=2K super-res reduction.

Measured Φ conditioning: κ(Φ) ≈ 1.00 identically across all tiers.
ADR-134 §2.3 was corrected — the C6 advantage is statistical SNR gain
(√(242/52) ≈ 2.16×) from more independent measurements, not improved
conditioning.

Witness: bit-deterministic SHA-256 over CirEstimator output on the
synthetic ADR-028 reference signal (100 frames, top-5 taps, 1e-6
quantization). Hash committed to expected_cir_features.sha256;
verify-cir-proof.sh wires the check into the existing witness bundle.

CI: cargo test --features cir + verify-cir-proof.sh added as separate
steps under the Rust Workspace Tests job; regressions are unambiguously
attributable.

Files:
- ADR + WITNESS-LOG-028 row 34 + CLAUDE.md module count (14 → 15)
- src/ruvsense/cir.rs (~540 LOC) + lib.rs re-exports + multistatic.rs
  wire-up (reversible via `use_cir_gate=false`)
- 3 integration tests + Criterion bench + 3 deterministic fixtures
- cir_proof_runner binary + sha256 + verify-cir-proof.sh

Test rate: 395 pass / 6 ignored (P2 ISTA hyperparameter tuning; see
#[ignore] reasons) / 0 fail. cargo check clean; verify-cir-proof.sh
VERDICT: PASS.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-05-28 16:10:02 -04:00
..
bfld-mqtt-integration.yml feat(adr-118/p6.5): GitHub Actions mosquitto Docker CI workflow (235/235 GREEN) 2026-05-24 18:49:49 -04:00
cd.yml security: Fix GitHub Actions shell injection vulnerability 2026-02-28 20:40:25 +01:00
ci.yml feat(signal): ADR-134 — CSI→CIR via ISTA + NeumannSolver warm-start 2026-05-28 16:10:02 -04:00
clone-tracking.yml feat(traffic): clone+view tracking → data/clone-data.rvf (ruvector JSONL RVF) (#656) 2026-05-19 19:17:15 -04:00
cog-ha-matter-release.yml cog-ha-matter (ADR-116 P8): CI release workflow + fix inherited filename bug 2026-05-23 23:05:54 -04:00
dashboard-a11y.yml chore(deps): bump actions/setup-node from 4 to 6 (#447) 2026-05-17 18:11:11 -04:00
dashboard-pages.yml chore(deps): bump actions/setup-node from 4 to 6 (#447) 2026-05-17 18:11:11 -04:00
desktop-release.yml chore(deps): bump actions/setup-node from 4 to 6 (#447) 2026-05-17 18:11:11 -04:00
firmware-ci.yml ADR-110: ESP32-C6 firmware extension (#764) 2026-05-23 15:34:48 -04:00
firmware-qemu.yml fix(firmware): fall detection, 4MB flash, QEMU CI (#263, #265) 2026-03-15 11:49:29 -04:00
fix-regression-guard.yml chore(deps): bump actions/setup-python from 5 to 6 (#453) 2026-05-17 18:11:33 -04:00
mqtt-integration.yml ADR-115: Home Assistant + Matter integration (#778) 2026-05-23 16:13:28 -04:00
nvsim-server-docker.yml chore(deps): bump docker/metadata-action from 5 to 6 (#449) 2026-05-17 18:11:18 -04:00
pip-release.yml feat(adr-117): pip wifi-densepose modernization (PIP-PHOENIX) + ruview sibling release (#786) 2026-05-24 13:00:38 -04:00
pointcloud-pages.yml feat(pointcloud): integrate ESP32 CSI as optional data stream from hosted viewer 2026-04-29 20:33:00 -04:00
security-scan.yml chore(deps): bump actions/setup-python from 5 to 6 (#453) 2026-05-17 18:11:33 -04:00
sensing-server-docker.yml fix(ci): use docker login --password-stdin (bypass login-action@v3) 2026-05-25 15:42:40 -04:00
threejs-pages.yml feat(pages): deploy three.js demos to gh-pages/three.js/ (#649) 2026-05-19 18:17:43 -04:00
update-submodules.yml ci: fix "Update vendor submodules" workflow (identity + drop --merge) 2026-05-11 12:33:40 -04:00
verify-pipeline.yml fix(verify): cross-platform deterministic proof — 6-decimal quantize + thread-pinning (closes #560) (#609) 2026-05-17 19:50:55 -04:00