Features · Prove
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.
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.
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.
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.
"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
{
"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.