pub enum RunOutcome {
Passed,
Failed,
Warned,
Fixed,
Unavailable,
Inert,
Cold,
Busy,
Skew,
Withheld,
Cancelled,
Slow,
}Expand description
How a single run of one gate ended.
The check vocabulary, kept whole rather than flattened to pass/fail:
Unavailable is the outcome the fleet audit of 2026-09-19 kept finding —
a gate that could not run, reported as a warning, counted by nobody — and
collapsing it into “fail” would hide it all over again.
Variants§
Passed
Failed
Warned
Fixed
Inert
Cold
No completion marker in the current cache namespace.
Busy
Another run held the gate’s cache lock.
Skew
The tool the gate would run is not the one CI resolves.
Withheld
The tree was not exactly the commit’s (unstaged, untracked, ignored outside the allow-list, or an operation in progress).
Cancelled
Still running when the commit was ready, or past its deadline.
Slow
Not started: its last run would not fit in this commit’s cover plus the slack.
Implementations§
Source§impl RunOutcome
impl RunOutcome
pub fn as_str(self) -> &'static str
Sourcepub fn parse(s: &str) -> Option<RunOutcome>
pub fn parse(s: &str) -> Option<RunOutcome>
The parse side. None for anything unknown — a future amont may write
an outcome this one has never heard of, and inventing a meaning for it
would be worse than dropping the line.
Sourcepub fn is_verdict(self) -> bool
pub fn is_verdict(self) -> bool
Did this run reach a verdict about the content? Only these two are evidence about whether a gate works — the rest are a gate declining to judge, and counting them as passes is how a no-op looks healthy.