wifi-densepose/archive/v1
ruv a594d45ed6 fix(proof): exclude argmax-unstable doppler from determinism comparison
CI divergence profile was decisive: 6089/36800 elements (≈95% of doppler
values) diverged with O(1) magnitude (ref 0.15 vs CI 1.0), and ALL of it
was the doppler feature — the other 5 features reproduced within tolerance.

Root cause: csi_processor._extract_doppler_features peak-normalizes the
spectrum (`spectrum / max(spectrum)`). When the raw spectrum has near-tied
peaks, the argmax flips under cross-microarchitecture pocketfft/BLAS FP
reordering (Azure CI runner vs dev boxes), renormalizing the whole array —
an O(1) divergence no tolerance can absorb. This is a real *production*
reproducibility bug (models consuming doppler_shift get different values on
different CPUs); it's flagged for a separate, impact-analyzed source fix.

Scoped proof fix: exclude doppler_shift from both the SHA-256 and the
tolerance vector. The remaining five features — amplitude mean/variance,
phase difference, correlation matrix, and the FFT-based PSD (30,400
elements) — reproduce deterministically and provide the proof. Regenerated
hash + reference. Local: VERDICT PASS.
2026-05-31 12:18:18 -04:00
..
data fix(proof): exclude argmax-unstable doppler from determinism comparison 2026-05-31 12:18:18 -04:00
docs chore(repo): move v1/ → archive/v1/ + add archive/README.md (#430) 2026-04-25 23:07:52 -04:00
scripts chore(repo): move v1/ → archive/v1/ + add archive/README.md (#430) 2026-04-25 23:07:52 -04:00
src fix(verify): make v1 proof tolerant of unrelated .env keys + regen hash 2026-05-26 08:28:31 -04:00
tests ADR-110: ESP32-C6 firmware extension (#764) 2026-05-23 15:34:48 -04:00
README.md chore(repo): move v1/ → archive/v1/ + add archive/README.md (#430) 2026-04-25 23:07:52 -04:00
__init__.py chore(repo): move v1/ → archive/v1/ + add archive/README.md (#430) 2026-04-25 23:07:52 -04:00
requirements-lock.txt fix(proof): pin lock to numpy 2.4.2 to match the published proof hash 2026-05-31 11:33:42 -04:00
setup.py chore(repo): move v1/ → archive/v1/ + add archive/README.md (#430) 2026-04-25 23:07:52 -04:00
test_application.py chore(repo): move v1/ → archive/v1/ + add archive/README.md (#430) 2026-04-25 23:07:52 -04:00
test_auth_rate_limit.py chore(repo): move v1/ → archive/v1/ + add archive/README.md (#430) 2026-04-25 23:07:52 -04:00

README.md

WiFi-DensePose v1 (Python Implementation)

This directory contains the original Python implementation of WiFi-DensePose.

Structure

v1/
├── src/                    # Python source code
│   ├── api/               # REST API endpoints
│   ├── config/            # Configuration management
│   ├── core/              # Core processing logic
│   ├── database/          # Database models and migrations
│   ├── hardware/          # Hardware interfaces
│   ├── middleware/        # API middleware
│   ├── models/            # Neural network models
│   ├── services/          # Business logic services
│   └── tasks/             # Background tasks
├── tests/                  # Test suite
├── docs/                   # Documentation
├── scripts/               # Utility scripts
├── data/                  # Data files
├── setup.py               # Package setup
├── test_application.py    # Application tests
└── test_auth_rate_limit.py # Auth/rate limit tests

Requirements

  • Python 3.10+
  • PyTorch 2.0+
  • FastAPI
  • PostgreSQL/SQLite

Installation

cd v1
pip install -e .

Usage

# Start API server
python -m src.main

# Run tests
pytest tests/

Note

This is the legacy Python implementation. For the new Rust implementation with improved performance, see /v2/.