Documentation sections
Provenance
Every result says how it was computed: each calculator result, each batch item and each job result carries one provenance object with the same nine members. The values beside it are unchanged by it.
The nine members
| Member | Type | Description |
|---|---|---|
method | string | What computed the values: calculator:<slug>, or a job handler's method. |
version | string | The engine that computed them, <component>@<revision>: api@…, worker@…, mcp@…, web@…. A build that cannot tell its revision says so (api@dev). |
formulaRef | string | null | The published source of the formula, or null where none is named. |
assumptions | {code, text}[] | What the method assumes. Empty means none is stated, not that there are none. |
validRange | object | status (inside, outside or unknown), the bounds of every input with its unit, the inputs outside them, and a fitted model's validated range and worst-case error where there is one. |
computedAt | string | When, ISO-8601 in UTC with milliseconds. |
inputs | object | The inputs the values were computed from, after defaults were applied. |
seed | integer | null | The seed of a randomised computation; null for every calculator. |
elapsedSeconds | number | How long the computation took. |
Inputs outside the stated range
An input outside the range a calculator is stated for is still computed. validRange.status reads outside, validRange.outside names the input, and a warning naming the input and the bound is added to warnings. Where a calculator uses a fitted model, validRange.model gives the model's validated range and its worst-case error, and whether the inputs were inside it.
Older results
A result stored before September 2026 carries only method, version, seed, inputs and elapsedSeconds: read an absent member as unknown, not as empty. New members may be added; none is renamed or removed.