From f0a5f8014342ad41b5564f1aa3eb538a97333121 Mon Sep 17 00:00:00 2001 From: arsen Date: Sun, 17 May 2026 15:27:47 +0700 Subject: [PATCH] =?UTF-8?q?docs:=20rename=20our=20ADR-099=20(tplink-wisp)?= =?UTF-8?q?=20=E2=86=92=20ADR-110=20to=20free=20ADR-099=20for=20upstream?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Upstream merged ADR-099-midstream-introspection-tap during this session (PR #554, commits 900b877c..ce330422 on origin/main). Our existing ADR-099-tplink-wisp-deployment-and-rssi-presence has a different topic but the same number. Rather than fight the numbering, slot ours up to ADR-110 (next free) and let upstream own ADR-099. git mv ADR-099-tplink-wisp-...md → ADR-110-tplink-wisp-...md bulk sed `ADR-099` → `ADR-110` across all our docs from this session (ADR-100..108, refs/, CHECKLIST.md, self-reference) No code changes; no semantic change beyond the number. Resolves the collision before rebase against origin/main. --- .../ADR-100-gain-lock-baseline-stabilization.md | 16 ++++++++-------- docs/adr/ADR-101-raw-amplitude-classifier.md | 6 +++--- ...-tplink-wisp-deployment-and-rssi-presence.md} | 4 ++-- 3 files changed, 13 insertions(+), 13 deletions(-) rename docs/adr/{ADR-099-tplink-wisp-deployment-and-rssi-presence.md => ADR-110-tplink-wisp-deployment-and-rssi-presence.md} (98%) diff --git a/docs/adr/ADR-100-gain-lock-baseline-stabilization.md b/docs/adr/ADR-100-gain-lock-baseline-stabilization.md index f4d3fdc2..c38861c4 100644 --- a/docs/adr/ADR-100-gain-lock-baseline-stabilization.md +++ b/docs/adr/ADR-100-gain-lock-baseline-stabilization.md @@ -7,7 +7,7 @@ ## Context -After ADR-099 deployed the TP-Link WISP AP and the operator captured three +After ADR-110 deployed the TP-Link WISP AP and the operator captured three controlled one-minute windows (empty / sit / walk), the RSSI MAD-Δ classifier failed to separate the three states — measured `d` values overlapped within ±0.03 of 0.49 while in-state spread was ±0.10. We @@ -59,9 +59,9 @@ that it short-circuits. Tagged as ADR-100 in the source comment for traceability. -### D2 — Use the existing `raw.html` console (ADR-099, D2 reuse) as the verification UI +### D2 — Use the existing `raw.html` console (ADR-110, D2 reuse) as the verification UI -The console added in ADR-099 already streams `nodes[].amplitude` from +The console added in ADR-110 already streams `nodes[].amplitude` from the existing WebSocket. No server-side change was needed. The HTML displays a per-node bar histogram of all 56 active subcarriers plus broadband mean amplitude and RSSI traces over the last 30 s. This is @@ -75,7 +75,7 @@ A controlled three-state capture made on 2026-05-17 with both sensors positioned so that the line `TP-Link AP → sensor` passes through the operator (lying on the bed) confirmed both decisions. The summary table appears under *Verified Acceptance* below. Earlier captures -(ADR-099) failed to separate states partly because the sensors were +(ADR-110) failed to separate states partly because the sensors were placed off-axis from the AP-to-body line; with that geometry the body never physically obstructs the CSI channel. @@ -114,7 +114,7 @@ Observations: ladder 2.71 → 3.70 → 12.50 % is a second independent feature. * **Node 2 separates STILL+EMPTY from WALK** by CV (5 → 30 %). Its geometry doesn't pick up a still body, only motion. -* **Compare to ADR-099** where empty/sit/walk differed by ±0.02 inside +* **Compare to ADR-110** where empty/sit/walk differed by ±0.02 inside ±0.10 noise — we now have inter-state separation ratios of **×3.4 on node 1 and ×5.9 on node 2**. The signal is no longer dominated by baseline drift. @@ -123,7 +123,7 @@ Observations: ``` firmware/esp32-csi-node/main/csi_collector.c # gain-lock module + hook -v2/crates/wifi-densepose-sensing-server/static/raw.html # already from ADR-099 +v2/crates/wifi-densepose-sensing-server/static/raw.html # already from ADR-110 docs/adr/ADR-100-gain-lock-baseline-stabilization.md # this ADR ``` @@ -145,8 +145,8 @@ docs/adr/ADR-100-gain-lock-baseline-stabilization.md # this ADR * ADR-039 — Edge intelligence pipeline (host DSP path). * ADR-098 — Earlier ESP32-S3 deployment fixes. -* ADR-099 — TP-Link WISP deployment + first RSSI-Δ attempt (this ADR - supersedes the threshold table in ADR-099, D3 — the RSSI MAD-Δ +* ADR-110 — TP-Link WISP deployment + first RSSI-Δ attempt (this ADR + supersedes the threshold table in ADR-110, D3 — the RSSI MAD-Δ detector is left in place but no longer the primary signal). * Francesco Pace, *How I Turned My Wi-Fi Into a Motion Sensor — Part 2*, Dec 2025 — source of the gain-lock recipe. diff --git a/docs/adr/ADR-101-raw-amplitude-classifier.md b/docs/adr/ADR-101-raw-amplitude-classifier.md index 44d27261..a08911e4 100644 --- a/docs/adr/ADR-101-raw-amplitude-classifier.md +++ b/docs/adr/ADR-101-raw-amplitude-classifier.md @@ -11,7 +11,7 @@ After ADR-100 the AGC drift is gone and the broadband baseline is clean. Before this ADR the live `classification.motion_level` was being driven by the legacy DSP (variance + motion_band_power thresholds) plus an -RSSI MAD-Δ override from ADR-099. Both failed on the operator's +RSSI MAD-Δ override from ADR-110. Both failed on the operator's deployment: variance overlaps empty/sit/walk within noise, and RSSI MAD-Δ overlaps within ±0.03 of 0.49 across all three states. The operator could lie still in the path between AP and sensor and the @@ -123,7 +123,7 @@ v2/crates/wifi-densepose-sensing-server/static/raw.html # per-node badges Cross-state separation ratio = 3.4× on node 1 broadband mean, 5.9× on node 2 CV, compared to ±0.02 inside ±0.10 noise with the old -RSSI MAD-Δ classifier from ADR-099. +RSSI MAD-Δ classifier from ADR-110. ## Open Items @@ -138,7 +138,7 @@ RSSI MAD-Δ classifier from ADR-099. ## References -* ADR-099 — first RSSI MAD-Δ attempt (superseded for `motion_level` / +* ADR-110 — first RSSI MAD-Δ attempt (superseded for `motion_level` / `presence` / `confidence`; helper kept as `#[allow(dead_code)]`). * ADR-100 — gain lock that makes this classifier possible. * ADR-102 — NBVI subcarrier selection that drives the CV computation. diff --git a/docs/adr/ADR-099-tplink-wisp-deployment-and-rssi-presence.md b/docs/adr/ADR-110-tplink-wisp-deployment-and-rssi-presence.md similarity index 98% rename from docs/adr/ADR-099-tplink-wisp-deployment-and-rssi-presence.md rename to docs/adr/ADR-110-tplink-wisp-deployment-and-rssi-presence.md index 73e280af..02bdac5f 100644 --- a/docs/adr/ADR-099-tplink-wisp-deployment-and-rssi-presence.md +++ b/docs/adr/ADR-110-tplink-wisp-deployment-and-rssi-presence.md @@ -1,4 +1,4 @@ -# ADR-099 — TP-Link WISP Deployment + RSSI-Δ Presence Detector +# ADR-110 — TP-Link WISP Deployment + RSSI-Δ Presence Detector **Status**: Accepted **Date**: 2026-05-15 @@ -123,7 +123,7 @@ operator capture those next two states. v2/crates/wifi-densepose-sensing-server/src/main.rs # RSSI MAD-Δ + override v2/crates/wifi-densepose-sensing-server/static/spectrum.html # live console v2/crates/wifi-densepose-sensing-server/static/calibrate.html # peak-tracker view -docs/adr/ADR-099-tplink-wisp-deployment-and-rssi-presence.md # this ADR +docs/adr/ADR-110-tplink-wisp-deployment-and-rssi-presence.md # this ADR ``` ## Verified Acceptance