Asking the fleet what it is doing…
monad-knowledge Wi-Fi sensing lab · FIIT STU
Campaign session

01KWHXSZKAC8M8T5D9TKX112D8

finished 2026-07-02 17:25:13.450272+00:00 → 2026-07-03 17:06:14.177429+00:00 · 63 runs · supervisor: claude-code

“Session 2 extends the single-seed session-1 sweep to a 4-arm x 7-state x 3-seed corpus (84 runs) with co-registered BLE. T*(eps=0.5) on the drifting arm varies [0.25, 1.5, 0.25] m across placement seeds — the fixed-cadence prior is seed-fragile, motivating the event-driven trigger tested in c-ble-drift-trigger. Drift remains strictly geometry-dependent: only displacement INTO deep LOS blockage moves error; a 27 dB feature shift out of the path leaves error flat.”

Archive snapshot, as of 23 h ago — the run corpus is rebuilt once a day, so this page is not a live reading. The fleet panel is the live one; it refreshes every 30 s.

Success criteria

CriterionResolved
Stage >=4 progressively-displaced furnished floor states and run exp-csi-static on each (scalar floor + links.parquet, no NaN/Inf). yes
Notebook emits drift_curve.parquet carrying both analytic estimators + relative schema. yes
Occupancy error grows monotonically with delta_layout; curve yields a T*(epsilon) cadence. yes
Synthesis records the curve as a campaign-design input that does NOT answer RQ4. yes

Synthesis

c-csi-layout-drift — session 2 (multi-seed, BLE co-registered)

Verdict

The session-1 drift sweep is replicated at 3 placement seeds across four displacement arms (84 exp-csi-static runs, all gate-passed, ble.enabled so every state carries a co-registered ble_links.parquet). The headline is uncomfortable for the fixed-cadence prior this campaign exists to produce: T(ε) is seed-fragile and direction-fragile*. On the into-blockage arm T*(ε=0.5) = [0.25, 1.5, 0.25] m across seeds; on three other arms (control corners, random in-path directions, perpendicular exit) the error never crosses ε at all despite feature shifts up to 27 dB.

What we ran

Same corridor protocol as session 1 (test-lab-synth-floor-0, csi-synth-corridor-link, 6 agents, 16 placements, placement seed shared across states so furniture is the only change). Four arms × 7 states (0.25 m steps, Δ ≤ 1.5 m) × 3 seeds:

  • corner — session-1 off-path furniture, random directions (seed 22): error flat at the calibration residual (0.22–0.38 by seed), byte-stable across states. Replicates session 1 exactly.
  • los — session-1 metal boxes on the Tx–Rx line, random directions (seed 11): feature drifts, error stays ≤ 0.44. Session 1's strong in-path drift is not generic — it needs displacement into the deep-blockage regime.
  • losperp — deterministic perpendicular exit off the LOS line: per-link mean amplitude swings ~27 dB (−93 → −66 dB) yet occupancy error is flat. Large environment change, zero model degradation — the false-alarm trap arm for any drift detector.
  • losin — deterministic slide along the LOS toward the Tx (into deep blockage, session 1's regime): error grows 0.29 → 0.93 (seed 0), 0.37 → 0.82 (seed 2); seed 1's placements are robust (→ 0.43). Mostly monotone with an end plateau.

Interpretation

  1. Session 1's conclusion sharpens: drift is not "rearrangement in the sensing geometry" but rearrangement that pushes the feature into the estimator's extrapolation region. The analytic estimator's slope is shallow (−0.005..−0.03 persons/dB), so only extreme excursions (deep blockage, −180 dB class) hurt it.
  2. A single-seed T*(ε) is not a safe design input: at ε=0.5 the recommendation spans the entire sweep range depending on where the 6 occupants happen to stand. The multi-seed spread — not the point estimate — is the honest deliverable for the IP-106 capture design, and it argues for event-driven recalibration over any fixed cadence (tested next in c-ble-drift-trigger).
  3. Both estimators ship in drift_curve.parquet; the Rician-K variant again degenerates under deep blockage (−inf masked) and the curve is read on mean_amp_db.

Honest scope

In-silico, design input only (IP-101 Q3=A). The displacement schedules are self-authored (deterministic arms deliberately bracket best/worst case rather than sample "typical" rearrangement); the BLE noise model is the σ=2 dB Gaussian stand-in. recalibration-trigger-from-drift is NOT upgraded by this session — it produces the corpus the trigger campaign consumes. RQ4 still needs the real multi-day capture.

Artefacts

  • fig_layout_drift_multiseed.png — 4-arm × 3-seed drift curves (ε line marked)
  • drift_curves_all.parquet — long-form curves, both estimators
  • layout_tstars.json — per-arm/per-seed T*(ε=0.5)
  • 84 runs attached; per-run artefacts under sim:// (links.parquet + ble_links.parquet each)

Attached runs

Run Gate Purpose Replay
T5Y9BV90
7Y75YBBX
7T622T8D
5BF9PV45
77RJGGW8
2W7P1VZM
56F1CPPH
SCMVE12M
A20ZQJ6B
M04EFFCR
ZM1W16D3
QSEQMFMH
MGDQXX1X
M82YPVTE
1RQZ0FD5
CZ50WNDA
KNX4WY8E
FS4F1F9Y
ZC0N6ZT5
MRTRTXSN
TF0C3J6P
MMX63AKW
D3TAG12K
81DHW62V
EWHHP6NA
AYVXRKGJ
9G5FSXQ6
V5NT0WHD
RQP66ATE
RFDQ2C1Z
449VWYP2
TMD88ET8
FDQ0PWY7
2MXTV2MB
0A673V0M
04VYNM7H
G8XR3FNA
7MDPB7F7
WJ4WZV1C
6KJHC2MY
M9T70ACF
ZRD4M4YW
0RHZ82SE
Y97HRR3Q
W4XMH9W4
T064RTCN
JPQ40PQ6
EGQ73KMV
1E4Y448S
YSPVAWQR
CGMDFBW5
9XC2HEVG
1XSB8EQP
Q5TCQGA0
3C47GYHV
H4W1BD32
GVPK6N1G
2YJYWGEX
115D19GZ
J56P5XGC
871ACJR8
4FMZXTCP
VHVPBPG1