pub struct ModelAssignment {
pub agent_id: String,
pub harness: String,
pub model: Option<String>,
pub model_provider: Option<String>,
pub model_fallback_from: Option<String>,
pub model_warning: Option<String>,
pub reasoning_effort: Option<String>,
pub model_source: String,
pub reasoning_source: String,
}Expand description
One resolved agent x harness assignment. None means “auto” — the managed
field is absent and the harness runtime default applies.
model_provider is codex-only: the catalog/model-registry.json
namespace that classified model (e.g. “ollama”, “openrouter”), or
None for the default provider (OpenAI first-party) or non-codex
harnesses. reasoning_effort is projected as codex.toml
model_reasoning_effort or, for claude-code, the subagent frontmatter
effort: key.
model_fallback_from / model_warning surface provider lifecycle
(status: "retiring"|"retired" in catalog/model-registry.json):
model_fallback_from is the originally-pinned model id when
scripts/model-policy.mjs substituted a “retired” model’s documented
successor (chain-followed) in model, else None. model_warning is
the fully-composed, ready-to-display warning text for a “retiring” pin or
a “retired” substitution, else None. Both arrive pre-composed from the
Node policy engine — the TUI never derives lifecycle logic itself, it
only renders what the engine already decided.
Fields§
§agent_id: String§harness: String§model: Option<String>§model_provider: Option<String>§model_fallback_from: Option<String>§model_warning: Option<String>§reasoning_effort: Option<String>§model_source: String§reasoning_source: StringTrait Implementations§
Source§impl Clone for ModelAssignment
impl Clone for ModelAssignment
Source§impl Debug for ModelAssignment
impl Debug for ModelAssignment
Source§impl<'de> Deserialize<'de> for ModelAssignment
impl<'de> Deserialize<'de> for ModelAssignment
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>,
Auto Trait Implementations§
impl Freeze for ModelAssignment
impl RefUnwindSafe for ModelAssignment
impl Send for ModelAssignment
impl Sync for ModelAssignment
impl Unpin for ModelAssignment
impl UnsafeUnpin for ModelAssignment
impl UnwindSafe for ModelAssignment
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<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