pub enum ProviderResult {
Frames(ContextQueryResult),
BudgetLie {
claimed_tokens: u64,
max_tokens: u32,
dropped_frames: usize,
},
FrameFlood {
returned_frames: usize,
max_frames: u32,
},
ConsentRequired(DataFlow),
ConsentScopeRequired {
data_flow: DataFlow,
missing: Vec<EgressScope>,
},
Failed(HostError),
}Expand description
What became of one provider’s leg of a fan-out — a total function over every failure mode, so no leg can abort another.
Variants§
Frames(ContextQueryResult)
Frames the host accepted: passed consent, timeout, and budget honesty.
BudgetLie
The provider’s frames summed above the query budget — a token_cost
lie. Dropped and reported (SPEC.md §7, B2).
FrameFlood
The provider returned more frames than max_frames — a frame-count
overspend. Dropped whole and reported, symmetric to a [BudgetLie]
(SPEC.md §7, B4).
ConsentRequired(DataFlow)
Skipped: an egress provider (declaring no scopes) without recorded boolean consent. The query payload was not transmitted (§3.5).
ConsentScopeRequired
Skipped: the provider declares off-machine egress scope(s) with no
recorded consent receipt (docs/context-reuse.md §3). missing names
the scopes lacking a receipt. The query payload was not transmitted.
Failed(HostError)
The provider errored, timed out, or crashed mid-query.