diff --git a/README.md b/README.md index 6914ede8..bd964e78 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ docker run -p 3000:3000 ruvnet/wifi-densepose:latest |----------|-------------| | [User Guide](docs/user-guide.md) | Step-by-step guide: installation, first run, API usage, hardware setup, training | | [Build Guide](docs/build-guide.md) | Building from source (Rust and Python) | -| [Architecture Decisions](docs/adr/README.md) | 49 ADRs — why each technical choice was made, organized by domain (hardware, signal processing, ML, platform, infrastructure) | +| [Architecture Decisions](docs/adr/README.md) | 62 ADRs — why each technical choice was made, organized by domain (hardware, signal processing, ML, platform, infrastructure) | | [Domain Models](docs/ddd/README.md) | 7 DDD models (RuvSense, Signal Processing, Training Pipeline, Hardware Platform, Sensing Server, WiFi-Mat, CHCI) — bounded contexts, aggregates, domain events, and ubiquitous language | | [Desktop App](rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/README.md) | **WIP** — Tauri v2 desktop app for node management, OTA updates, WASM deployment, and mesh visualization | @@ -1741,6 +1741,37 @@ See [ADR-061](docs/adr/ADR-061-qemu-esp32s3-firmware-testing.md) for the full ar +
+QEMU Swarm Configurator (ADR-062) + +Test multiple ESP32-S3 nodes simultaneously using a YAML-driven orchestrator. Define node roles, network topologies, and validation assertions in a config file. + +```bash +# Quick smoke test (2 nodes, 15 seconds) +python3 scripts/qemu_swarm.py --preset smoke + +# Standard 3-node test (coordinator + 2 sensors) +python3 scripts/qemu_swarm.py --preset standard + +# See all presets +python3 scripts/qemu_swarm.py --list-presets + +# Preview without running +python3 scripts/qemu_swarm.py --preset standard --dry-run +``` + +**Topologies**: star (sensors → coordinator), mesh (fully connected), line (relay chain), ring (circular). + +**Node roles**: sensor (generates CSI), coordinator (aggregates), gateway (bridges to host). + +**7 presets**: smoke, standard, ci-matrix, large-mesh, line-relay, ring-fault, heterogeneous. + +**9 swarm assertions**: boot check, crash detection, TDM collision, frame production, coordinator reception, fall detection, frame rate, boot time, heap health. + +See [ADR-062](docs/adr/ADR-062-qemu-swarm-configurator.md) and the [User Guide](docs/user-guide.md#testing-firmware-without-hardware-qemu) for step-by-step instructions. + +
+
Python Legacy CLI — v1 API server commands @@ -1760,7 +1791,9 @@ wifi-densepose tasks list # List background tasks
Documentation Links +- [User Guide](docs/user-guide.md) — installation, first run, API, hardware setup, QEMU testing - [WiFi-Mat User Guide](docs/wifi-mat-user-guide.md) | [Domain Model](docs/ddd/wifi-mat-domain-model.md) +- [ADR-061](docs/adr/ADR-061-qemu-esp32s3-firmware-testing.md) QEMU platform | [ADR-062](docs/adr/ADR-062-qemu-swarm-configurator.md) Swarm configurator - [ADR-021](docs/adr/ADR-021-vital-sign-detection-rvdna-pipeline.md) | [ADR-022](docs/adr/ADR-022-windows-wifi-enhanced-fidelity-ruvector.md) | [ADR-023](docs/adr/ADR-023-trained-densepose-model-ruvector-pipeline.md)