| Date (UTC) | Provider | Cost (USD) | Source |
|---|
| Date (UTC) | Flow | Cost (USD) | Source |
|---|
Measured: the AI provider’s HTTP response included a usage block (token counts), and the recorded cost was tied to that real token count via the provider’s per-token rate. (A canonical rate table at src/services/cost/modelPricing.ts is in place for future cost-reconciliation features but is not yet wired into the rollup path.)
Estimated: the cost was computed locally from a token estimator. This happens when the provider omits a usage block (some streaming responses, some self-hosted models like LMStudio), or when the call short-circuited before a response.
Rollups that combine both kinds of rows are labeled mixed (M measured, E estimated) with the per-source counts inline. Silent fallback from measured → estimated is prohibited (see ADR-022).