Expand description
Addressed faults: what can go wrong that the world’s own data cannot express.
Predicates are AND-ed and order-independent, so a miss can name the single predicate that failed. No HTTP and no Redis: matching is decided from the fault and the request’s item addresses alone.
Structs§
- Fault
- An armed fault. Immutable: re-arming an id replaces the value and re-mints its
seq. - Fault
Problem - Fault
Spec - Flat
When - Item
Address - The address keys one request item carries, after the working-set load filled in what the wire did not.
- Lifetime
- Owner
Ref - Resolved
Owner - An owner turned into the keys the wire carries, resolved once at arm time: a fault whose meaning changed because the user linked in the meantime would be unassertable.
Enums§
- Effect
- Fault
Match - Predicate
- Stage
- When
Spec - A flat literal is sugar and desugars into the predicate list.
Functions§
- carries_
item_ 🔒level_ transient - Whether the endpoint’s contract lists a transient code among its per-item results;
resolve-enrolmentsandimportcarry it only in the request-level form. - is_
retryable_ 🔒transient_ code - Read from the state machine rather than restated, so this guard cannot drift from the class it guards.
- matches_
item - matches_
request - A request-shaped effect fires only when every item resolves to the fault’s owner: on a mixed batch it would otherwise kill rows nobody armed anything for.
- owner_
matches 🔒 - Each half constrains only the keys the item carries, so on
list-by-course— which carries no student number — the course half alone decides. - resolvable_
keys 🔒 - What an endpoint can resolve, not what its body carries: verify’s body holds only a submitted attainment id, and the working set reads the person behind it.
- validate
- Rejects a fault that could never fire, and the one combination that would fire and be wrong.