Features · Prove

The proof layer — click any number, see the query that produced it

Every metric in Vitrus travels as {id, sql, params, window, value}. The dashboard shows you the query, the parameters and the raw rows. This is the feature the rest of the product exists to protect.

The query is the explanation

Not a tooltip describing the query — the query itself, with the parameters it ran with. You can paste it into your own SQLite and get the same number.

Numbers never come from a model

They are computed by deterministic SQL first. The optional AI layer is handed the results and is forbidden from producing a number of its own.

Unprovable sentences are dropped

A numeric guard checks every number in generated prose against the evidence set. A sentence containing a number that is not there is removed and the digest is marked degraded. Fail-closed, with a golden-set eval at zero tolerance for leaks.

No causal claims

"Coincides with the last deploy" is allowed. "Caused by the last deploy" is blocked. Correlation dressed as causation is how analytics tools lose trust for good.

The evidence

What one metric looks like end to end

{
  "id": "e3",
  "metric": "visitors.unique",
  "label": "Unique visitors",
  "sql": "SELECT COUNT(DISTINCT visitor_id) AS value FROM events
          WHERE site_id = ? AND ts >= ? AND ts < ? AND bot_kind = ''",
  "params": ["acme-3f9c21", 1757635200000, 1758240000000],
  "value": 1247,
  "previous": 1103,
  "deltaPct": 13.1
}

Every card, every row, every sentence in the weekly digest carries one of these.

Documentation

More in prove

← All features