pub struct AgentContractUnread {
pub agent: String,
pub declared_values: Vec<String>,
pub step_ref: String,
}Expand description
One agent whose entire declared verdict.values set went unread — the
per-agent aggregate of UnhandledVerdictValue. Signals that the
contract is decorative: the step declares a verdict, but every declared
token is unhandled downstream, so the gate cannot halt the flow.
Separate from UnhandledVerdictValue because a normal Blueprint
always leaks one per-value finding per agent (the halt gate only reads
the halt token, so PASS is structurally unhandled). That baseline noise
hides the actual defect this variant catches — the whole gate being
dropped (e.g. 2db863e opt-OUT authoring surviving the bafe47d4
opt-in flip). Consumers surface both: per-value stays for parity with
strict_verdict_handling, per-agent adds a WARN whose count equals the
number of agents whose gate is fully dead.
Fields§
§agent: StringThe contract-bearing agent (= AgentDef.name = Step.ref_).
declared_values: Vec<String>The full declared token set — every one of these is unread.
step_ref: StringThe first flow site that invokes agent, for attribution.
Trait Implementations§
Source§impl Clone for AgentContractUnread
impl Clone for AgentContractUnread
Source§fn clone(&self) -> AgentContractUnread
fn clone(&self) -> AgentContractUnread
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AgentContractUnread
impl Debug for AgentContractUnread
impl Eq for AgentContractUnread
Source§impl PartialEq for AgentContractUnread
impl PartialEq for AgentContractUnread
impl StructuralPartialEq for AgentContractUnread
Auto Trait Implementations§
impl Freeze for AgentContractUnread
impl RefUnwindSafe for AgentContractUnread
impl Send for AgentContractUnread
impl Sync for AgentContractUnread
impl Unpin for AgentContractUnread
impl UnsafeUnpin for AgentContractUnread
impl UnwindSafe for AgentContractUnread
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more