Evidence Snapshots
An evidence snapshot is the submitted reading of what your application preserved at a specific decision moment.
StateMirror preserves these submitted snapshots immutably. It does not decide outcomes, interpret payloads, evaluate policy, execute workflows, replace observability, or prove upstream truth.
Treat StateMirror like an oscilloscope or flight recorder:
- You choose where to probe.
- You choose when to capture.
- You choose what facts to preserve.
- The instrument preserves the submitted reading faithfully.
The snapshot is the reading. Interpretation belongs to your application, operators, and review process.
StateMirror receives one evidence envelope at capture time:
- evidence_ref: your stable reference for this evidence moment
- evidence_type: a coarse category for retrieval
- captured_at: your timestamp for when the evidence was captured
- state_payload: the computed facts you chose to preserve
- optional Evidence Lanes: PlanEvidence, DenialEvidence, and ExpiryEvidence when those canonical shapes help organize the submitted payload
- provenance metadata: optional source or correlation context
This should be moment-level evidence, not a general event stream.
- Intent. StateMirror does not know why you tried to do something.
- Events. It does not reconstruct history from event streams.
- Outcomes. It does not decide permit, deny, grant, revoke, approve, or reject.
- Truth. It does not prove the submitted state was correct.
- Policy. It does not validate Evidence Lanes, evaluate policy correctness, or prove the application made the correct decision.
- Observability. It does not replace logs, tracing, metrics, payload search, aggregations, or dashboards.
Logs answer: what happened?
StateMirror answers: what did the system preserve as evidence at that moment?
This reduces post-hoc reconstruction during support questions and engineering review. The snapshot becomes a stable reference that can be attached to tickets and reviewed later.
- Not captured. If you do not submit evidence at the moment, StateMirror cannot invent it later.
- Partial capture. If your payload omits a fact, the snapshot will not contain it.
- Bad clocks. captured_at is your timestamp; received_at is StateMirror’s timestamp. Drift is expected.
- Retry duplicates. Use idempotency to make retry behavior explicit.