Overview
Strategy Status is the diagnostic surface for the whole Race Strategy Tool. Reach for it whenever one of the other five strategy widgets looks blank or stale and you need to know why: it reports the exact playhead lap’s solve outcome, any degradations or missing drivers, and a whole-race strip of every evaluated lap’s gate.Unlike the six data widgets, Strategy Status never uses the as-of-lap rule. It reads the exact playhead lap, so a degraded or skipped lap is reported honestly instead of silently showing a neighbouring lap’s data.
What It Shows

The gate strip runs the whole race: green for
solved, amber for degraded, muted grey for skipped, red for suspended, and a faint neutral for anything unrecognised. Click a cell to scrub the transport to that lap’s earliest known position; a cell with no known position is not clickable (shown at reduced opacity) rather than jumping to an invented time.
When the six data widgets are showing a stale snapshot, a banner at the top of the panel says so: “data widgets showing lap N (as of)”.
Data Behind It
Strategy Status reads thestrategy_status insight at the exact playhead lap, plus the strategy_snapshot payload at that same exact lap for the fields that only a snapshot carries (engine_version, contract_version, mapping_version, solver_config, suppressed, retired). Both metrics stream over WebSocket channels vpw:v1:{session_key}:insight:strategy_status and vpw:v1:{session_key}:insight:strategy_snapshot, model_id strategy_status / strategy_snapshot, model_version the composite engine_version+WRAPPER_VERSION. The webapp hydrates both via a REST snapshot on session enter and rehydrate, then the same channels live.
Snapshots exist only for solved laps (the publisher is complete-or-nothing); a degraded, skipped, or suspended lap has a status row and no snapshot, which is why the version/solver-config/suppressed/retired fields on this panel are absent for those laps rather than borrowed from a neighbouring one.
Since the template stage, a status payload also carries input_mode (template or fitted), the loaded race_data_version, and package_dir, the solve archive folder for that lap. Rows written before that stage carry none of them, and their absence reads as unknown rather than as a default. The lap-0 pre-race row is an ordinary status row of this kind; see Pre-Race and What-If Studies.
The gate vocabulary comes from the engine’s own status mapping: a solved solve reports solved; a gate skip verdict reports skipped; a suspend verdict (for example, a red flag) reports suspended; a rejected or errored lap outcome reports degraded. An abandoned single-flight solve is not published on its own; it is folded into the single_flight_abandoned list of the next lap that does finalise.
States
No status row at the playhead
No status row at the playhead
Renders the generic “No strategy data at lap N.” state, distinct from a reported gate, so a genuine data hole is never mistaken for a solve outcome.
Race-only
Race-only
Outside a race, this widget renders “Session is not a race” instead of the panel; the app never computes a strategy bundle for a non-race session.
Live vs replay
Live vs replay
Wire-identical: both sources publish the same
insight:strategy_status / insight:strategy_snapshot envelope shapes, and the panel never branches on source.Degraded or suspended lap
Degraded or suspended lap
Reasons, degradations, and missing drivers render exactly as reported; there is no snapshot-only detail (versions, solver config, suppressed, retired) for these laps.
Mixed model_version
Mixed model_version
A partial re-precompute that leaves rows at more than one
model_version blanks both strategy_status and strategy_snapshot together, so this panel and all six data widgets fall back to the no-data state at once.FAQ
Why is a gate strip cell not clickable?
Why is a gate strip cell not clickable?
A cell only scrubs to a position when at least one driver’s lap-start time is known for that lap. No known position means the widget does not invent one.
Why are the solver config, suppressed, and retired lines missing?
Why are the solver config, suppressed, and retired lines missing?
Those fields live only on a
strategy_snapshot, which exists only for solved laps. A degraded, skipped, or suspended playhead lap has a status row but no snapshot, so those lines are omitted rather than shown from a different lap.Next Steps
Race Strategy Tool
The shared engine, derivation layer, and sentinel rule behind all six strategy widgets.
Strategy Table
Ranked stop-lap strategies per driver.
Predicted Pit Window and SC
Each driver’s next predicted stop, plus safety-car guidance.
Insights and Versioning
How model IDs, versions, and degradation rules work across Watchparty.
