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

01KT94JPFF0YDN0BJN7649PGVZ

finished 2026-06-04 10:59:01.231792+00:00 → 2026-06-04 11:20:43.921993+00:00 · 10 runs · supervisor: react-agent

“All four criteria resolved on 9 grid cells: movement surfaces on every run, kinematics in band (clamped at the CFSM desired speed, 1.16–1.20 m/s), the seat-reuse lifecycle closes cleanly at intensity ≤ 1.0, and time-to-seat rises monotonically with load (Spearman ρ = 0.95) as seat-contention queueing against 14 reachable seats — not an FD slowdown, which this corpus cannot show.”

Archive snapshot, as of 10 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
Every run returns the three movement surfaces in `domain_metrics.figures` — `trajectory.html` (animated group-coloured replay), `footfall_heatmap.png`, `speed_vs_time.png` — plus a non-empty `trajectory.parquet`. The crowd is *visible*, not just summarised. yes
Kinematic plausibility on every run: `n_outside_walkable == 0` (no agent ever clips through a wall) and `mean_walk_speed_m_s` within 0.8–1.6 m/s (free walking speed 1.30 ± 0.21 m/s; Weidmann's law caps at 1.34 m/s), `peak_walk_speed_m_s ≤ 2.5`. yes
The full lifecycle closes at intensity ≤ 1.0: `morning-wave.departed == spawned` (enter → seat → dwell → stand up → walk out), `late-wave.seated == spawned` (the late wave can only seat if the morning wave's freed seats are re-claimed — seat reuse works), `through-traffic.departed == spawned`, and `turned_away == 0` everywhere. yes
Congestion responds to load: pooled `mean_time_to_seat_s` increases monotonically with `scenario.intensity` across the grid (Spearman ρ ≥ +0.6 over the 9 cells) — the FD-consistent slowdown under total density. yes

Synthesis

What we tested. All nine cells of a 3-intensity × 3-seed grid (intensity ∈ {0.5, 1.0, 2.0}) were executed on resplan-12439-floor-0 using the walk-notebook simulator (three heterogeneous groups: morning-wave seat-seekers with after_dwell: return, a late-wave reusing those freed seats, and through-traffic). Phase-A gate run 01KT952AVT0H103B5TBB2MGBZ3 addressed criteria 1–2 before the grid; all eight Phase-B cells covered criteria 3–4 across the intensity range. A superseded gate take (01KT94Y4EHTBD7YBS8WW42K054, peak_walk_speed_m_s = 9.19, park-snap artefact) was excluded from all quantitative claims.

What we found. Criterion 1 — movement surfaces: all 9 runs report trajectory.html, footfall_heatmap.png, and speed_vs_time.png in domain_metrics.figures, with non-empty trajectory.parquet (180–443 kB); the crowd is visible in every cell. Criterion 2 — kinematic plausibility: n_outside_walkable == 0 on every run; mean_walk_speed_m_s ranges 1.16–1.20 m/s (within the 0.8–1.6 m/s band); peak_walk_speed_m_s ≤ 1.20 on all runs. Criterion 3 — lifecycle at intensity ≤ 1.0: across all six cells (01KT958HG44PJ72BGSC3A2Q43B, ...6RGC, ...EF, 01KT952AVT0H103B5TBB2MGBZ3, 01KT9599WAWNCYDRTY7SFZW4AM, 01KT959JTA614C7HYK78WH1KF5), morning-wave departed == spawned, late-wave seated == spawned, through-traffic departed == spawned, and turned_away == 0 on all groups. At intensity 2.0 the late-wave incurs turned_away == 2 per seed, consistent with 36 seat-seekers exceeding 14 reachable seats — the expected capacity-gating behaviour, not a criterion failure. Criterion 4 — congestion monotonicity: pooled mean_time_to_seat_s is 3.13–4.54 s at intensity 0.5, 5.74–6.77 s at 1.0, and 9.21–10.05 s at 2.0; Spearman ρ = 0.95 across all 9 cells, well above the ρ ≥ 0.60 threshold.

What it means for the thesis chain. All four success criteria are resolved. The walk-notebook simulator now supports heterogeneous, time-structured crowd scenarios on a real multi-room floor with a working seat-reuse ledger (occupancy_rate reaching 2.43 at intensity 2.0 by design), agent speed clamped at the CFSM desired velocity (peak_walk_speed_m_s a hard 1.20 m/s on every run, mean_walk_speed_m_s barely varying 1.16–1.20 m/s) so the Weidmann band is met by construction rather than emergent — no speed–density curve exists in this corpus — and full visual replays on every cell. This validates the scenario layer — groups, waves, dwell, return — above the integrator physics already verified in EXP-S1. The capacity-gated regime at intensity 2.0 (turned_away, super-linear time-to-seat) is a seat-contention queueing signature: time-to-seat rises because 14 reachable seats are contended by progressively more seat-seekers, while walking speed stays flat across intensities — this is queueing for fixed seats, not a fundamental-diagram slowdown (an FD slowdown would require speed to fall with density, which this corpus does not show). What the corpus validates for downstream use is the scenario layer (groups, waves, dwell/return, seat-reuse ledger) and the figure/provenance artefact contract that a coupled CSI campaign such as c-csi-crowd-temporal would consume — not the coupled physics itself, which no run here tests. Every capacity and seat-reuse claim above (criteria 3 and 4) was tested against n_goals = 14, not the intended 16: two of the 16 placed seats fall outside the clearance-buffered walkable polygon and are unreachable. The 14-seat capacity is therefore a stated bound on these results — the intensity-2.0 turned_away == 2 and the time-to-seat queueing are measured against 14 reachable seats, and the intended 16-seat layout was never exercised in this corpus.

Criticism adversarial review

Written by the campaign-critic subagent against the brief's success criteria — read it as the counter-position to the synthesis above.

Claim audit

  • C1 — movement surfaces: supported. All sampled cells (01KT952AVT..., 01KT958HG4..., 01KT958V20..., 01KT9592HS..., 01KT959JTA..., 01KT95A6W8...) report trajectory.html + footfall_heatmap.png + speed_vs_time.png in domain_metrics.figures, with non-empty trajectory.parquet (180–426 kB).
  • C2 — kinematic plausibility: supported, but trivially. n_outside_walkable == 0 everywhere; mean_walk_speed_m_s 1.164–1.200 (in band); peak_walk_speed_m_s is exactly 1.200 on every run and at i0.5 even the mean is exactly 1.2000. Speed is clamped at the desired velocity, not emergent — the band is satisfied by construction.
  • C3 — lifecycle at intensity ≤ 1.0: supported. i0.5 and i1.0 cells: morning-wave departed==spawned, late-wave seated==spawned, through-traffic departed==spawned, turned_away==0 on all groups. Seat reuse confirmed.
  • C4 — congestion monotonicity: supported on the numbers (3.24/4.54 → 5.74 → 9.21 s; ρ=0.95). But the mechanism is queueing for 14 fixed seats, not a speed–density slowdown.

Weak claims

  • "Kinematics anchored within Weidmann's free-walking band" overstates: peak is a hard constant 1.20 across all 9 runs and mean barely moves (1.164–1.200). No measurable speed reduction under load — the simulator does not reproduce the Weidmann speed–density curve; it pins agents at v_des.
  • Linking C4 to "the FD-consistent slowdown predicted by Hughes's multi-type flow theory" is unsupported. Time-to-seat rises because 36+ seat-seekers contend for 14 seats (a capacity/queueing effect) while walking speed stays flat. Drop the FD/Hughes framing or relabel as seat-contention queueing.
  • "Confirms the simulator's readiness as an upstream for coupled CSI campaigns" is a forward-looking assertion no run in this corpus tests.
  • The n_goals=14 furniture note is downplayed — every capacity/seat-reuse claim was tested against 14 seats, not the intended 16, so it bounds C3/C4 rather than being incidental.

Honest scope

The corpus validates the scenario layer (groups, waves, dwell/return, seat-reuse ledger) and the visual + provenance plumbing on a single floor (resplan-12439-floor-0), at N=9 cells over 3 intensities × 3 seeds, with sub-7-second runs. It says nothing about: (a) emergent kinematics — speed is clamped, so no speed–density / FD behaviour is demonstrated; (b) other geometries — one floor only; (c) over-capacity / crush behaviour beyond seat refusal at i2.0; (d) the intended 16-seat layout — 2 of 16 placed seats sit outside the clearance buffer, so the ledger was never tested against 16 seats.

(All four findings were applied to the synthesis by the campaign-patcher: 4/4 applied, 0 skipped, 0 escalated — see patch-log.json in the session scratch dir.)

Attached runs

Run Gate Purpose Replay
WW42K054 phase-a-gate-run replay
BB2MGBZ3 phase-a-gate-run replay
C3A2Q43B phase-b-grid replay
Q8ZB6RGC phase-b-grid replay
1BADGQEF phase-b-grid replay
7SFZW4AM phase-b-grid replay
78WH1KF5 phase-b-grid replay
730HG21M phase-b-grid replay
7FXPEG75 phase-b-grid replay
AWVMPJVW phase-b-grid replay