pub struct BoundAgent {
pub agent: AgentDef,
pub runner: Option<Runner>,
pub context_policy: Option<ContextPolicy>,
pub runner_source: RunnerResolutionSource,
pub attestation: Option<BindingAttestation>,
pub binding_digest: BindingDigest,
}Expand description
Immutable, Run-scoped result of binding the Runner / Agent / Context layers for one logical agent.
This is derived state, not a fourth authoring source of truth. The full
AgentDef is retained deliberately: resume/replay must not re-read a
changed role prompt or result contract from a mutable Blueprint registry.
Capability attestation is adapter-owned and is therefore not guessed here;
the resolved Runner remains a declaration until an adapter records its
requested/effective comparison.
Fields§
§agent: AgentDefLogical agent definition pinned for the Run.
runner: Option<Runner>Runner selected by resolve_runner, if this agent needs one.
context_policy: Option<ContextPolicy>Effective static Context policy (AgentMeta.context_policy wins over
Blueprint.default_context_policy). Runtime context values are not
embedded here.
runner_source: RunnerResolutionSourceDeclaration tier that supplied runner.
attestation: Option<BindingAttestation>Effective capability statement accepted from the injected binding
provider. None preserves the declaration-only compatibility path.
binding_digest: BindingDigestSHA-256 over the other fields of this snapshot, prefixed with
sha256:. This is replay identity and an observability correlation
key, not a signature.
Implementations§
Source§impl BoundAgent
impl BoundAgent
Sourcepub fn set_attestation(
&mut self,
attestation: BindingAttestation,
) -> Result<(), BoundAgentResolveError>
pub fn set_attestation( &mut self, attestation: BindingAttestation, ) -> Result<(), BoundAgentResolveError>
Replace the effective capability attestation and recompute replay identity over the complete immutable snapshot.
Sourcepub fn recompute_binding_digest(&mut self) -> Result<(), BoundAgentResolveError>
pub fn recompute_binding_digest(&mut self) -> Result<(), BoundAgentResolveError>
Recompute binding_digest after a trusted snapshot mutation.
Trait Implementations§
Source§impl Clone for BoundAgent
impl Clone for BoundAgent
Source§fn clone(&self) -> BoundAgent
fn clone(&self) -> BoundAgent
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 BoundAgent
impl Debug for BoundAgent
Source§impl<'de> Deserialize<'de> for BoundAgent
impl<'de> Deserialize<'de> for BoundAgent
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<BoundAgent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<BoundAgent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for BoundAgent
impl JsonSchema for BoundAgent
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for BoundAgent
impl PartialEq for BoundAgent
Source§impl Serialize for BoundAgent
impl Serialize for BoundAgent
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for BoundAgent
Auto Trait Implementations§
impl Freeze for BoundAgent
impl RefUnwindSafe for BoundAgent
impl Send for BoundAgent
impl Sync for BoundAgent
impl Unpin for BoundAgent
impl UnsafeUnpin for BoundAgent
impl UnwindSafe for BoundAgent
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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