If you are evaluating Statum from the outside, don't read the repo front to back. Use this short path instead.
Keep one question in mind while reading: does this value's phase need to change what methods are legally available on it?
Statum is for cases where invalid, undesirable, or not-yet-validated states should not survive as ordinary values in your core API.
That often looks like a durable workflow. It can also be a smaller validated, resolved, or build-ready surface where later phases should expose different operations than earlier ones.
Start with the root README:
- the install snippet
- the 60-second example
- the mental model for
#[state],#[machine],#[transition], and#[validators]
That is enough to decide whether Statum fits your correctness problem.
Then read tutorial-review-workflow.md.
This is the progressive path for understanding how the pieces fit together in an app-shaped workflow. It starts with the smallest working machine, then adds the next feature only when the workflow needs it:
#[state]#[machine]#[transition]#[validators]- matching reconstructed machines at the HTTP boundary
Then read case-study-event-log-rebuild.md.
That is the strongest durable-workflow story in this repo:
- append-only events
- projection into row-like snapshots
- typed rehydration back into legal machine states
- no ad hoc status branching after rebuild
It is also the clearest example of the core claim: raw persisted facts stay raw until they can be proven to represent one legal state.
If that problem shape matters to you, Statum is probably worth a deeper look.
Use axum-sqlite-review if you want the most approachable service example.
It shows:
- a small HTTP workflow
- SQLite-backed typed rehydration on each request
- transitions that stay explicit at the handler boundary
Use the focused docs rather than reading everything:
- Typed rehydration and validators
- Patterns and guidance
- Migration guide if you are upgrading an older Statum codebase
- Typestate builder design playbook if you are deciding whether you need a typestate surface at all, and whether it should be a smaller staged surface or a durable workflow machine
If you work with coding agents and want them to spot Statum opportunities in your own repo, start with agents/README.md.
That is optional. It is not the main evaluation path for the crate itself.