ℹ️ Sessions opened before IP-085 were discarded (per IP-085 Q5 resolution). The protocol applies from session #1 onward; do not look up prior sessions for this campaign in S3 — they're gone.
Question
This is the first academic campaign on the IP-081 platform under the IP-085 I/O protocol. The earlier smoke-test and stub-only sessions of this brief were dropped wholesale — sim_params: was not declared on the brief, the analyser emitted the pre-IP-085 schema, and the analysis-writer had to LLM-parse prose parameter tables. Session #1 of this campaign runs under the new protocol. We are asking a physics question rather than a plumbing question:
Does the EXP-S1 simulation stack — JuPedSim 1.2.x Collision-Free Speed Model on Geometry A, post-processed by PedPy 1.4 — reproduce the empirical (ρ, v) fundamental diagram reported by Adrian et al. (2024) and Liddle et al. (2022) for a single-room scenario, across the four density regimes Adrian-2024 distinguishes?
The answer is a gate: if the simulation stack does not reproduce the published band on a trivial single-room geometry with default model parameters, every downstream EXP-S1 phase (continuity-residual penalty, λ-sweep, CSI-proxy coupling) inherits an unvalidated foundation. This campaign establishes the foundation.
What we already know
- The simulator catalogue is curated. Both
jupedsim-runnerandpedpy-analysercarry full vault notes under_knowledge/simulators/. The notes list parameter defaults (Tordeux 2015 §3.2, §3.4), the model taxonomy (CFSM / AVM / SFM / GCFM / WarpDriver / CFSM-V2/V3), the PedPy density-method options (classic / Voronoi / line / passing), and the empirical sanity bands keyed to Microscopic insights into pedestrian motion through a bottleneck, resolving spatial and temporal variations ↗ and Adrian-2024 (arXiv:2409.11857). The supervisor MUST read these as Step 2 — the curated notes are the substitute for live upstream-doc retrieval (the supervisor has noWebFetch). - Geometry A is the seminar-room polygon specified in EXP-S1 §Setup: 8 m × 12 m walkable area, six logical cells, two doors. The current
jupedsim-runnerentrypoint hard-codes a single waypoint at the room centre — that is sufficient for a single-room density study, but bottleneck-flow campaigns must wait for the multi-waypoint extension. - Phase A platform gate is already met for individual runs (cf. EXP-S1 §Phase A): end-to-end < 5 min CPU wall-clock, ≥ 6 OTel child spans, run card written. We rely on it; this campaign does not re-test it.
- The
pedpy-analyserentrypoint now emits Voronoi density and speed natively (IP-085 Layer 4 reference implementation). The image runs PedPy 1.4'scompute_individual_voronoi_polygons/compute_voronoi_density/compute_voronoi_speedand writesvoronoi_summary.parquet(per-time-bin) plus an IP-085-conformantpedpy-analyser.metrics.jsonwith the floor (summary,figures,schema_ref) and the four scalar fields the FD success criteria need (mean_voronoi_density_ped_m2,mean_speed_m_s,median_speed_m_s,mean_residual). The analysis-writer reads those artefacts viasim_read_runrather than computing them itself. - No prior sessions exist (the pre-IP-085 ones were discarded per IP-085 Q5). Treat this as session 1 of
c-exps1-fundamental-diagram. The earlierfd-gate-v2trajectories that lived in S3 are not available for replay; do not attempt to attach them.
What I want the supervisor to do
A two-batch plan within the 2.5 CPU-h envelope. Step 3 should aim ~60 % of the budget at batch 1 so a focused batch 2 is affordable.
Batch 1 — density sweep at fixed model defaults
Six sub-experiments, one per density target. CFSM V1 defaults (time_gap=1.0 s, desired_speed=1.2 m/s, radius=0.20 m), three seeds each (so 18 runs total). Campaign-wide constants (geometry, scenario, seconds=180.0, dt=0.05, window_s=1.0, transient_frac=0.17, seeds=[0,1,2]) live in the brief's sim_params: frontmatter block and are merged automatically — Step 3 only needs to vary n_agents over the six groups.
| Run group | n_agents |
Expected regime | Expected (ρ, v) anchor |
|---|---|---|---|
| G1 | 2 | Free flow | ρ ≈ 0.02 ped/m², v ≈ 1.20 m/s |
| G2 | 4 | Free flow | ρ ≈ 0.04 ped/m², v ≈ 1.15 m/s |
| G3 | 8 | Light congestion | ρ ≈ 0.08 ped/m², v ≈ 1.05 m/s |
| G4 | 16 | Light congestion | ρ ≈ 0.17 ped/m², v ≈ 0.95 m/s |
| G5 | 32 | Dense flow | ρ ≈ 0.33 ped/m², v ≈ 0.70 m/s |
| G6 | 48 | Dense flow → jam | ρ ≈ 0.50 ped/m², v ≈ 0.45 m/s |
(The geometry's effective walkable area is ≈ 96 m². To populate the jam regime (ρ ≥ 4 ped/m²) we would need ~400 agents and a more constrained measurement area — see Out of scope.)
Rationale you should cite back in the plan: "Bracketed density targets following Adrian-2024 §4 regime boundaries; CFSM defaults per Tordeux-2015 §3.2 cited in _knowledge/simulators/jupedsim-runner §Parameter reference."
Batch 2 — targeted refinement (only after batch 1 returns)
Pick one of these based on what batch 1 shows:
- If most groups sit inside the published band — a single sensitivity probe: G4 (
n_agents=16) withtime_gap ∈ {0.5, 1.0, 1.5}to verify the model is not living on an unstable point of its parameter manifold. 9 runs. - If one regime is systematically off-band — six runs at the off-regime density with
desired_speed ∈ {1.0, 1.2, 1.4}to test whether mean-speed calibration recovers the band. - If two or more regimes are off-band — stop. Write a partial synthesis declaring that the current CFSM-defaults configuration on Geometry A does not reproduce the published band, name the most-likely cause (waypoint placement, dt, or
range_neighbor_repulsion), and recommend a follow-on campaign rather than burning batch-2 budget chasing.
Analysis-writer responsibilities
The synthesis must (i) read each run's IP-085 pedpy-analyser.metrics.json directly via sim_read_run — the analyser already emits Voronoi density + Voronoi speed scalars and the per-bin voronoi_summary.parquet, no downstream recomputation needed, (ii) plot the resulting (ρ, v) cloud with the Liddle / Adrian bands overlaid (the analyser already emits figures/voronoi_density_vs_time.png and figures/speed_density_fd.png; consume those when present), (iii) report per-seed Spearman correlation between n_agents and Voronoi speed, (iv) cite Microscopic insights into pedestrian motion through a bottleneck, resolving spatial and temporal variations ↗ and Adrian-2024 explicitly in the verdict sentence. The figure renderer should produce slug fundamental_diagram_geomA overlaying the published bands on the per-run scatter.
Out of scope
- High-density jam regime (ρ ≥ 4 ped/m²). Reaching it on Geometry A requires either ~400 agents (unrealistic for the 2.5 CPU-h budget) or a constricted measurement area (which biases the FD). Defer to a follow-on campaign that uses a bottleneck geometry once the multi-waypoint extension lands.
- Continuity-residual penalty / λ-sweep. That's EXP-S1 Phase B; needs a model zoo (LGBM, PINN, CNN+LSTM) and the architecture-vs-mechanism separability question. This campaign is the FD-gate that precedes Phase B.
- Model-comparison sweep (AVM / SFM / GCFM). Each model needs an entrypoint extension to expose a
model:key inParamsSchema. Not blocked, but out of band for this campaign. - Hardware data. This is simulation-only. No BLE, no CSI, no EXP-P1 telemetry, no GIS dependency.
- Sionna RT / QuaDRiGa. Phase C of EXP-S1; CSI fidelity is not relevant to a pedestrian-dynamics FD.
Expected interpretation
Three scenarios the synthesis should distinguish in its closing sentence:
- All three success criteria met → "CFSM-default on Geometry A reproduces the Adrian-Liddle band across the four regimes spanned by
n_agents ∈ [2, 48]; the EXP-S1 stack is gate-cleared for Phase B." Thesis-chain implication: supports Ch5 baseline validation. - Criteria 1 + 3 met, criterion 2 borderline (50–75 % of pairs in-band) → "Stack passes the qualitative regime test but quantitatively diverges from the published band; the most-likely cause is
<waypoint placement / dt / repulsion range>and a follow-on calibration session is recommended." Thesis-chain implication: Phase B is conditional on calibration. - Criterion 1 met, criteria 2 + 3 fail → "Stack fails the FD gate at default parameters; the simulation is mechanically reaching the target densities but the (ρ, v) relation is wrong. EXP-S1 Phase B is blocked until calibration." Thesis-chain implication: the L4½ chain has a load-bearing gap.
Write whichever you actually find. Do not bias the verdict toward scenario 1 because the brief is asking the question.
Operator notes — running this campaign in practice
- The budget envelope (2.5 CPU-h, 200 k LLM tokens, 2 GB S3) is calibrated for ~27 runs at ~3 min wall-clock each plus the supervisor + analysis-writer fan-out.
- The
sim_params:frontmatter block declares the campaign-wide constants. The supervisor consumes them at Step 3 — see_agents/campaign-supervisor.md§"Reading the campaign'ssim_params:block (IP-085)". - Bridge path if
sim_run_launchis unavailable on a given session: execute the batch-1 sweep manually viamonad-knowledge sim sweep exp-s1 --grid <grid.yaml>(the grid derived from the prosen_agentstable plus thesim_params:constants) and attach each resulting run_id to the open session withmonad-knowledge sim campaign attach-run <session_id> <run_id>. Then re-enter/campaignto drive Step 6 (synthesise) against the attached corpus.
Notes (for future sessions)
This campaign is the first slot in a longer FD-validation arc. Anticipated follow-ons:
c-exps1-fundamental-diagram-bottleneck— once multi-waypoint journeys ship, repeat with door-S as the measurement line; report N–t and flow gradient against Microscopic insights into pedestrian motion through a bottleneck, resolving spatial and temporal variations ↗ Fig. 3.c-exps1-fundamental-diagram-avm— once the entrypoint exposes amodel:key, repeat withAnticipationVelocityModelto test whether AVM widens or tightens the in-band fraction; expected to widen on lane-formation dynamics, neutral on a single-waypoint room.c-exps1-fundamental-diagram-corridor— once Geometry B (corridor with side rooms) lands, repeat the sweep on a geometry where the Adrian-Liddle band is more discriminating.
Each is a separate campaign brief; do not bundle.