What we tested
15 exp-csi-static runs with ble.enabled on the through-wall rig (resplan-12439-floor-0 / csi-link-resplan-12439-multiroom, 24 placements, 2.4 GHz, depth 3): main grid N {0,2,4,6,8,12} × seeds {0,1} at noise_db 2.0 (sweep 01KT9E5RQH…) + the degradation arm N {0,6,12} at noise_db 4.0 (sweep 01KT9EB48Y…). Each run emits the CSI artefacts AND ble_links.parquet (120 advertising events = 24 placements × 5 links) derived from the same solved CFR — co-registered by construction. Reduction: pooled per-run mean RSSI, per-seed Spearman ρ(N, mean RSSI), and the resolvable-ΔN sensitivity table (stats: ble_coreg_stats.csv in the session scratch dir).
What we found
Criterion 1 — met. 15/15 runs gate-passed with both channels present and ble_enabled: true in the scalar floor; the reduction consumed all ble_links.parquet without NaN/Inf. (Provenance note: 14 of 15 runs attached to the session manifest; one attach raced the batch — its run is in S3 and cited in the stats CSV.)
Criterion 2 — met, modestly. Mean RSSI falls with occupancy: Spearman ρ(N, mean RSSI) = −0.83 (seed 0) and −0.66 (seed 1) at noise 2.0 — both clear the ≤ −0.6 gate, in exactly the static regime where the temporal CSI feature is collapsed (seated CV ≤ 3.7e-6, c-csi-crowd-temporal/01KT99FX2Z…). The trend is not strictly monotone per seed (N=12 sits above N=8 on seed 0: −64.3 vs −66.2 dBm) — at a slope of only −0.115 dB/person, single-cell reversals from placement geometry are expected.
Criterion 3 — met (the sensitivity table, with two honest bounds). The static-mode "events" span different placement draws, so the per-event σ conflates placement diversity with the injected measurement noise; the resolvable occupancy step therefore has two readings: (a) fixed seated crowd (noise-only, σ = 2.0/√120 → SE 0.18 dB): resolvable ΔN ≈ 3; (b) placement-averaged (per-run SE 0.55 dB): resolvable ΔN ≈ 10, degrading to ≈ 16 at noise 4.0. The truth for a deployment lies between, depending on how stationary the crowd is between advertising windows.
What it means for the thesis chain
In-silico motivation, not proof, exactly as framed: a co-registered BLE anchor does carry coarse occupancy information where CSI-only temporal counting starves — but at ~0.1 dB/person on this link layout it resolves only coarse steps (empty/half/full at best under placement variance). Two design consequences before any hardware investment: (1) anchor placement matters more than noise — the −0.115 dB/person slope is a link-geometry property; anchors near occupant zones (seat clusters) should steepen it, a cheap follow-on sweep on the furnished floor; (2) event averaging buys the noise-only bound (ΔN ≈ 3) only if the crowd is quasi-static across the averaging window — which the seated regime conveniently is. The self-authored Gaussian noise model remains the circularity boundary: no estimator-accuracy claims; the real defeater is multi-week hardware capture on ≥2 sites. ble-periodic-calibration stays plausible; this session adds the first quantified in-silico anchor-channel sensitivity to its evidence base.