Question
The thesis hypothesis layout-topology-fingerprint-discriminability claims that the topology of a floor's room-adjacency graph (diameter, branching, betweenness), not floor area alone, drives how discriminable CSI/RSSI fingerprints are between locations — and therefore the number of sniffers/anchors a building needs. That claim has never been tested even in silico. The IP-040 NRG supplies the operational definition of "topology" per floor and the ResPlan corpus supplies the statistical leverage to separate topology from the area confounder — exactly what single-room studies cannot do. This campaign runs the hypothesis's own settling experiment.
Framing discipline. This is the in-silico, hypothesis-generating test the hypothesis
note calls for — a stratified ResPlan propagation run correlating NRG metrics with fingerprint
divergence and sniffer count, holding area + receiver count fixed. It can upgrade the hypothesis
toward supported or refute it (the defeater is a real outcome here, criterion 3). It does
not settle the multipath-richness confound (wall material / furniture density, which topology
only correlates with) and is not a hardware claim. The honest deliverable is the topology↔
discriminability relation with the area control and the confound stated.
Why now — the two open findings this unifies
Today's sealed sessions (2026-06-24) both point at floorplan structure as the missing variable:
- c-ble-csi-coregistration (
01KVX0WCD5…): the co-registered BLE anchor resolves occupancy presence (empty vs occupied, d = 2.3–3.7) but saturates — no graded headcount — in the multiroom layout. The synthesis names the fix as "anchor placement near occupant zones / per-link calibration" — a topology question. The mechanism is the multi-body channel saturation modelled by Rampa et al. (2022) (rampa2022 ↗). - c-csi-layout-drift (
01KVWPK1SC…): occupancy error grows only when furniture moves in the Tx–Rx path — drift is a property of rearrangement in the sensing geometry, not in general.
Both say the same thing: where the links sit relative to the room graph governs the signal.
This campaign measures that directly, on the same ResPlan floors and channel simulator
(c-csi-cross-geometry-resplan already proved exp-csi-static runs across the corpus, 72 runs).
What we already know
- c-csi-cross-geometry-resplan (
01KT98WKH2…): the CV→count mapping does not transfer across ResPlan geometries (×3.8 / ×7.7 leave-one-floor-out MAE inflation) — geometry matters, but that campaign did not decompose which geometric property (area vs topology) drives it. - Vault grounding for the hypothesis:
jung2025_3f2e(central high-betweenness zones contaminate neighbours' fingerprints; peripheral degree-1 room 99.3 % vs 76–80 %),zhang2025_a250(fingerprint vanishing under dense multipath),zhen2022_bb0b(layout reshapes BLE coverage, adaptive placement +26.4 %),depatla2018_97a9(room shape dominates count bias over area),afghantoloee2021_8628(optimal sensor count is topology-dependent). Counter:adeel2019_ada0(enough APs may flatten the effect) — built into criterion 4 (does sniffer count buy out topology?). - New acquisitions (2026-06-24) sharpen the count-beyond-presence and placement axes: chu2021 ↗, choi2021 ↗, rampa2022 ↗.
- The corpus: 6 ResPlan floors carry a placed
csi-link-*CSI experiment (12419, 147440, 7421, 16157, 12439-multiroom, 1374) spanning small 4-room to large 11-room apartments — a topology spread at overlapping floor areas, which is the contrast the stratification needs.
What the supervisor does
- Fan out
exp-csi-staticover the 6 ResPlancsi-link-*experiments × seeds {0, 1} (12 runs), single body (n_agents: 1) swept overn_placements: 80random positions per run, both bands,ble.enabled. Each run carries the co-registered CSI and BLE fingerprint for every body position from one solved CFR — no second pass. Systematic on CI (sim-campaign.yml), laptop only for a one-floor smoke (CPU-only RT, per the local-vs-remote rule). - Record the Rx-link count per floor and flag if it differs across floors — the reduction subsamples to the common minimum so receiver count is held fixed (a control, per criterion 1).
- Run the reduction (
csi_topology_discriminability.py, runnerpython): per-frame location×link standardized-amplitude fingerprints → mean pairwise separation D (CSI + the co-registered BLE channel); the per-floor NRG metrics (diameter / mean betweenness / mean degree, computed by the supervisor fromgis_connectivityand injected via the reduction config — the notebook is monad-free per IP-087); the diameter-stratified defeater test; and the minimum-sniffer-count k*. Emittopology_discriminability.parquet+ the figure. - Synthesise the topology↔discriminability relation, the area-controlled defeater verdict, and the topology-vs-area sniffer-count predictor comparison — as a hypothesis-generating result with the multipath confound and the real-layout transfer check stated open.
Analysis-writer responsibilities
- Confirm each run's scalar floor +
links.parquet+ble_links.parquetviasim_read_run; confirm the per-room binning has adequate samples (flag rooms with < ~5 placement events). - Report: the diameter-stratified JS-divergence contrast (effect size + p), whether topology or
area better predicts the minimum sniffer count, and the CSI-vs-BLE discriminability split.
Cite per-run artefacts by
sim://URI. - State plainly: in-silico on a self-authored propagation prior, uniform-material unless tagged
(the wall-material confound is c-csi-fidelity-material's axis), N = 6 floors / 2 seeds — a
hypothesis-generating result, not a deployment guarantee. Update the hypothesis
strengthonly on the defeater outcome, and note the multipath-richness confound explicitly.
Figure render request
csi_topology_discriminability — (a) mean pairwise location-fingerprint separation D vs the
best NRG topology predictor across floors (area as point size, to show area is not the driver);
(b) minimum sniffer fraction k*/n_links vs topology metric overlaid with vs floor area;
(c) the CSI vs co-registered-BLE separation per floor.
Out of scope
- The multipath-richness confound (wall material, furniture density) — topology only correlates with it; isolating it is a material-tagged follow-on building on c-csi-fidelity-material.
- Real-layout transfer — the hypothesis needs a small real-floor check to confirm the synthetic relation transfers; that is the field bar, not this run.
- Graded-count recovery — whether topology-informed anchor placement fixes the
c-ble-csi-coregistration saturation is the natural sibling campaign (
c-ble-anchor-placement, see below); here we measure discriminability, not the recovered count. - Multi-floor / vertical topology — single-floor room graphs only.
Expected interpretation
- Topology stratum effect present + topology beats area on sniffer count (criteria 3 & 4) →
"Room-adjacency topology, not area, drives CSI/BLE fingerprint discriminability and sniffers-per-
building." Upgrade layout-topology-fingerprint-discriminability
plausible → supported(in-silico, confound noted); feeds the System Design (sniffer-placement) and BLE-campaign (hardware-per-building) chains. - Null stratum effect (p > 0.05, d < 0.2) → the defeater fires: area + AP count alone predict coverage. Record the refutation; demote the hypothesis. A cheap, valuable negative that simplifies the deployment story.
- Effect present but sniffer count buys it out (
adeel2019_ada0regime) → topology matters at low Rx count but flattens once enough sniffers are placed; report the cross-over Rx count — itself a design input. - Criterion 1 fails (missing artefact / NaN / sparse room bins) → plumbing/placement finding;
raise
n_placementsor switch to a per-cell placement mode before interpretation.
Operator notes
- Reuses the exact
exp-csi-staticpath validated by c-csi-cross-geometry-resplan — only the body count (1, for per-location fingerprints) and the reduction are new. The reduction's NRG read usesgis_connectivity; if a floor's NRG is stale,gis_rebuild_nrgfirst. - Single body × 80 placements × 2 bands per run; modest CPU per run but 12 runs of CPU-only RT —
budget
cpu_hours: 8.0, route systematic to CI. - BLE is free here (
ble.enabled, same CFR), so the campaign doubles as a CSI-vs-BLE discriminability comparison at no extra runs — directly relevant to the anchor-placement thread.