Skip to content

Scenarios

A scenario is a self-contained, simulated day of operation: an area of the map, a fleet of resources on shift, a book of work, and a script of timed injections (new incidents, resource problems, surges) that fire as the clock runs. Scenarios run against the real optimiser — everything you see (allocation, re-planning, outsourcing) is live Spiral behaviour, just at accelerated time — which makes them the standard way to demonstrate Helix, train operators, and rehearse operational situations without touching production data.

(For the dispatch screen itself see the Introduction; the Metrics panel is scenario-aware and opens automatically when one starts.)

From the landing screen, choose the scenarios option and pick a card from the list — each shows its name and a short description of the story it plays out. Loading a scenario resets the current data, builds the scenario’s world, and starts the clock at the scenario’s speed factor (typically 10× real time).

While a scenario is running, the scenario HUD shows the simulated clock, the current speed, and a countdown to the next event; the speed can be changed mid-run, and a scenario can be cancelled at any time without reloading the application.

Custom scenarios — the self-config wizard

Section titled “Custom scenarios — the self-config wizard”

Alongside the pre-built cards, the custom scenario wizard builds a scenario to order. You choose:

  • the area the scenario plays out in, and the start time of the simulated day,
  • how many resources of each type are on shift,
  • the project mix — how much and what kind of work arrives,
  • optional archetypes — pre-configured situation templates layered on top,
  • the metric thresholds the Metrics panel should judge the run against (SLA and backlog RAG cut-offs).

The wizard generates locations that respect each stop type’s helix.locationType rules, so the built world matches how the domain authors real work.

Scenario scripts inject events at set simulated times — a new breakdown, a resource going unavailable, a surge of demand. Each injection is announced in the Event Log panel (top-right of the map; drag its header to reposition it), newest first, together with detected reactions — the optimiser’s visible responses, such as a re-allocation or an outsource decision. Expanding an entry shows its full description and commentary. Injections also appear as dashed markers on the Metrics time-series charts, so cause and effect line up.

A run file is a recorded input stream (.run.json) rather than a scripted scenario: loading one replays it through the optimiser exactly as it originally arrived, with the application read-only while it loads. Run files are the tool for reproducing a recorded situation — a support case, a regression, a demonstration of a specific day — and are listed from the landing screen’s run-file picker, organised by folder.