# How we know

Whether Salidium saw a thing happen, or is repeating what the agent said about it.

Source: https://salidium.com/docs/provenance

Your agent says the tests passed. Did Salidium watch them pass, or is it passing on a sentence the agent wrote? Every line of a report answers that, and these are the five answers it can give.

- **Observed**: Recorded by a runtime or by Salidium: a diff, an exit code, a commit. Never written by a model.
- **Reported**: The agent's words, or yours. Relayed and attributed, never promoted to observed by parsing them.
- **Derived**: Salidium's own deterministic working. Where a named rule decided it, that rule's id is carried with it.
- **Planned**: Items from the agent's task list, which are intent rather than fact.
- **Explained**: The optional written explanation, and only ever that. This is the word on the page: the badge reads `explained`.

> Observed is the default and prints nothing. Only the exceptions are labelled, because a badge on every line would say the same thing everywhere and so say nothing.

## When it cannot tell

Where the record does not establish something, Salidium says so rather than filling the gap.

- An exit code that was never observed stays unknown. It does not become zero.
- A duration it cannot compute prints unknown.
- Token counts it never saw are left out, not shown as nought.
- A session with nothing in it is grouped as nothing recorded rather than described.
