If you are evaluating Statum from the outside, do not read the repo front to back. Use this short path instead.
Keep one question in mind while reading: does this workflow have legal states that should be impossible to misrepresent in code?
Statum is for cases where invalid, undesirable, or not-yet-validated states should not survive as ordinary values in your core API.
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 Statum 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 a workflow is a good fit
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.