pub struct ProviderOffers {
pub episode: EpisodeSource,
pub episode_evidence: String,
pub prompts: PromptSource,
pub prompts_evidence: String,
}Expand description
What one provider can do about the session lifecycle, and where that was verified.
Every cell carries its evidence. A capability asserted with no citation is the defect
this type exists to make impossible: before it, a provider absent from a shell table was
silently unsupported and a provider present in one was silently capable, and no surface
could tell a reader which vendor page either answer came from — capture status
enumerated the one provider that had an adapter and said nothing whatever about the
other five this distribution declares. The rule
project.a-provider-capability-cites-its-evidence refuses a declaration without one.
A provider that declares nothing is none on both axes with empty evidence — the state
that rule refuses, so the gap is a finding rather than a silent “unsupported”:
use majordomus_cli::share::{EpisodeSource, PromptSource, ProviderOffers};
let undeclared = ProviderOffers::default();
assert_eq!((undeclared.episode, undeclared.prompts), (EpisodeSource::None, PromptSource::None));
assert!(undeclared.episode_evidence.is_empty() && undeclared.prompts_evidence.is_empty());
let generic: ProviderOffers = serde_json::from_value(serde_json::json!({
"episode": "connection", "episode_evidence": "ADR 0103",
"prompts": "none", "prompts_evidence": "MCP carries no prompt",
})).unwrap();
assert_eq!(generic.episode, EpisodeSource::Connection);Fields§
§episode: EpisodeSourceHow the episode boundary is drawn for this provider.
episode_evidence: StringWhere episode was verified: a vendor documentation URL, or the statement that no
such documentation exists and what was searched for it.
prompts: PromptSourceWhether the raw prompt can be captured below the model.
prompts_evidence: StringWhere prompts was verified, on the same terms as episode_evidence.
Trait Implementations§
Source§impl Clone for ProviderOffers
impl Clone for ProviderOffers
Source§fn clone(&self) -> ProviderOffers
fn clone(&self) -> ProviderOffers
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 ProviderOffers
impl Debug for ProviderOffers
Source§impl Default for ProviderOffers
impl Default for ProviderOffers
Source§fn default() -> ProviderOffers
fn default() -> ProviderOffers
Source§impl<'de> Deserialize<'de> for ProviderOffers
impl<'de> Deserialize<'de> for ProviderOffers
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 ProviderOffers
Source§impl JsonSchema for ProviderOffers
impl JsonSchema for ProviderOffers
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 ProviderOffers
impl PartialEq for ProviderOffers
Source§fn eq(&self, other: &ProviderOffers) -> bool
fn eq(&self, other: &ProviderOffers) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ProviderOffers
impl Serialize for ProviderOffers
impl StructuralPartialEq for ProviderOffers
Auto Trait Implementations§
impl Freeze for ProviderOffers
impl RefUnwindSafe for ProviderOffers
impl Send for ProviderOffers
impl Sync for ProviderOffers
impl Unpin for ProviderOffers
impl UnsafeUnpin for ProviderOffers
impl UnwindSafe for ProviderOffers
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>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.