Surface index
Every dashboard screen in one table, with its route, the question it answers, what makes it appear, and where its subject is documented.
On this page
You are looking at a screen and want to know what it is. This page is the map: thirty-seven sidebar entries plus the routes that have no sidebar row, each with the question it answers, the configuration that makes it appear, and a link to the page that documents its subject.
The tables below are generated from the shipped navigation definition and resolved against two
capability payloads captured from running binaries, so the counts and the routes are the
product’s, not a description of it. The “shown in” columns report where each entry appeared:
demo is tokentriage demo, minimal is tokentriage run --config over a config file
carrying nothing but upstreams, a tier and a two-line dashboard: block.
Thirty-five of the thirty-seven appear in the demo. Twenty-three appear on the minimal instance. The two the demo leaves out are Fleet and Instances, which need a peer. If yours is shorter than a screenshot, why your sidebar is shorter explains the rule that decides.
Every route below is relative to /ui on the admin listener, so /cost is
http://127.0.0.1:9090/ui/cost at the default admin address.
Money
Where the spend went, what it will be, and what cannot be accounted for. The concepts live in Cost & attribution.
| Surface | Route | Answers | Appears when | Demo | Minimal |
|---|---|---|---|---|---|
| Overview | / |
is everything healthy, where is the money going, and can I climb a rung | always | y | y |
| Cost | /cost |
where the money went by tenant, tier, model and token, and what is excluded | the read model is on | y | y |
| Cost · breakdown | /cost/breakdown |
what we spent this period, broken down by what we bill on | analytics.enabled |
y | — |
| Chargeback | /cost/chargeback |
what each team spent, as showback — nobody is billed | at least one chargeback report is configured | y | — |
| Recommendations | /cost/recommendations |
which cheaper options the scan found, and what each is graded | analytics.recommendations |
y | — |
| Realized | /cost/realized |
what an applied recommendation did, measured on post-apply rows | analytics.recommendations |
y | — |
| Reconcile | /cost/reconcile |
how a provider invoice compares with the ledger, with a residual | reconciliation is composed | y | y |
| Forecast | /forecast |
what this will cost, as a range rather than a single figure | analytics.forecast |
y | — |
| Cost · measurement | /metacost |
what the product spent producing its own evidence | analytics.metacost |
y | — |
Reconcile appears on the minimal instance because its store is opened whenever the dashboard
is composed, independently of analytics. That asymmetry is the product’s, and the nav
reports it rather than hiding a route that answers.
Traffic
The rows themselves, and the identity that joins them.
| Surface | Route | Answers | Appears when | Demo | Minimal |
|---|---|---|---|---|---|
| Requests | /requests |
which requests match this filter, grouped how I want them | the read model is on | y | y |
| Traces & agents | /traces |
how one trace fanned out, as a cost waterfall rather than a latency one | business dimensions are available | y | y |
| Live | /live |
what is arriving right now, costed, as it happens | the live stream is wired | y | y |
| Record | /requests/{req_id} |
everything known about one request, in five tabs | reachable from any row | — | — |
| Receipt | /requests/{req_id}/receipt |
the printable receipt for one request | reachable from a record | — | — |
Record and Receipt have no sidebar entry because they are per-row destinations rather than places you navigate to. Both are deep-linkable, and the URL for a record is stable, which is what makes it paste-able into an incident channel.
Routing and quality
The trust ladder, the rules that implement it, and the evidence that licenses a promotion. Routing and Calibration & Evals own the concepts.
| Surface | Route | Answers | Appears when | Demo | Minimal |
|---|---|---|---|---|---|
| Routing | /routing |
which rung am I on, and does the evidence let me climb | the control plane is wired | y | y |
| Policy | /policy |
what would these first-match rules do, before I apply them | the control plane is wired | y | y |
| Honesty | /honesty |
what does the verdict say, and on how many labelled rows | the control plane is wired | y | y |
| Calibration | /calibration |
which calibration artifact is active, and what a threshold sweep does | the control plane is wired | y | y |
| Quality · scorecard | /evals/scorecard |
one row per segment, split by evidence basis and never combined | the read model is on | y | y |
| Quality · reliability | /evals/reliability |
does a calibrated score behave like a probability on held-out data | the read model is on | y | y |
| Quality · coverage | /evals/coverage |
how much of my traffic a quality claim actually speaks for | the read model is on | y | y |
| Quality · drift | /evals/drift |
did anything shift, and did anyone look | the read model is on | y | y |
| Evals · datasets | /evals/datasets |
which pinned sets of ledger references exist to test against | the read model is on | y | y |
| Evals · experiments | /evals/experiments |
how two candidates compare on a pinned dataset version | the read model is on | y | y |
| Evals · annotate | /evals/annotate |
which requests are waiting for a human label | the read model is on | y | y |
| Quality · judges | /evals/judges |
which LLM judges have been measured against human labels, and which floor a refused one missed | the read model is on | y | y |
The eight quality surfaces are gated on the read model rather than on a quality setting, because each one folds ledger rows and there is no quality capability on the wire to gate them on. A deployment that declines one of their reads gets a surface that says so; a nav entry promises the screen exists, not that every read inside it is permitted.
Two of those eight belong to the judge track and are the pair a reader most often meets in the
wrong order. Quality · judges is the read: one card per judge subject with its agreement
statistic, the floors that run and the need/have behind a refusal, and it reports
validation_state: empty until some subject on your ledger carries human labels.
Evals · annotate is how those labels get there. Run the check that fills the first from
Validate a judge and promote it; the queue behind the
second is Collect the labels a judge is measured against.
Spend control
Two mechanisms with similar names that stop different things. Cap spend with a budget covers the difference.
| Surface | Route | Answers | Appears when | Demo | Minimal |
|---|---|---|---|---|---|
| Budgets | /budgets |
how far through its ceiling is each budget, and will it stop anything | at least one budgets: entry is defined |
y | — |
| Governance | /governance |
which virtual keys and tenants exist, and what was turned away | governance is armed | y | — |
| Governance · limits | /governance/v2 |
what would this limit do before I enforce it | governance is armed | y | — |
| Governance · health | /governance/health |
are coordinated limits converging, and what widened | governance is armed | y | — |
| Alerts | /alerts |
which rules exist, what fired, and what would have fired | alerting is wired | y | — |
| Anomalies | /anomalies |
what the last detection scan found, including when it found nothing | the detector is wired | y | y |
Budgets is the one entry with three states rather than two: present and enabled, present but disabled when budgets are defined and enforcement is not granted, or absent when none are defined. The disabled state carries its reason.
Providers, prices and cache
| Surface | Route | Answers | Appears when | Demo | Minimal |
|---|---|---|---|---|---|
| Providers | /providers |
one card per upstream: dialect, endpoint, key reference, health, cooldown | the control plane is wired | y | y |
| Pricing | /pricing |
what the active price table resolves, and which rows have no price | the read model is on | y | y |
| Cache | /cache |
is the cache earning its keep, and is each saved dollar backed by evidence | the response cache is configured | y | — |
The Providers surface shows the name of the environment variable holding each key, never a value. Provider credentials covers why.
Fleet and administration
| Surface | Route | Answers | Appears when | Demo | Minimal |
|---|---|---|---|---|---|
| Fleet | /fleet |
which replicas are alive by heartbeat age, and what the last merged read covered | at least one peer instance is configured | — | — |
| Instances | /instances |
which peers this hub is reading from | at least one peer instance is configured, and see below | — | — |
| Saved views | /views |
which queries are saved, shared or scheduled | the control plane is wired | y | y |
| Settings | /settings |
what config is running, and can I change it safely | always | y | y |
| Share read | /share/{token} |
one frozen query, to somebody with no account | a share token was minted | — | — |
Fleet and Instances are absent from both columns because neither instance had a peer
configured. A direct visit to /fleet on a single node still renders, reporting one replica
rather than refusing.
Instances is the one entry with no route behind it. The navigation lists it when peers are
configured, and the router registers nothing for /instances; the product tracks it as a
known gap owned by the scale-out work. Fleet is the surface that answers today.
Settings, in more detail
Settings is one route with six panels, and it is the surface most likely to be what somebody means by “the admin page”.
| Panel | What it does |
|---|---|
| Running configuration | serves the config file verbatim, with its generation number and load time |
| Config editor | validate, diff against running, then apply under a compare-and-set guard |
| Mode control | set the ladder mode, subject to the promote gate |
| Users | add, change and remove local users and their roles |
| Content capture | reports whether bodies are being stored, and states the consequence |
| Audit | every attempted write, accepted or rejected, with its actor |
Retention appears here too, reporting the sweep policy. The mechanism belongs to the decision ledger on disk.
Routes with no sidebar entry
Five routes are reachable without appearing in the nav:
| Route | What it is |
|---|---|
/requests/{req_id}, /requests/{req_id}/receipt |
per-row destinations, reached from any row |
/traces/{trace_id}, /traces/{trace_id}/diff |
a single trace, and a two-trace comparison |
/share/{token} |
the public read plane |
The share plane renders with no navigation at all. A share-link recipient gets one frozen query and nothing else, rather than a stripped-down dashboard.
Adding ?embed=v1&theme=light to any surface strips the chrome for embedding in a Grafana
panel or a runbook. It removes navigation, not disclosure: the mode, snapshot and demo
watermark stay.
What this page does not cover
It names each surface’s question, not its answer. What a cost figure means is Cost & attribution; what a verdict chip means is the honesty model; what a limit does is Governance. This page’s job is to get you from a screen to the right one of those in one hop.