SIMULATION LAYER 01 / 04
A citation is a claim about a source. A trace is a record of the operation.
Most analytics tools can tell you which file a number came from. That is not the same as being able to reproduce it. Every figure here carries five ordered stages, each with its own rows, and each row keyed to the source it was read from.
SIMULATION LAYER 02 / 04
The five trace stages
Stage 1 · recorded
Source
The document, identified: which file you sent, which sheet, which row range. Each source carries a label and a detail line so it is recognisable to the person who exported it.
Sources are listed per metric, not per dashboard. Two panels reading the same file for different reasons say so separately.
Stage 2 · recorded
Extraction
The cell as it was written, and the value read out of it. Bracketed negatives, lakh grouping and a scale note three rows up all resolve here, and all three are shown as they were resolved.
This is the stage that catches a wrong figure most often. Nine times in ten a disputed number is a correct formula over a misread cell.
Stage 3 · computed
Calculation
The formula with every measure substituted, so the arithmetic can be repeated on paper. Provenance is marked filed or derived: filed means it was stated in a document, derived means we computed it.
Drivers appear here with an explicit unattributed residual. What the decomposition cannot explain is shown rather than spread across the parts that can.
Stage 4 · computed
Model check
How many points existed natively, how many the model trained on, how many were held back, and the error on that holdout. Also whether the history was sufficient at all — and if not, the trace ends here.
A trace that stops at stage four is a complete, honest trace. It means the figure is recorded and no projection was defensible.
Stage 5 · projected
Projection
The tier that answered, the decoder by name, whether the quantiles are native to the model or empirical from resampled paths, and the band itself.
The decoder name is stored with the forecast, not just displayed. A number produced by a fallback stays identifiable long after the run.
SIMULATION LAYER 03 / 04
Written answers
The no-fabrication rule is enforced mechanically, not by instruction.
Before any written answer is shown, every number in it is checked against the grounding it was built from. The check is substitution-aware: it catches a figure that drifted from 153.2 to 158, not merely a missing citation.
On failure the pipeline regenerates once, then abstains. Abstaining is a supported outcome with its own state in the interface, because the alternative is a confident wrong number.
- 1Answer producedGrounded in the same snapshot the panels were rendered from.
- 2Figures checkedEach number matched against the grounding, substitution included.
- 3One retryA single regeneration, not a loop that eventually passes by chance.
- 4AbstainNo answer, and a reason. This is the designed outcome, not an error page.
The Ask surface is not built yet; the flag defaults off.
SIMULATION LAYER 04 / 04
One snapshot, one shape.
The dashboard and any answer drawer read the same payload with the same types, generated from the server’s own schemas. The moment two surfaces each own a copy of what a projection is, they start disagreeing.
A field rename fails the build rather than silently rendering undefined into a figure, and a payload whose schema version differs from the client’s is refused with a message rather than displayed.
Snapshots are dated and staleness is visible
Every payload carries when it was generated, which snapshot it belongs to, and whether it is stale. A figure with no timestamp is a figure you cannot act on.
Two people looking at the same panel on different days can tell whether they are looking at the same reading.
