SIMPLESTATES
When a production decision is questioned later, logs and database rows often help reconstruct what might have happened. StateMirror preserves the evidence package the application submitted when it made the decision.
A customer says their plan was active yesterday. The application denied access at 18:22 UTC. StateMirror keeps the submitted evidence package from that decision moment.
Application -> decision -> submitted evidence -> StateMirror
Verification -> payload/hash/chain integrity only
{
"customer_id": "cust_123",
"plan_status": "active",
"entitlement_state": "seat_limit_reached",
"operator_hold": false,
"trial_expiry": "2026-06-15T18:00:00Z",
"rule_version": "access-rules@2026.06.12",
"captured_at": "2026-06-15T18:22:31Z",
"decision_outcome": "deny"
}
Logs may show the denial happened.
Database rows may show current state later.
StateMirror preserves the submitted evidence package from then.PlanSignal, DenySignal, and ExpirySignal are companion primitives for reading focused facts before the application decides. They can also be useful evidence shapes inside submitted StateMirror snapshots.
PlanSignal -> plan, tier, entitlement, commercial state DenySignal -> holds, restrictions, operator denials ExpirySignal -> trials, licenses, temporary access, validity Signals emit/read facts. Applications decide and execute outcomes.
State is queried. Decisions are made. Actions remain application-owned. StateMirror does not decide, enforce policy, execute workflows, prove upstream truth, prove decision correctness, or own application behavior.
[ StateMirror Core ] [ Core v1.0.0 ] [ StateMirror Product ] [ Products ]