Pipeline health
GET /health, GET /ready, GET /whoami,
GET /capture/sessions, GET /schedule?shape=matrix,
GET /admin/config) plus one progress probe per launched
session. There is no one-shot GET /jobs, so figures may be
seconds apart and each panel can fail on its own — a panel that failed
says so; it is never drawn as a quiet pipeline.
Roll-up
What happened to my upload?
one box · filename (exact or the start of one), session id, or vehicle ·GET /capture/sessions?q=
Sessions in the pipeline
?stall_after_s=; the server reports the basis it used.
Overdue across corridors
every corridor × every stream · fromGET /schedule?shape=matrix
Deployment diagnostics
what this environment actually is ·GET /admin/config · admin-guarded
Cost
what it cost — and why this board will not tell youMeasured spend is not in this system
Nothing in RoadIntel records what
was billed. RunTask (capture.py:684-700) carries no
cost-allocation tag for corridor, session or stage, and no Cost Explorer
or CUR feed is wired in. There is therefore no figure here for spend
month-to-date, spend by corridor, or spend by stage — not a zero,
and not a dash standing in for one.
| Figure | State | Why |
|---|---|---|
| Spend, month to date | ⊘ not measured | no billing source is connected to this deployment |
| Spend by corridor | ⊘ not measured | processor tasks carry no cost-allocation tag, so spend cannot be attributed even if a feed existed |
| Spend by stage | ⊘ not measured | the stage is not on the task either |
| Next survey — forward estimate | ▲ estimate only, and not served | estimate_survey_cost /
frames_for_survey (roadintel/pipeline/guardrails.py)
compute a forward estimate from a frame count, not measured
spend. They have no route and no caller anywhere in app/,
so this board has nothing to call. |
seconds_per_frame at the measured 0.67 s/frame on CPU versus the
batched-GPU default is more than an order of magnitude apart for the same
drive. A single currency figure printed here, with the assumption hidden,
would not be reporting cost; it would be reporting a guess with a currency
symbol in front of it. When the estimator gets a route, this panel gets the
dial and the assumption beside the number.
Reading this board. Counts are sessions, never files or frames. Timestamps are UTC, exactly as the API stores them — nothing here is converted to a local clock it cannot prove. Stalled is the server's derivation from S3 artifact times, and every stalled row carries the basis it used; the browser never decides it. Not probed is a state of this page, not a state of the session. No currency figure appears anywhere on this page, and that is deliberate — see Cost.