pub enum TrifectaVerdict {
Ok,
RefusedTrifecta,
AllowedWithWarning,
}Expand description
The verdict on a grant’s trifecta exposure. A refusal is never a crash — each caller turns it into an outcome its layer can act on:
TrifectaVerdict::Ok— two legs or fewer; the grant proceeds silently.TrifectaVerdict::RefusedTrifecta— all three legs and no override. Config validation reports it as a startup error; thesubagent.runtool returns an error result the parent’s model can act on by splitting the work across two narrower children.TrifectaVerdict::AllowedWithWarning— all three legs, but the operator setsecurity.allow_trifecta, so the grant proceeds.
This mirrors RuleOfTwo (Ok/Warn/Refuse) with self-describing
names for the grant path; both sit on the same Trifecta budget.
Variants§
Ok
≤2 legs — the Rule of Two holds; grant silently.
RefusedTrifecta
All three legs and no --allow-trifecta — the grant is refused.
AllowedWithWarning
All three legs but --allow-trifecta downgrades the refusal to a loud,
auditable warning.
Implementations§
Source§impl TrifectaVerdict
impl TrifectaVerdict
Sourcepub fn is_refused(self) -> bool
pub fn is_refused(self) -> bool
Whether the grant must be blocked at the chokepoint. Only
TrifectaVerdict::RefusedTrifecta blocks; a warning still proceeds.
Trait Implementations§
Source§impl Clone for TrifectaVerdict
impl Clone for TrifectaVerdict
Source§fn clone(&self) -> TrifectaVerdict
fn clone(&self) -> TrifectaVerdict
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for TrifectaVerdict
Source§impl Debug for TrifectaVerdict
impl Debug for TrifectaVerdict
impl Eq for TrifectaVerdict
Source§impl PartialEq for TrifectaVerdict
impl PartialEq for TrifectaVerdict
impl StructuralPartialEq for TrifectaVerdict
Auto Trait Implementations§
impl Freeze for TrifectaVerdict
impl RefUnwindSafe for TrifectaVerdict
impl Send for TrifectaVerdict
impl Sync for TrifectaVerdict
impl Unpin for TrifectaVerdict
impl UnsafeUnpin for TrifectaVerdict
impl UnwindSafe for TrifectaVerdict
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more