pub struct InferenceModelIdentity {
pub requested_model_id: Option<String>,
pub resolved_model_id: String,
pub row_digest: String,
pub catalog_revision: String,
}Expand description
Result of an inference call, including trace ID for outcome tracking.
Fields§
§requested_model_id: Option<String>Exact immutable model id supplied through the protocol model_id pin.
None for adaptive routing and legacy display-name/alias requests.
resolved_model_id: StringCanonical immutable catalog id actually used after routing/fallback.
Contract: the value is exactly the id of the catalog row that served,
never rewritten at serve time, so an exact model_id pin that was
honored comes back byte-for-byte equal. Compare it for equality; do not
parse it. Built-in catalog ids have the form provider/name[:tag],
each part [A-Za-z0-9][A-Za-z0-9._-]* (so no / inside name and at
most one :); name may carry the provider’s own version or date
(openai/gpt-5.5-2026-04-23) and the tag is optional
(anthropic/claude-opus-4-8 has none, qwen/qwen3-4b:q4_k_m has one).
Ids of discovered, signed-catalog, gateway or operator-registered rows
(parslee/openrouter/open-fast) are passed through verbatim and need
not follow that form.
row_digest: StringSHA-256 digest of the resolved immutable ModelSchema row.
catalog_revision: StringSHA-256 revision of the exact catalog snapshot captured for this call.
Trait Implementations§
Source§impl Clone for InferenceModelIdentity
impl Clone for InferenceModelIdentity
Source§impl Debug for InferenceModelIdentity
impl Debug for InferenceModelIdentity
Source§impl Default for InferenceModelIdentity
impl Default for InferenceModelIdentity
Source§impl<'de> Deserialize<'de> for InferenceModelIdentity
impl<'de> Deserialize<'de> for InferenceModelIdentity
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 InferenceModelIdentity
Source§impl JsonSchema for InferenceModelIdentity
impl JsonSchema for InferenceModelIdentity
Source§fn schema_name() -> String
fn schema_name() -> String
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 is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read moreSource§impl PartialEq for InferenceModelIdentity
impl PartialEq for InferenceModelIdentity
Source§impl Serialize for InferenceModelIdentity
impl Serialize for InferenceModelIdentity
impl StructuralPartialEq for InferenceModelIdentity
Auto Trait Implementations§
impl Freeze for InferenceModelIdentity
impl RefUnwindSafe for InferenceModelIdentity
impl Send for InferenceModelIdentity
impl Sync for InferenceModelIdentity
impl Unpin for InferenceModelIdentity
impl UnsafeUnpin for InferenceModelIdentity
impl UnwindSafe for InferenceModelIdentity
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<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.impl<T> ErasedDestructor for Twhere
T: 'static,
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