pub struct RuntimeIdentity {
pub provider: Option<String>,
pub model: Option<String>,
pub tool_schema_hash: Option<String>,
pub system_prompt_hash: Option<String>,
}Expand description
Who and what produced this action: the model runtime the actor was
executing under at sign time. Binding it into the signed statement lets a
verifier holding a pinned expectation (“this agent must run
claude-opus-4-8 with this tool schema and this system prompt”) detect a
swapped model, an altered tool set, or a changed system prompt after the
fact. Where effect records what the action touched, this records what
executed it.
Every field is optional and actor-attested: it is signed by the actor’s
key, so it is exactly as trustworthy as the actor, and it carries no
weight on its own. A verifier can only turn it into a Pass by reconciling
it against an out-of-band pinned expectation; absent means “not recorded”
(unverifiable), never a pass. The hashes are sha256:<hex> over the exact
bytes presented to the model, so equality is the whole check.
Fields§
§provider: Option<String>Model provider, e.g. “anthropic”, “openai”.
model: Option<String>Model identifier the actor ran under, e.g. “claude-opus-4-8”.
tool_schema_hash: Option<String>Hash of the exact tool schemas the agent had available this turn.
system_prompt_hash: Option<String>Hash of the exact system prompt the agent ran under.
Implementations§
Source§impl RuntimeIdentity
impl RuntimeIdentity
Sourcepub fn is_unbound(&self) -> bool
pub fn is_unbound(&self) -> bool
True when no field is populated – the runtime binding attests nothing,
so a verifier has nothing to pin against an expectation. Verify treats
this the same as an absent runtime: the runtime layer is
unverifiable, not a pass.
Trait Implementations§
Source§impl Clone for RuntimeIdentity
impl Clone for RuntimeIdentity
Source§fn clone(&self) -> RuntimeIdentity
fn clone(&self) -> RuntimeIdentity
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 RuntimeIdentity
impl Debug for RuntimeIdentity
Source§impl Default for RuntimeIdentity
impl Default for RuntimeIdentity
Source§fn default() -> RuntimeIdentity
fn default() -> RuntimeIdentity
Source§impl<'de> Deserialize<'de> for RuntimeIdentity
impl<'de> Deserialize<'de> for RuntimeIdentity
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for RuntimeIdentity
Source§impl PartialEq for RuntimeIdentity
impl PartialEq for RuntimeIdentity
Source§impl Serialize for RuntimeIdentity
impl Serialize for RuntimeIdentity
impl StructuralPartialEq for RuntimeIdentity
Auto Trait Implementations§
impl Freeze for RuntimeIdentity
impl RefUnwindSafe for RuntimeIdentity
impl Send for RuntimeIdentity
impl Sync for RuntimeIdentity
impl Unpin for RuntimeIdentity
impl UnsafeUnpin for RuntimeIdentity
impl UnwindSafe for RuntimeIdentity
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
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<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.