feat: ADR-024 Contrastive CSI Embedding Model — all 7 phases (#52)
Full implementation of Project AETHER — Contrastive CSI Embedding Model. ## Phases Delivered 1. ProjectionHead (64→128→128) + L2 normalization 2. CsiAugmenter (5 physically-motivated augmentations) 3. InfoNCE contrastive loss + SimCLR pretraining 4. FingerprintIndex (4 index types: env, activity, temporal, person) 5. RVF SEG_EMBED (0x0C) + CLI integration 6. Cross-modal alignment (PoseEncoder + InfoNCE) 7. Deep RuVector: MicroLoRA, EWC++, drift detection, hard-negative mining, SEG_LORA ## Stats - 276 tests passing (191 lib + 51 bin + 16 rvf + 18 vitals) - 3,342 additions across 8 files - Zero unsafe/unwrap/panic/todo stubs - ~55KB INT8 model for ESP32 edge deployment Also fixes deprecated GitHub Actions (v3→v4) and adds feat/* branch CI triggers. Closes #50
This commit was merged in pull request #52.
This commit is contained in:
@@ -6,6 +6,10 @@ description = "CLI for WiFi-DensePose"
|
||||
authors.workspace = true
|
||||
license.workspace = true
|
||||
repository.workspace = true
|
||||
documentation = "https://docs.rs/wifi-densepose-cli"
|
||||
keywords = ["wifi", "cli", "densepose", "disaster", "detection"]
|
||||
categories = ["command-line-utilities", "science"]
|
||||
readme = "README.md"
|
||||
|
||||
[[bin]]
|
||||
name = "wifi-densepose"
|
||||
@@ -17,7 +21,7 @@ mat = []
|
||||
|
||||
[dependencies]
|
||||
# Internal crates
|
||||
wifi-densepose-mat = { path = "../wifi-densepose-mat" }
|
||||
wifi-densepose-mat = { version = "0.1.0", path = "../wifi-densepose-mat" }
|
||||
|
||||
# CLI framework
|
||||
clap = { version = "4.4", features = ["derive", "env", "cargo"] }
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
# wifi-densepose-cli
|
||||
|
||||
[](https://crates.io/crates/wifi-densepose-cli)
|
||||
[](https://docs.rs/wifi-densepose-cli)
|
||||
[](LICENSE)
|
||||
|
||||
Command-line interface for WiFi-DensePose, including the Mass Casualty Assessment Tool (MAT) for
|
||||
disaster response operations.
|
||||
|
||||
## Overview
|
||||
|
||||
`wifi-densepose-cli` ships the `wifi-densepose` binary -- a single entry point for operating the
|
||||
WiFi-DensePose system from the terminal. The primary command group is `mat`, which drives the
|
||||
disaster survivor detection and triage workflow powered by the `wifi-densepose-mat` crate.
|
||||
|
||||
Built with [clap](https://docs.rs/clap) for argument parsing,
|
||||
[tabled](https://docs.rs/tabled) + [colored](https://docs.rs/colored) for rich terminal output, and
|
||||
[indicatif](https://docs.rs/indicatif) for progress bars during scans.
|
||||
|
||||
## Features
|
||||
|
||||
- **Survivor scanning** -- Start continuous or one-shot scans across disaster zones with configurable
|
||||
sensitivity, depth, and disaster type.
|
||||
- **Triage management** -- List detected survivors sorted by triage priority (Immediate / Delayed /
|
||||
Minor / Deceased / Unknown) with filtering and output format options.
|
||||
- **Alert handling** -- View, acknowledge, resolve, and escalate alerts generated by the detection
|
||||
pipeline.
|
||||
- **Zone management** -- Add, remove, pause, and resume rectangular or circular scan zones.
|
||||
- **Data export** -- Export scan results to JSON or CSV for integration with external USAR systems.
|
||||
- **Simulation mode** -- Run demo scans with synthetic detections (`--simulate`) for testing and
|
||||
training without hardware.
|
||||
- **Multiple output formats** -- Table, JSON, and compact single-line output for scripting.
|
||||
|
||||
### Feature flags
|
||||
|
||||
| Flag | Default | Description |
|
||||
|-------|---------|-------------|
|
||||
| `mat` | yes | Enable MAT disaster detection commands |
|
||||
|
||||
## Quick Start
|
||||
|
||||
```bash
|
||||
# Install
|
||||
cargo install wifi-densepose-cli
|
||||
|
||||
# Run a simulated disaster scan
|
||||
wifi-densepose mat scan --disaster-type earthquake --sensitivity 0.8 --simulate
|
||||
|
||||
# Check system status
|
||||
wifi-densepose mat status
|
||||
|
||||
# List detected survivors (sorted by triage priority)
|
||||
wifi-densepose mat survivors --sort-by triage
|
||||
|
||||
# View pending alerts
|
||||
wifi-densepose mat alerts --pending
|
||||
|
||||
# Manage scan zones
|
||||
wifi-densepose mat zones add --name "Building A" --bounds 0,0,100,80
|
||||
wifi-densepose mat zones list --active
|
||||
|
||||
# Export results to JSON
|
||||
wifi-densepose mat export --output results.json --format json
|
||||
|
||||
# Show version
|
||||
wifi-densepose version
|
||||
```
|
||||
|
||||
## Command Reference
|
||||
|
||||
```text
|
||||
wifi-densepose
|
||||
mat
|
||||
scan Start scanning for survivors
|
||||
status Show current scan status
|
||||
zones Manage scan zones (list, add, remove, pause, resume)
|
||||
survivors List detected survivors with triage status
|
||||
alerts View and manage alerts (list, ack, resolve, escalate)
|
||||
export Export scan data to JSON or CSV
|
||||
version Display version information
|
||||
```
|
||||
|
||||
## Related Crates
|
||||
|
||||
| Crate | Role |
|
||||
|-------|------|
|
||||
| [`wifi-densepose-mat`](../wifi-densepose-mat) | MAT disaster detection engine |
|
||||
| [`wifi-densepose-core`](../wifi-densepose-core) | Shared types and traits |
|
||||
| [`wifi-densepose-signal`](../wifi-densepose-signal) | CSI signal processing |
|
||||
| [`wifi-densepose-hardware`](../wifi-densepose-hardware) | ESP32 hardware interfaces |
|
||||
| [`wifi-densepose-wasm`](../wifi-densepose-wasm) | Browser-based MAT dashboard |
|
||||
|
||||
## License
|
||||
|
||||
MIT OR Apache-2.0
|
||||
Reference in New Issue
Block a user