Local state forensics
Find the first state change that broke the second run.
Capture named snapshots and domain events. Redact sensitive fields at the source. Compare a known-good run with the failure—without uploading either one.
- Local only
- JSON portable
- No effect execution
Bench 01 / compare
Divergence workbench
Load a known-good capsule and the run that drifted. Files stay in this tab by default.
Ready offline
Known-good run
No capsule loaded
Changed run
No capsule loaded
Awaiting two capsules
Use your exported JSON files or load the example to see the first divergent field.
A small evidence format
Instrument the state boundary, not the whole session.
Capsules capture only the state and domain events you declare. That makes failures portable, reviewable, and safe to inspect on a second machine.
- 01
Record
Wrap the point where durable state changes. Set a transition limit for bounded evidence.
- 02
Redact
Replace exact or wildcard paths before anything reaches the capsule.
- 03
Compare
Align snapshots in order and stop at the first changed JSON path.
0.1.0 / zero runtime dependencies
A narrow API for evidence you own.
ESM, CommonJS, and TypeScript declarations ship together. No telemetry. No remote runtime.
Read the complete API guideimport { createRecorder } from "state-transition-capsule";
const run = createRecorder({
name: "report / run 2",
initialState,
redact: ["auth.token", "**.password"],
retention: { maxTransitions: 100 }
});
run.record(event, nextState);
Capsule Studio / one-time purchase
Keep a local case history.
The open package and viewer handle the complete capture-and-compare workflow. Studio adds saved comparison labels and local history for teams who revisit incidents.
$39 one time · per user
- Saved local comparison history
- Named incident labels
- Future Studio adapters
Checkout and refunds are handled by Sociobot/Dodo, the merchant of record. A refunded license is revoked automatically. Terms · Privacy
License channel
Studio locked
The free comparison bench remains fully available.