#[non_exhaustive]pub enum ExecError {
Show 13 variants
ConsentRequired,
UnsupportedNetworkPolicy,
WorktreeNotReadOnly,
InvalidAnalyzerId(String),
AnalyzerMismatch {
requested: String,
reported: String,
},
UnsupportedSchema {
found: String,
expected: &'static str,
},
MalformedReport(String),
TooManyFindings {
count: usize,
max: usize,
},
DuplicateFinding(String),
PathEscapesWorktree(String),
Identity(FindingsError),
UnknownAnalyzer {
requested: String,
known: String,
},
Json(Error),
}Expand description
Errors an analyzer backend can raise.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ConsentRequired
The request did not carry explicit user consent. Running an analyzer is never implicit, whatever the backend.
UnsupportedNetworkPolicy
The request asked for a network policy this backend will not honour. Egress is denied; an analyzer’s inputs are pre-provisioned, never fetched mid-run.
WorktreeNotReadOnly
The request asked for a writable worktree. Analyzers parse source, manifests and lockfiles; none of them needs to write to the tree.
InvalidAnalyzerId(String)
The requested analyzer id is not well-formed: an analyzer id is
1..=MAX_ANALYZER_ID characters of lowercase [a-z0-9._-].
The message is produced by rto_graph::analyzer_id_error, the same
function rto-graph’s own rejection uses, so an id refused here reads
exactly as it would had the store caught it — and it names the rule that
was broken, not just the contract.
AnalyzerMismatch
The report describes a different analyzer than the one requested — a mixed-up file, or a report substituted for another.
Fields
UnsupportedSchema
The report’s schema tag is not one this build understands.
MalformedReport(String)
The report is structurally valid JSON but does not describe a usable run.
TooManyFindings
The report declares more findings than will be accepted in one run.
DuplicateFinding(String)
Two findings in one report share an identity, so one would silently shadow the other.
PathEscapesWorktree(String)
A finding claimed a path outside the analyzed worktree.
Identity(FindingsError)
A finding’s identity components were not usable as a stable key.
UnknownAnalyzer
This build has no adapter for the requested analyzer, so it can neither run it nor read its native output.
Fields
Json(Error)
The report was not valid JSON.
Trait Implementations§
Source§impl Error for ExecError
impl Error for ExecError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()