Today
The exceptions that cost money if they wait, pulled from all nineteen reports and ranked by consequence. Work top to bottom; everything else stays in its queue.
RANK
Ranked by consequence, not age: Will fail (hard blockers) → Account health
(marketplace penalty clocks) → Breaching (3×+ past SLA) → Going stale
(untouched 3+ days). The scoring lives in one function and is also written into the database
(
ops_records.severity), so anything reading the DB agrees with this page about what is urgent.
Operations control · —
Every exception, one console.
Nineteen reports across three lanes. Each one has an owner, a status and an urgency ranking, so the floor clears exceptions instead of reading spreadsheets. Stock availability is the exception: it's the shared lookup everyone reads.
Stock risk by warehouse
Five regions, each a 3PL plus an FBA branch. Days of cover, not units.| Warehouse | SKUs | Out of stock | Under 50d cover | Backorder units | Next inbound | Risk |
|---|
Report lanes
Tagged so the Fulfil migration story stays visible
FULFIL
Migration, target September 2026. Tiles tagged Fulfil should come from the new system
natively, so don't rebuild them. Mismatch report retires at go-live. Everything tagged Soon is
net-new and should be scoped around the migration, not before it. One tile is tagged
Off-register: it exists in the source workbooks but isn't on the Ops Dashboard register yet.
Report
Feed health
Every report is refreshed by a scheduled API pull into its Google Sheet. This is the run log: what ran, when, and whether it worked. If a report looks wrong, check here before you act on it.
NOTE
In the real build these run logs drive the freshness chip on every report and the stale-feed banner on this
page automatically, rather than being set by hand. Pull schedules and recipient lists already exist in the
notification registry.