mirror of
https://github.com/ruvnet/RuView
synced 2026-07-24 17:43:20 +00:00
2febbb813c
Reverses the release-wheel packaging change from3ed43e9aafter review. That commit built the published wheels with `--features sota` so `pip install wifi-densepose[aether]` would work. But it did so by abandoning a DELIBERATE, guarded design: `default = []`, the RuView#1387-default-wheel-budget-config fix-marker, and the wheel-size-budget job exist specifically to keep the base wheel small and make SOTA opt-in (ADR-117 §5.4). Building SOTA into every published wheel makes the base fat, turns the `[aether]`/`[mat]`/`[meridian]` extras into inert no-ops, and — worse — leaves the PUBLISHED wheel un-budget-checked (the budget job only builds the no-features wheel), so the ONNX Runtime dependency the fix-marker anticipates for `mat` would later balloon the shipped wheel past 5 MiB silently. A pip extra cannot enable a cargo feature on a prebuilt wheel, so "small base + opt-in SOTA in binary wheels" is only achievable by splitting into separate packages — tracked as #1412. Until that lands, P6 is source-build-only, and the honest thing is to say so. This commit: - Restores pip-release.yml to its original state (no --features in the release build; original smoke test). Net packaging change across the branch is now ZERO — the small-base design is fully intact. - Points the aether/mat/meridian import shims at the real interim path: a source build with `--features <x>` (or `--features sota`), and #1412 for the binary wheels follow-up. The earlier revision wrongly claimed "the official wheels include it", which is only true once #1412 ships. KEPT from3ed43e9a(correct regardless of packaging): the AETHER parity tests are now arch-portable — they compare a golden VECTOR within tolerance instead of a SHA-256 of raw f32 bytes, which only ever matched the one architecture that generated it and failed on the aarch64/macOS-arm wheels this project builds. Verified on aarch64/macOS with a `--features sota` build (as python-ci does): test_aether 13, test_mat 7, test_meridian 13 pass; full suite unaffected. Co-Authored-By: Ruflo & AQE
62 lines
2.3 KiB
Python
62 lines
2.3 KiB
Python
"""MAT — Mass Casualty Assessment Tool (ADR-024 crate, ADR-185 P3).
|
|
|
|
WiFi-based disaster-survivor detection and START-protocol triage from CSI:
|
|
ingest CSI frames, run a scan cycle, and query detected survivors by triage.
|
|
|
|
Not in the binary wheels yet (see ruvnet/RuView#1412 — the P6 SOTA
|
|
bindings are shipped source-build-only for now to keep the base wheel
|
|
small). Build from source with ``maturin ... --features mat`` (or
|
|
``--features sota`` for all three P6 subsystems).
|
|
|
|
Quick start::
|
|
|
|
from wifi_densepose.mat import DisasterConfig, DisasterResponse, DisasterType, ScanZone
|
|
|
|
cfg = DisasterConfig(DisasterType.Earthquake, sensitivity=0.9, confidence_threshold=0.1)
|
|
resp = DisasterResponse(cfg)
|
|
resp.initialize_event(0.0, 0.0, "Building A") # required before scanning
|
|
resp.add_zone(ScanZone.rectangle("North Wing", 0.0, 0.0, 50.0, 30.0))
|
|
for amp, phase in csi_stream:
|
|
resp.push_csi_data(amp, phase)
|
|
resp.scan_once() # one detection cycle
|
|
for s in resp.survivors():
|
|
print(s.id, s.triage_status, s.confidence, s.location)
|
|
|
|
Honest scope (ADR-185 §3.4): the ADR's Rust-side `scan_once()` wrapper was
|
|
unnecessary — this binding drives one cycle of the public async
|
|
`start_scanning()` (with `continuous_monitoring` forced off) on an internal
|
|
runtime. `initialize_event` + `add_zone` are required before `scan_once`.
|
|
`Survivor.latest_vitals` returns the latest reading (the Rust accessor is a
|
|
history). The detection pipeline is real but unvalidated on live rubble.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from wifi_densepose import _native
|
|
|
|
# MAT symbols are compiled into `_native` only under the Rust `mat` feature.
|
|
if not hasattr(_native, "DisasterResponse"):
|
|
raise ImportError(
|
|
"wifi_densepose.mat is not in the binary wheels yet "
|
|
"(see ruvnet/RuView#1412). Build from source with "
|
|
"`maturin ... --features mat` (or `--features sota`)."
|
|
)
|
|
|
|
DisasterType = _native.DisasterType
|
|
TriageStatus = _native.TriageStatus
|
|
DisasterConfig = _native.DisasterConfig
|
|
DisasterResponse = _native.DisasterResponse
|
|
ScanZone = _native.ScanZone
|
|
Survivor = _native.Survivor
|
|
VitalSignsReading = _native.VitalSignsReading
|
|
|
|
__all__ = [
|
|
"DisasterType",
|
|
"TriageStatus",
|
|
"DisasterConfig",
|
|
"DisasterResponse",
|
|
"ScanZone",
|
|
"Survivor",
|
|
"VitalSignsReading",
|
|
]
|