Sessions

No sessions yet — this campaign has a brief but no execution.

Brief

Question

Is a single homogeneous dielectric cylinder + one calibrated per-body loss an adequate scatterer for amplitude-bundle statistics, and what does it hide?

2026-06-03 - Body-as-scatterer EM fidelity for ray-traced CSI adopts the cylinder + calibrated loss (IP-094 Q5) but lists the fidelity questions that must be decided on evidence. This campaign sweeps the body model (rather than occupancy) to make those trade-offs visible before any GPU cost or phantom build is paid.

What we already know

  • Notebook 02 in the analytical sandbox shows mean-attenuation-vs-N is near-invariant along a loss×radius iso-contour, but the placement variance is not — so a dataset of mean curves under-determines the body model; you need the spread. This campaign tests that on the ray tracer.
  • Tissue permittivity falls with frequency and the Fresnel radius shrinks with wavelength, so blockage geometry + material both shift across 2.4 → 5 → 6 GHz.
  • Radius sets blockage probability (geometric) and is not absorbed by the loss scalar — it is the second tunable, only jointly identifiable from the distribution.

What I want the supervisor to do

  1. Fan out exp-csi-static over the body-parameter grid (4 loss × 3 radius × 3 band = 36 runs) at fixed mid occupancy (n_agents=6, n_placements=64 for a well-sampled attenuation distribution), local CPU first.
  2. Run the notebook-backed reduction (csi_body_em_sensitivity.py, runner python): build the loss×radius confounding map (grid-mean vs per-placement spread) and the per-band curves; emit csi-body-em-fidelity.metrics.json.
  3. Synthesise the closure question: does a single calibrated scalar absorb the swept variation, or does residual structure point at the minimal next primitive (elliptical cross-section, two-layer shell)?

Analysis-writer responsibilities

  1. Confirm the scalar floor + links.parquet per cell via sim_read_run.
  2. Report (a) loss×radius confounding (mean iso-contour + spread separation), (b) the per-band shift, (c) the closure verdict. Cite per-run artefacts by sim:// URI.

Figure render request

csi_body_loss_radius_confounding — a loss×radius heatmap of mean attenuation overlaid with the per-placement spread, plus a small-multiple of the per-band curves.

Out of scope

  • Sim-to-real calibration (exp-csi-calibration, IP-094 Phase 4) — this bounds the prior, it does not fit the loss against real data.
  • Occupancy crossover — that is c-csi-crowd-occlusion.
  • Building a layered/elliptical phantom — only justified if the residual here shows structured dependence the scalar cannot flatten (the decision rule in the diary note).

Expected interpretation

  1. All criteria met → "Loss and radius are jointly identifiable only from the attenuation distribution; per-band calibration is required; the scalar absorbs the rest. The cylinder + calibrated loss is vindicated for bundle statistics." Confirms IP-094 Q5.
  2. Closure fails (residual structure the scalar can't flatten) → names the regime (posture/band) and the minimal next primitive — a fidelity finding, not a bug.
  3. Criterion 1 fails → platform finding on the runner surface.

Operator notes

  • 36 runs at fixed n_agents=6 — minutes on the M1 CPU. Same bridge path as c-csi-crowd-occlusion; where=local builds the image from the Dockerfile.
  • Reuses the same scene (csi-synth-corridor-link) as the occupancy campaign — only the body + radio params vary, so the static scene is built once and cached per run.