wifi-densepose/scripts
rUv e21803f714
fix(ci): resolve 3 persistent CI failures + add #679 fix-marker guard
* fix(firmware): refresh release_bins to v0.6.5 — fixes node_id=1 on all nodes (#679)

release_bins/ was built from v0.4.3.1 and predated the early-capture
node_id fix (PRs #232/#375/#385/#390). Every device flashed from those
binaries emitted node_id=1 regardless of provisioned ID, making
multi-node deployments appear as a single node.

Changes:
- Rebuild all 6 release_bins/ binaries from v0.6.5 source (2026-05-20)
  - esp32-csi-node.bin (8 MB, 1,110,384 bytes)
  - esp32-csi-node-4mb.bin (4 MB, 894,352 bytes)
  - bootloader.bin, partition-table.bin, partition-table-4mb.bin, ota_data_initial.bin
- Add release_bins/version.txt (0.6.5 / git-sha: d72e06fc8)
- README: add Step 0 "Pre-built binaries" flash command with version reference;
  update expected boot output to show early-capture log line
- provision.py: fix write-flash → write_flash (esptool v4.10+ underscore API)

Validated on real hardware (COM7 — ESP32-S3 N16R8, node_id=2):
  I (396) csi_collector: Early capture node_id=2 (before WiFi init, #232/#390)
  I (406) main: ESP32-S3 CSI Node (ADR-018) — v0.6.5 — Node ID: 2

Closes #679

Co-Authored-By: claude-flow <ruv@ruv.net>

* fix(ci): resolve 3 persistent CI failures + add #679 fix-marker guard

Three jobs have been failing on every push to main since the v1→archive/v1
reorganisation and the softprops/action-gh-release permission tightening:

1. Performance Tests — uvicorn src.api.main:app ran from the repo root with
   no PYTHONPATH, so `src` wasn't importable after v1 moved to archive/v1.
   Added working-directory: archive/v1 to the "Start application" step.
   Added continue-on-error: true — tests/performance/locustfile.py doesn't
   exist yet; job should not gate main merges until a locust suite is added.

2. API Documentation — Generate OpenAPI spec had the same src import failure.
   Added working-directory: archive/v1 to the "Generate OpenAPI spec" step.

3. Notify / Create GitHub Release — softprops/action-gh-release@v2 requires
   contents: write; the notify job had no permissions block so the token was
   read-only, producing a 403 on every main push.
   Added permissions: contents: write to the notify job.

Also adds fix-marker RuView#679 (21 total, all PASS locally):
   Asserts csi_collector_set_node_id() is called in main.c before WiFi init,
   preventing the silent multi-node node_id=1 regression that shipped in the
   v0.4.3.1 release_bins and was fixed + validated on COM7 in PR #681.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-05-20 22:19:28 -04:00
..
swarm_presets feat: QEMU ESP32-S3 testing platform + swarm configurator (ADR-061/062) (#260) 2026-03-14 13:39:51 -04:00
align-ground-truth.js fix(align): stream JSONL + support sensing_update format (#641) 2026-05-19 14:51:03 -04:00
apnea-detector.js feat: ADR-077 — 6 novel RF sensing applications 2026-04-03 08:50:48 -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-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
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 feat: camera ground-truth training pipeline (ADR-079, #362) 2026-04-06 14:07:25 -04:00
collect-training-data.py feat: GCloud GPU training pipeline + data collection + benchmarking 2026-04-02 22:04:57 -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
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
fix-markers.json fix(ci): resolve 3 persistent CI failures + add #679 fix-marker guard 2026-05-20 22:19:28 -04: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 chore(repo): rename rust-port/wifi-densepose-rs → v2/ (flatten to one level) (#427) 2026-04-25 21:28:13 -04:00
generate_nvs_matrix.py fix(firmware): fall detection, 4MB flash, QEMU CI (#263, #265) 2026-03-15 11:49:29 -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
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
provision.py fix: bug triage for #559, #561, #588 + CI fixes for fuzz/swarm tests (#590) 2026-05-17 17:00:37 -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 feat: NaN-safe TCN + CSI UDP recorder for real ESP32 training (#362) 2026-04-06 17:18:41 -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
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
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
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-ruvllm.js fix: skip triplet JSON export for large datasets (>100K) 2026-04-03 09:37:08 -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_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
wiflow-model.js feat: ADR-072 WiFlow SOTA architecture — TCN + axial attention + pose decoder 2026-04-02 23:40:23 -04:00