Optimization:
- Cache mean phase per frame in ring buffer for O(1) Doppler access
- Sliding window (last 64 frames) instead of full history traversal
- Doppler FFT: 253.9us -> 44.9us per frame (5.7x faster)
- Full pipeline: 719.2us -> 254.2us per frame (2.8x faster)
Trust kill switch:
- ./verify: one-command proof replay with SHA-256 hash verification
- Enhanced verify.py with source provenance, feature inspection, --audit
- Makefile with verify/verify-verbose/verify-audit targets
- New hash: 0b82bd45e836e5a99db0494cda7795832dda0bb0a88dac65a2bab0e949950ee0
Benchmark fix:
- NN inference_bench.rs uses MockBackend instead of calling forward()
which now correctly errors when no weights are loaded
https://claude.ai/code/session_01Ki7pvEZtJDvqJkmyn6B714
Add viz.html as the main entry point that loads Three.js from CDN and
orchestrates all visualization components (scene, body model, signal
viz, environment, HUD). Add data-processor.js that transforms API
WebSocket messages into geometry updates and provides demo mode with
pre-recorded pose cycling when the server is unavailable.
https://claude.ai/code/session_01Ki7pvEZtJDvqJkmyn6B714
Add prominent hardware requirements table at top of README documenting
the three paths to real CSI data (ESP32, research NIC, commodity WiFi).
Include remaining Three.js visualization components for dashboard.
https://claude.ai/code/session_01Ki7pvEZtJDvqJkmyn6B714
Add comprehensive test suite (36 tests) for the ADR-013 commodity sensing
module covering all components: RingBuffer, SimulatedCollector determinism,
feature extraction (time-domain stats, FFT spectral analysis, band power
isolation), CUSUM change-point detection, presence/motion classification,
and end-to-end CommodityBackend pipeline.
Fix feature_extractor.py: add missing _trim_to_window method that caused
AttributeError on the WifiSample extraction path, add post-trim sample
count guard, and handle constant-signal edge case in skewness/kurtosis
computation to prevent scipy RuntimeWarning.
https://claude.ai/code/session_01Ki7pvEZtJDvqJkmyn6B714
The configure_csi_collection method was still referencing the old
mock_data_generator dict directly instead of delegating to the
MockCSIGenerator instance from the testing module. This completes the
ADR-011 mock isolation by ensuring all mock CSI configuration flows
through v1/src/testing/mock_csi_generator.py.
https://claude.ai/code/session_01Ki7pvEZtJDvqJkmyn6B714
- .github/workflows/verify-pipeline.yml: CI that verifies pipeline
determinism and checks for np.random in production code
- ui/components/body-model.js: Three.js 3D human body model with
24 DensePose body parts mapped to 3D geometry
- v1/requirements-lock.txt: Minimal pinned dependencies for verification
- v1/src/api/dependencies.py: Fix mock auth returns with proper errors
- v1/src/core/router_interface.py: Additional mock mode cleanup
- v1/src/services/pose_service.py: Further mock elimination in service
https://claude.ai/code/session_01Ki7pvEZtJDvqJkmyn6B714
Commodity Sensing Module (ADR-013):
- sensing/rssi_collector.py: Real Linux WiFi RSSI collection from
/proc/net/wireless and iw commands, with SimulatedCollector for testing
- sensing/feature_extractor.py: FFT-based spectral analysis, CUSUM
change-point detection, breathing/motion band power extraction
- sensing/classifier.py: Rule-based presence/motion classification
with confidence scoring and multi-receiver agreement
- sensing/backend.py: Common SensingBackend protocol with honest
capability reporting (PRESENCE + MOTION only for commodity)
Proof of Reality Bundle (ADR-011):
- data/proof/generate_reference_signal.py: Deterministic synthetic CSI
with known breathing (0.3 Hz) and walking (1.2 Hz) signals
- data/proof/sample_csi_data.json: Generated reference signal
- data/proof/verify.py: One-command pipeline verification with SHA-256
- data/proof/expected_features.sha256: Expected output hash
Three.js Visualization:
- ui/components/scene.js: 3D scene setup with OrbitControls
Mock Isolation:
- testing/mock_pose_generator.py: Mock pose generation moved out of
production pose_service.py
- services/pose_service.py: Cleaned mock paths
https://claude.ai/code/session_01Ki7pvEZtJDvqJkmyn6B714
- core/router_interface.py: Replace placeholder _collect_real_csi_data()
with explicit RuntimeError directing users to hardware setup docs
- hardware/router_interface.py: Replace np.random.rand() in
_parse_csi_response() with RouterConnectionError requiring real parser
- testing/: New isolated module for mock data generation (moved out of
production code paths per ADR-011)
- sensing/: Initialize commodity sensing module (ADR-013)
No production code path returns random data. Mock mode requires explicit
opt-in via WIFI_DENSEPOSE_MOCK=true environment variable.
https://claude.ai/code/session_01Ki7pvEZtJDvqJkmyn6B714
- csi_processor.py: Replace np.random.rand(10) Doppler placeholder with
real temporal phase-difference FFT extraction from CSI history buffer.
Returns zeros (not random) when insufficient history frames available.
- csi_extractor.py: Replace np.random.rand() fallbacks in ESP32 and
Atheros parsers with proper data parsing (ESP32) and explicit error
raising (Atheros). Add CSIExtractionError for clear failure reporting
instead of silent random data substitution.
These are the two most critical mock eliminations identified in ADR-011.
https://claude.ai/code/session_01Ki7pvEZtJDvqJkmyn6B714
- Add detailed wifi-Mat user guide covering:
- Installation and setup
- Detection capabilities (breathing, heartbeat, movement)
- Localization system (triangulation, depth estimation)
- START protocol triage classification
- Alert system with priority escalation
- Field deployment guide
- Hardware setup requirements
- API reference and troubleshooting
- Update main README.md with wifi-Mat section and links
- Fix compilation issues:
- Add missing deadline field in AlertPayload
- Fix type ambiguity in powi calls
- Resolve borrow checker issues in scan_cycle
- Export CsiDataBuffer from detection module
- Add missing imports in test modules
- All 83 tests now passing
- Created comprehensive API reference documentation covering authentication, request/response formats, error handling, and various API endpoints for pose estimation, system management, health checks, and WebSocket interactions.
- Developed a detailed deployment guide outlining prerequisites, Docker and Kubernetes deployment steps, cloud deployment options for AWS, GCP, and Azure, and configuration for production environments.
- Added HardwareService for managing router interfaces, data collection, and monitoring.
- Introduced PoseService for processing CSI data and estimating poses using neural networks.
- Created StreamService for real-time data streaming via WebSocket connections.
- Implemented initialization, start, stop, and status retrieval methods for each service.
- Added data processing, error handling, and statistics tracking across services.
- Integrated mock data generation for development and testing purposes.
- Added CSIExtractor class for extracting CSI data from WiFi routers.
- Implemented RouterInterface class for SSH communication with routers.
- Developed DensePoseHead class for body part segmentation and UV coordinate regression.
- Created unit tests for CSIExtractor and RouterInterface to ensure functionality and error handling.
- Integrated paramiko for SSH connections and command execution.
- Established configuration validation for both extractor and router interface.
- Added context manager support for resource management in both classes.
- Implemented the WiFi DensePose model in PyTorch, including CSI phase processing, modality translation, and DensePose prediction heads.
- Added a comprehensive training utility for the model, including loss functions and training steps.
- Created a CSV file to document hardware specifications, architecture details, training parameters, performance metrics, and advantages of the model.