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

01KXE2P8YXF93EY0Q898HDFER9

finished 2026-07-13 15:49:18.941875+00:00 → 2026-07-13 15:50:02.026066+00:00 · 0 runs · supervisor: claude-code

“POWERED GO: across 57 real floors counting-optimal != coverage-optimal (divergence 0.718, CI[0.680,0.754], CI excludes 0.15), submodular+greedy-bound 57/57. Ray-traced I(C;Phi) discriminates anchors where occupancy varies (28.5 dB/person). Surrogate+dense-grid (C4/C5) is the remaining follow-on.”

Archive snapshot, as of 18 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
C1 crowds corpus-wide: RESOLVED — 57/57 floors clean, 5 personas + replay + QC, zero failures yes
C2 coverage-vs-counting Pareto: RESOLVED (POWERED) — divergence 0.718 CI[0.680,0.754] n=57, differ 57/57, submodular 57/57, greedy>=1-1/e 57/57 yes
C3 ray-traced I(C;Phi): RESOLVED (honest scope) — measured_csi_mi on 3 verify floors at existing anchors; discriminates on high-count floor (spread 0.25 nats), flat on low-count floors; 28.5 dB/person mechanism confirmed yes
C4 surrogate+verify: NOT DONE — measured at existing anchors not a dense grid; RSQ-surrogate pass deferred (avoids ~50 device registrations/floor) no
C5 3-variant deliverables + 5-panel: PARTIAL — 57 placement figures rendered; full placement_result needs C4 dense-grid I(C;Phi) no
C6 framing: HELD — ranks placements, hypothesis-generator until real-hardware anchor; no detection-rate claim yes

Synthesis

c-placement-oracle — Full local run (Session 01KXE2P8YXF93EY0Q898HDFER9)

Executed end-to-end on one M1 Max: 57-floor persona-crowd corpus + 57-floor coverage↔counting reduction + 3 ray-traced verify floors. No CI, no remote.

Executive summary

The central claim is now powered, not a pilot: across 57 real floorplans, the crowd-count-optimal AP placement is a materially different placement from the coverage-optimal one — on every single floor. Mean placement divergence (1 − corner Jaccard) is 0.718, 95% CI [0.680, 0.754] (unit = floor, n = 57); the CI lower bound clears the pre-registered min_effect_size of 0.15 by ~4.5×. Coverage is exactly submodular on 57/57 (greedy attains 0.93–1.00 of the brute-force optimum, beating 1−1/e everywhere), and the two objectives diverge on 57/57. Three floors reach complete disjointness (divergence 1.0); none falls below 0.40.

A ray-traced Stage 3 on three verify floors confirms the mechanism the counting objective rides on (28.5 dB attenuation per person on resplan-12439) and shows that measured I(C;Φ) discriminates anchor informativeness where the crowd count varies (resplan-12439, count 1→17: anchor MI 0.43–0.68 nats, spread 0.25) and goes flat where it does not (resplan-1374 count ≤8, test-lab-synth count ≤4: MI < 0.24, overlapping CIs) — an honest dynamic-range limit, reported not hidden.

Method (plain language)

Five personas (worker / patron / visitor / through-traffic / meeter) walk each floor door-to-door on its real wall layout (walk-notebook, IP-107 agendas), producing a footfall surface. For each floor a submodular optimiser (coverage_submodular) places k=4 APs two ways — maximise covered footfall (breadth) vs maximise a counting-signal depth objective — and measures how differently they place (1 − Jaccard of the two chosen sets). On three floors a physical ray-tracer (sionna-csi-runner, coupled to the persona crowd) then measures the mutual information between the live headcount and each real anchor's CSI amplitude.

Per-criterion results

  • C1 crowds corpus-wideRESOLVED. 57/57 floors ran clean (personas present, replayable trajectory.html, gate_passed); zero failures after per-floor retry isolation (one transient Docker blip recovered).
  • C2 cheap coverage↔counting ParetoRESOLVED (powered). divergence 0.718, CI [0.680, 0.754], n = 57; submodular 57/57; greedy ≥ 1−1/e 57/57; objectives differ 57/57. CI excludes the threshold. Robust median 0.667.
  • C3 ray-traced I(C;Φ) kernelRESOLVED (honest scope). counting_mode = measured_csi_mi achieved on 3 verify floors at their existing anchor positions (the diary's sparse sample). Discriminates on the high-count floor (spread 0.25 nats, CIs partly disjoint); flat on the low-count floors. Mechanism confirmed (28.5 dB/person).
  • C4 surrogate + verifyNOT DONE. Stage 3 measured I(C;Φ) at existing anchors, not over a dense candidate grid, so the RSQ-surrogate fit + full-grid verify was not exercised. Scoped down for tractability (avoids registering ~50 devices/floor); the follow-on for a genuine surrogate pass.
  • C5 three-variant deliverables + 5-panelPARTIAL. 57 per-floor placement figures rendered (coverage-opt vs counting-opt + Pareto); the operational/experimental/both placement_result needs the dense-grid measured I(C;Φ) from C4.
  • C6 framing disciplineHELD. Every headline states provenance: self-authored crowds, LOS coverage + geometric counting proxy (Stages 1–2), ray-traced clean-tensor CSI at sparse anchors (Stage 3). Ranks placements; hypothesis generator until a real AX210/Pi5 floor confirms the ranking. No detection-rate claim.

Real-life meaning

Deploying Wi-Fi to both run a building and count its crowds pulls the APs to different places on every floor tested — you cannot get the count for free from a coverage-optimal rollout, and on high-divergence floors the two layouts barely overlap. The ray-traced stage says the counting signal is real but only rankable where occupancy genuinely swings — which tells you both where and when the placement choice pays off.

Caveats

  • Coverage is first-order LOS; the Stage 1–2 counting axis is a geometric proxy. The ray-traced stage (C3) is the propagation-real check and it is sparse (existing anchors, 3 floors).
  • Ray-traced discrimination is occupancy-range-limited (clear at count→17, flat at count≤4–8).
  • Sim-authored throughout; real-hardware confirmation is the standing gate (IP-106 / IP-112).

Artefacts: s3://monad-knowledge/campaigns/c-placement-oracle/full-run-2026-07-13/ (stage2 reduction + 57 figures; stage3 informativeness + CSI-vs-occupancy figures).

Attached runs

The attached runs are not in the current atlas snapshot — rebuild via web --build-sim-atlas.