RoadIntel sign out

Pipeline health

Cross-corridor. This is the one screen that is not scoped to a corridor — a stuck job on NH44 has to be visible while you are looking at NH16. It is composed from six calls (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

passed to the probe as ?stall_after_s=; the server reports the basis it used.

Overdue across corridors

every corridor × every stream · from GET /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 you

Measured 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.

The four figures an ops cost panel is expected to carry, and the state of each in this build.
FigureState 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.
Why no number is shown even for the estimate. The same estimator answers very differently depending on one keyword argument — 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.