Expand description
Observable faults with typed reason codes (ClawVM §3).
Core invariant: no subsystem that participates in context
construction or recall ever returns an empty result silently. A
genuine “no match” is a Fault::NoMatch, a denied backend is a
Fault::Denied, and so on. This makes every recall / derivation
failure diagnosable without adding instrumentation after the fact.
ClawVM shows that silent returns (their “silent-recall” failure family) are one of the three root causes of agent memory bugs in the field. Surfacing them as typed reason codes is the Phase A structural remedy.
§Examples
use codetether_agent::session::faults::Fault;
// Distinct from `Option::None` — a caller can tell an empty
// archive apart from an un-authorised backend from a transport
// error.
let f = Fault::Denied {
reason: "policy rejected session_recall".into(),
};
assert!(f.is_denied());Enums§
- Fault
- Typed fault reason codes surfaced from context construction, recall, and writeback.