Ruview/scripts
ruv 832a8efa6a fix(firmware): recover stalled CSI capture and stop discarding accepted frames (#1941)
A C6 node's CSI callbacks stopped for 473 s while Wi-Fi, ping, ESP-NOW,
the console and RUVIEW_HELLO stayed healthy. The uplink watchdog cannot
see this: adaptive-controller and mesh packets keep sendto() succeeding.

Capture watchdog (ADR-364):
- the CSI callback stamps raw-callback and CSI-send liveness (uint32 ms)
- a pure, host-tested policy (csi_stall_policy.c) escalates one
  CSI_STALL_TIMEOUT_S (15 s) step at a time: re-arm the capture path,
  force reassociation, restart; paused while the link is down, armed
  only after first capture, off under power duty-cycling, radio-only
  liveness when a source-MAC filter is active
- test-only CONFIG_CSI_STALL_INJECT_MODE to prove the ladder on silicon

Send gate: a second 20 ms gate timed from the send, not the accept,
discarded frames the mesh-aligned process gate accepted 10-20 ms apart
(seq steps were only +1/+2). It is now a burst guard at the process
gate's floor.

MEASURED on ESP32-C6 node 42 (scripts/benchmark-esp32-csi.py, new):
- sequence loss 21-28% -> 0.08-0.15%; 0 false triggers over 855 s
- injected transient stall: detected +15.0 s, re-armed, host outage
  15.2-15.3 s, no reassoc/reboot (2 runs)
- injected persistent stall: re-arm, reassoc, restart; outage 52.9 s
Host tests (make host_tests) pass; ASan/UBSan clean; C6 and S3 build
with no new warnings.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-09-29 11:14:40 -04:00
..
fal-visual-teacher feat: train real fal.ai synthetic visual teacher LoRA (ADR-353) 2026-09-02 08:45:23 -04:00
gcp feat(swarm): add ruview-swarm crate — drone swarm control system (ADR-148) (#862) 2026-05-30 16:00:59 -04:00
macos-shortcuts ADR-125 APPLE-FABRIC: RuView <-> Apple Home native HAP bridge (e2e on real C6) (#797) 2026-05-25 17:36:40 -04:00
pose-physics feat: add physics-constrained pose refinement 2026-08-15 14:29:07 -04:00
ruforecast-zeroshot docs(ruforecast): real zero-shot pretrained-checkpoint comparison beats naive baselines 2026-09-02 02:15:33 -04:00
swarm_presets feat: QEMU ESP32-S3 testing platform + swarm configurator (ADR-061/062) (#260) 2026-03-14 13:39:51 -04:00
tests ADR-152: WiFi-Pose SOTA 2026 intake — WiFlow-STD benchmark, Rust integrations, ADR-153 802.11bf layer, efficiency frontier (#1008) 2026-06-11 17:02:23 -04:00
align-ground-truth.js fix(paired-data): 4 bugs corrupting/blocking camera-supervised training data (#1007) 2026-06-17 10:17:12 -04:00
apnea-detector.js feat: ADR-077 — 6 novel RF sensing applications 2026-04-03 08:50:48 -04:00
benchmark-esp32-csi.py fix(firmware): recover stalled CSI capture and stop discarding accepted frames (#1941) 2026-09-29 11:14:40 -04:00
benchmark-model.py feat: GCloud GPU training pipeline + data collection + benchmarking 2026-04-02 22:04:57 -04:00
benchmark-rf-scan.js feat: ADR-073 multi-frequency mesh RF scanning 2026-04-03 00:18:29 -04:00
benchmark-rtl8721dx-csi.py Add bounded RTL8721Dx RAC1 CSI ingest to current RuView main 2026-09-15 13:57:01 -04:00
benchmark-ruvllm.js fix: ruvllm pipeline — 7 critical fixes, all metrics improved 2026-04-02 22:40:48 -04:00
benchmark-wiflow.js feat: ADR-072 WiFlow SOTA architecture — TCN + axial attention + pose decoder 2026-04-02 23:40:23 -04:00
c6-presence-watcher.py ADR-125 APPLE-FABRIC: RuView <-> Apple Home native HAP bridge (e2e on real C6) (#797) 2026-05-25 17:36:40 -04:00
calibrate-camera-room.py ADR-152: WiFi-Pose SOTA 2026 intake — WiFlow-STD benchmark, Rust integrations, ADR-153 802.11bf layer, efficiency frontier (#1008) 2026-06-11 17:02:23 -04:00
calibration_lib.py ADR-152: WiFi-Pose SOTA 2026 intake — WiFlow-STD benchmark, Rust integrations, ADR-153 802.11bf layer, efficiency frontier (#1008) 2026-06-11 17:02:23 -04:00
check_fix_markers.py ci: fix-marker regression guard (witness-style) 2026-05-11 10:48:14 -04:00
check_health.py feat: QEMU ESP32-S3 testing platform + swarm configurator (ADR-061/062) (#260) 2026-03-14 13:39:51 -04:00
collect-ground-truth.py ADR-152: WiFi-Pose SOTA 2026 intake — WiFlow-STD benchmark, Rust integrations, ADR-153 802.11bf layer, efficiency frontier (#1008) 2026-06-11 17:02:23 -04:00
collect-training-data.py feat: GCloud GPU training pipeline + data collection + benchmarking 2026-04-02 22:04:57 -04:00
csi-data-policy-check.sh Merge remote-tracking branch 'origin/main' into resolve-1579-conflict 2026-08-11 13:04:00 -04:00
csi-data-policy.allow Merge remote-tracking branch 'origin/main' into resolve-1579-conflict 2026-08-11 13:04:00 -04:00
csi-graph-visualizer.js feat: ADR-075 min-cut person separation — fixes #348 2026-04-03 00:34:57 -04:00
csi-spectrogram.js feat: ADR-076 CNN spectrogram embeddings + graph transformer fusion 2026-04-03 00:36:38 -04:00
csi-udp-relay.py feat: per-room calibration system (ADR-151) + cognitum-v0 appliance integration spec (#989) 2026-06-10 15:21:09 -04:00
deep-scan.js feat: deep-scan.js — comprehensive RF intelligence report 2026-04-03 13:03:18 -04:00
device-fingerprint.js feat: ADR-078 — 5 multi-frequency mesh applications 2026-04-03 08:52:50 -04:00
esp32_jsonl_to_rvcsi.py fix(rvcsi): scale-relative baseline-drift thresholds + ESP32 end-to-end validation 2026-05-12 22:19:15 -04:00
esp32_wasm_test.py feat: add ADR-042 CHCI protocol, 24 new edge modules, README restructure 2026-03-03 11:35:57 -05:00
eval-wiflow.js feat: camera ground-truth training pipeline (ADR-079, #362) 2026-04-06 14:07:25 -04:00
export-onnx.py feat(cog-pose-estimation): scaffold first Cog from this repo (ADR-100 + ADR-101) (#642) 2026-05-19 17:03:09 -04:00
firmware-release-guard.sh chore(firmware): add release guard against stale-sdkconfig partition mismatch (#1194) 2026-06-27 13:21:05 -04:00
fix-markers.json ci(python): gate python/ package in main CI + add fix-marker guards for filename-collision and wheel-budget regressions 2026-07-21 22:03:59 -07:00
gait-analyzer.js feat: ADR-077 — 6 novel RF sensing applications 2026-04-03 08:50:48 -04:00
gcloud-train.sh chore(repo): rename rust-port/wifi-densepose-rs → v2/ (flatten to one level) (#427) 2026-04-25 21:28:13 -04:00
generate-witness-bundle.sh feat(signal): ADR-134 CSI→CIR via ISTA + NeumannSolver warm-start (#837) 2026-05-28 16:24:37 -04:00
generate_nvs_matrix.py security: repair scanning and close stale alert sources 2026-08-02 15:22:13 -04:00
hap-test-sensor.py ADR-125 APPLE-FABRIC: RuView <-> Apple Home native HAP bridge (e2e on real C6) (#797) 2026-05-25 17:36:40 -04:00
homecore-seed.sh feat(homecore-ui): Dashboard page + seed script — UI is no longer empty 2026-05-26 12:26:02 -04:00
inject_fault.py feat: QEMU ESP32-S3 testing platform + swarm configurator (ADR-061/062) (#260) 2026-03-14 13:39:51 -04:00
install-qemu.sh feat: QEMU ESP32-S3 testing platform + swarm configurator (ADR-061/062) (#260) 2026-03-14 13:39:51 -04:00
mac-mini-train.sh fix: remove hardcoded Tailscale IPs and usernames from public files 2026-04-06 14:39:21 -04:00
material-classifier.js feat: ADR-078 — 5 multi-frequency mesh applications 2026-04-03 08:52:50 -04:00
material-detector.js feat: ADR-077 — 6 novel RF sensing applications 2026-04-03 08:50:48 -04:00
mesh-graph-transformer.js feat: ADR-076 CNN spectrogram embeddings + graph transformer fusion 2026-04-03 00:36:38 -04:00
mincut-person-counter.js feat: ADR-075 min-cut person separation — fixes #348 2026-04-03 00:34:57 -04:00
mmwave_fusion_bridge.py feat: ADR-063/064 mmWave sensor fusion + multimodal ambient intelligence (#269) 2026-03-15 16:10:10 -04:00
occworld_retrain.py security: repair scanning and close stale alert sources 2026-08-02 15:22:13 -04:00
occworld_server.py security: repair scanning and close stale alert sources 2026-08-02 15:22:13 -04:00
overnight-empty-capture.py ADR-152: WiFi-Pose SOTA 2026 intake — WiFlow-STD benchmark, Rust integrations, ADR-153 802.11bf layer, efficiency frontier (#1008) 2026-06-11 17:02:23 -04:00
passive-radar.js feat: ADR-078 — 5 multi-frequency mesh applications 2026-04-03 08:52:50 -04:00
probe-fft-platform.py fix(verify): cross-platform deterministic proof — 6-decimal quantize + thread-pinning (closes #560) (#609) 2026-05-17 19:50:55 -04:00
prove.sh docs(ADR-163): edge-latency RESULTS + PROOF/prove.sh wiring (T3) 2026-06-12 08:02:07 -04:00
provision.py security: repair scanning and close stale alert sources 2026-08-02 15:22:13 -04:00
publish-huggingface.py feat: HuggingFace model publishing pipeline + model card 2026-04-02 22:04:16 -04:00
publish-huggingface.sh feat: HuggingFace model publishing pipeline + model card 2026-04-02 22:04:16 -04:00
qemu-chaos-test.sh feat: QEMU ESP32-S3 testing platform + swarm configurator (ADR-061/062) (#260) 2026-03-14 13:39:51 -04:00
qemu-cli.sh feat: QEMU ESP32-S3 testing platform + swarm configurator (ADR-061/062) (#260) 2026-03-14 13:39:51 -04:00
qemu-esp32s3-test.sh feat: QEMU ESP32-S3 testing platform + swarm configurator (ADR-061/062) (#260) 2026-03-14 13:39:51 -04:00
qemu-mesh-test.sh chore(repo): rename rust-port/wifi-densepose-rs → v2/ (flatten to one level) (#427) 2026-04-25 21:28:13 -04:00
qemu-snapshot-test.sh feat: QEMU ESP32-S3 testing platform + swarm configurator (ADR-061/062) (#260) 2026-03-14 13:39:51 -04:00
qemu_swarm.py fix: bug triage for #559, #561, #588 + CI fixes for fuzz/swarm tests (#590) 2026-05-17 17:00:37 -04:00
record-csi-udp.py fix(paired-data): 4 bugs corrupting/blocking camera-supervised training data (#1007) 2026-06-17 10:17:12 -04:00
redact-secrets.py ADR-110: ESP32-C6 firmware extension (#764) 2026-05-23 15:34:48 -04:00
release-v0.5.4.sh feat: ADR-069 ESP32 CSI → Cognitum Seed RVF pipeline (v0.5.4-esp32) 2026-04-02 19:32:18 -04:00
replay-pose-physics-golden.sh feat: add physics-constrained pose refinement 2026-08-15 14:29:07 -04:00
rf-scan-multifreq.js feat: ADR-073 multi-frequency mesh RF scanning 2026-04-03 00:18:29 -04:00
rf-scan.js fix: add --bind flag for Windows firewall compatibility 2026-04-03 09:09:53 -04:00
rf-tomography.js feat: ADR-078 — 5 multi-frequency mesh applications 2026-04-03 08:52:50 -04:00
room-fingerprint.js feat: ADR-077 — 6 novel RF sensing applications 2026-04-03 08:50:48 -04:00
rotate-npm-token.sh chore(security): allow .env reads + add rotate-npm-token.sh 2026-05-25 10:32:46 -04:00
run-ruforecast-benchmarks.sh feat(forecast): add independent Rust multivariate training stack (#1766) 2026-09-01 23:35:42 -04:00
ruview-hap-bridge.py ADR-125 APPLE-FABRIC: RuView <-> Apple Home native HAP bridge (e2e on real C6) (#797) 2026-05-25 17:36:40 -04:00
ruview-sensing-server.py ADR-125 APPLE-FABRIC: RuView <-> Apple Home native HAP bridge (e2e on real C6) (#797) 2026-05-25 17:36:40 -04:00
ruview_occ_dataset.py feat(worldmodel): ADR-147 Phase 3+5 — RuViewOccDataset domain adapter + retraining pipeline 2026-05-29 18:46:56 -04:00
rvagent-mcp-consumer.py ADR-125 APPLE-FABRIC: RuView <-> Apple Home native HAP bridge (e2e on real C6) (#797) 2026-05-25 17:36:40 -04:00
seed_csi_bridge.py fix: add --bind flag for Windows firewall compatibility 2026-04-03 09:09:53 -04:00
sleep-monitor.js feat: ADR-077 — 6 novel RF sensing applications 2026-04-03 08:50:48 -04:00
snn-csi-processor.js feat: ADR-074 spiking neural network for real-time CSI sensing 2026-04-03 00:34:31 -04:00
stress-monitor.js feat: ADR-077 — 6 novel RF sensing applications 2026-04-03 08:50:48 -04:00
swarm_health.py feat: QEMU ESP32-S3 testing platform + swarm configurator (ADR-061/062) (#260) 2026-03-14 13:39:51 -04:00
synth-csi-udp.py feat(signal): ADR-135 — empty-room baseline calibration 2026-05-28 18:57:08 -04:00
through-wall-detector.js feat: ADR-078 — 5 multi-frequency mesh applications 2026-04-03 08:52:50 -04:00
train-camera-free.js feat: camera-free 17-keypoint pose training (10 sensor signals) 2026-04-02 23:05:07 -04:00
train-count.py feat(cog-person-count): v0.0.2 — K-fold + label-smoothing + temperature-calibrated (#699) 2026-05-21 19:47:04 -04:00
train-ruvllm.js fix(training): export the real contrastive lossHistory/duration, not a no-op baseline pass 2026-09-09 11:26:17 -04:00
train-wiflow-supervised.js feat: scalable WiFlow model with 4 size presets (#362) 2026-04-06 14:55:35 -04:00
train-wiflow.js feat: ADR-072 WiFlow SOTA architecture — TCN + axial attention + pose decoder 2026-04-02 23:40:23 -04:00
training-config-sweep.json feat: GCloud GPU training pipeline + data collection + benchmarking 2026-04-02 22:04:57 -04:00
udp-relay.py fix(docker): UDP relay for multi-source ESP32 on Docker Desktop Windows (#502) 2026-05-17 18:01:44 -04:00
validate-esp32-mqtt.sh ADR-115: Home Assistant + Matter integration (#778) 2026-05-23 16:13:28 -04:00
validate-ha-blueprints.py ADR-115: Home Assistant + Matter integration (#778) 2026-05-23 16:13:28 -04:00
validate_mesh_test.py feat: QEMU ESP32-S3 testing platform + swarm configurator (ADR-061/062) (#260) 2026-03-14 13:39:51 -04:00
validate_qemu_output.py ADR-081: Implement 5-layer adaptive CSI mesh firmware kernel (#404) 2026-04-20 10:38:23 -04:00
verify-calibration-proof.sh feat(signal): ADR-135 — empty-room baseline calibration 2026-05-28 18:57:08 -04:00
verify-cir-proof.sh feat(signal): ADR-134 CSI→CIR via ISTA + NeumannSolver warm-start (#837) 2026-05-28 16:24:37 -04:00
verify-pose-physics-splits.sh feat: add physics-constrained pose refinement 2026-08-15 14:29:07 -04:00
wiflow-model.js feat: ADR-072 WiFlow SOTA architecture — TCN + axial attention + pose decoder 2026-04-02 23:40:23 -04:00
witness-adr-115.sh ADR-115: Home Assistant + Matter integration (#778) 2026-05-23 16:13:28 -04:00