docs: rename our ADR-099 (tplink-wisp) → ADR-110 to free ADR-099 for upstream

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.
This commit is contained in:
arsen 2026-05-17 15:27:47 +07:00
parent 197457a78d
commit f0a5f80143
3 changed files with 13 additions and 13 deletions

View File

@ -7,7 +7,7 @@
## Context ## 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-Δ controlled one-minute windows (empty / sit / walk), the RSSI MAD-Δ
classifier failed to separate the three states — measured `d` values 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 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. 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 the existing WebSocket. No server-side change was needed. The HTML
displays a per-node bar histogram of all 56 active subcarriers plus 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 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 positioned so that the line `TP-Link AP → sensor` passes through the
operator (lying on the bed) confirmed both decisions. The summary operator (lying on the bed) confirmed both decisions. The summary
table appears under *Verified Acceptance* below. Earlier captures 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 placed off-axis from the AP-to-body line; with that geometry the body
never physically obstructs the CSI channel. never physically obstructs the CSI channel.
@ -114,7 +114,7 @@ Observations:
ladder 2.71 → 3.70 → 12.50 % is a second independent feature. ladder 2.71 → 3.70 → 12.50 % is a second independent feature.
* **Node 2 separates STILL+EMPTY from WALK** by CV (5 → 30 %). Its * **Node 2 separates STILL+EMPTY from WALK** by CV (5 → 30 %). Its
geometry doesn't pick up a still body, only motion. 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 ±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 node 1 and ×5.9 on node 2**. The signal is no longer dominated by
baseline drift. baseline drift.
@ -123,7 +123,7 @@ Observations:
``` ```
firmware/esp32-csi-node/main/csi_collector.c # gain-lock module + hook 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 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-039 — Edge intelligence pipeline (host DSP path).
* ADR-098 — Earlier ESP32-S3 deployment fixes. * ADR-098 — Earlier ESP32-S3 deployment fixes.
* ADR-099 — TP-Link WISP deployment + first RSSI-Δ attempt (this ADR * ADR-110 — TP-Link WISP deployment + first RSSI-Δ attempt (this ADR
supersedes the threshold table in ADR-099, D3 — the RSSI MAD-Δ supersedes the threshold table in ADR-110, D3 — the RSSI MAD-Δ
detector is left in place but no longer the primary signal). 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*, * Francesco Pace, *How I Turned My Wi-Fi Into a Motion Sensor — Part 2*,
Dec 2025 — source of the gain-lock recipe. Dec 2025 — source of the gain-lock recipe.

View File

@ -11,7 +11,7 @@
After ADR-100 the AGC drift is gone and the broadband baseline is clean. 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 Before this ADR the live `classification.motion_level` was being driven
by the legacy DSP (variance + motion_band_power thresholds) plus an 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 deployment: variance overlaps empty/sit/walk within noise, and RSSI
MAD-Δ overlaps within ±0.03 of 0.49 across all three states. The 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 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× 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 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 ## Open Items
@ -138,7 +138,7 @@ RSSI MAD-Δ classifier from ADR-099.
## References ## 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)]`). `presence` / `confidence`; helper kept as `#[allow(dead_code)]`).
* ADR-100 — gain lock that makes this classifier possible. * ADR-100 — gain lock that makes this classifier possible.
* ADR-102 — NBVI subcarrier selection that drives the CV computation. * ADR-102 — NBVI subcarrier selection that drives the CV computation.

View File

@ -1,4 +1,4 @@
# ADR-099 — TP-Link WISP Deployment + RSSI-Δ Presence Detector # ADR-110 — TP-Link WISP Deployment + RSSI-Δ Presence Detector
**Status**: Accepted **Status**: Accepted
**Date**: 2026-05-15 **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/src/main.rs # RSSI MAD-Δ + override
v2/crates/wifi-densepose-sensing-server/static/spectrum.html # live console v2/crates/wifi-densepose-sensing-server/static/spectrum.html # live console
v2/crates/wifi-densepose-sensing-server/static/calibrate.html # peak-tracker view 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 ## Verified Acceptance