Reference run ac32c3eb44ff9873

A delay breaks the plan. Recovery changes only what it must.

A discrete-time planning lab that shows exactly how collision-free routes fail, which agents are affected, and whether the recovered plan is valid.

3 agents1 forced wait2 paths replanned0 conflicts after recovery
01 / LIVE RUN

Delay recovery

Baseline valid
Scenariodelay-recovery
Grid7 × 5
Horizon15 steps
PlannerPrioritised SIPP
ENU
Eastbound Northbound Unaffected
t = 06
StatusValid
Makespan6steps
Agents changed0 / 3baseline
Vertex / edge conflicts0 / 0independently checked
Replan latencylocal reference
02 / EVIDENCE

The animation is the hook. The validator is the proof.

The interface replays a committed run. Planning, simulation, and validation remain separate so a planner cannot certify its own output.

70

Automated tests

Domain, search, CBS, regression, simulation, recovery, and run-contract checks.

1,200

Seeded cases

1,000 low-level, 100 prioritised multi-agent, and 100 exact joint-oracle cases.

0

Post-recovery conflicts

Zero vertex conflicts and zero opposing edge swaps in the reference run.

POST/v1/runs · /v1/compare
baselinefailureaffected_agentsrecovery

One versioned FastAPI response contains the scenario, configuration, paths, validation reports, metrics, and sequence-numbered events.

03 / BENCHMARKS

Change the strategy. Watch the plan change.

Replay the exact paths written by the Python benchmark runner. Fixed priority is the responsive track; priority sweep and CBS expose what extra search can recover on deliberately small instances.

Responsive trackFixed priority

One deterministic order with the lowest search effort.

Bounded middle groundPriority sweep

Tests a declared number of orders and retains the best valid result.

Optimal small caseBounded CBS

Optimal for sum of costs when it solves within the explicit node limit.

1
2
t = 03
Measured outcomes · 21 runs per planner and scenario
ScenarioFixed priorityPriority sweepBounded CBS
Crossing conflictCost 5Cost 5Cost 5
Priority cost gapCost 9Cost 7Cost 7
Priority order trapNo planCost 11Cost 11
Storage detourCost 10Cost 8Cost 8

Costs are sums of final-arrival timesteps. CBS matched an independent joint-state oracle on 100 seeded two-agent cases. Every visible path and digest comes from the committed machine-readable benchmark record.

CONTROLLED SCALING

Search work, not marketing claims.

One fixed 9 × 9 crossing family adds agents from two to six. Bars show deterministic expanded-state counts across 11 repeated runs; runtime remains a local reference.

2 agents
Fixed priority18cost 17
Priority sweep36cost 17
Bounded CBS46cost 17
3 agents
Fixed priority27cost 26
Priority sweep190cost 25
Bounded CBS55cost 25
4 agents
Fixed priority36cost 34
Priority sweep1,058cost 34
Bounded CBS160cost 34
5 agents
Fixed priority45cost 43
Priority sweep6,531cost 42
Bounded CBS99cost 42
6 agents
Fixed priority66cost 53
Priority sweep8,165cost 51
Bounded CBS166cost 51

The priority sweep exhausts all orders through five agents and is capped at 120 of 720 orders for six agents. CBS remains capped at 20,000 high-level nodes. These results describe this committed family only.

04 / ARCHITECTURE

One responsibility per boundary.

The Python core has no dependency on FastAPI or the interface. The web client renders the run record; it does not recreate planner decisions.

01React client

Playback and inspection

02FastAPI

Versioned run contract

03Planning core

SIPP, sweep, and CBS

04Validator

Independent decision

Stated limitation

Fixed-priority SIPP is deterministic and responsive, but order-dependent and incomplete. Priority sweep grows factorially; CBS can grow exponentially. Every comparison is explicitly bounded. This is a discrete planning lab, not a safety-certified controller or operational rail system.