Expand description
Limits manager (architecture section 6, RULE-08, FR-G05).
Contract: one Limits value is passed explicitly to every computation;
a Budget tracks consumption and records which limit stopped a run.
Invariants: counters use checked arithmetic and saturate into a limit error,
never wrap (NFR-C05). Failure mode: every breach maps to a catalogue code
whose exit class is “unknown” (2) or a usage error (3).
Structs§
- Budget
- Tracks consumption against
Limitsand remembers the first breach. - Clock
- Monotonic clock that is inert on WebAssembly (where
Instantpanics): there the time limit is not enforced and other limits still apply. - Limits
- Configured limits. All fields are public so they can be reported verbatim in results.