pub struct StatusPayload {
pub status: String,
pub modified_files: Vec<String>,
pub message: Option<String>,
pub cli: Option<String>,
pub phase: Option<String>,
pub detail: Option<Value>,
}Expand description
Payload for agent.status messages.
cli, phase, and detail are optional and serialise with
skip_serializing_if = "Option::is_none", so legacy payloads without these
fields deserialise as None and new payloads with None omit the field
from the wire bytes — preserving v0.5.0 wire compatibility byte-for-byte.
Eq is intentionally not derived: detail carries a
serde_json::Value, which is PartialEq but not Eq.
Fields§
§status: StringCurrent status label (e.g. "working", "idle").
modified_files: Vec<String>List of files modified by the agent.
message: Option<String>Optional human-readable message.
cli: Option<String>Optional CLI name (e.g. "claude") identifying the CLI running in the
publishing agent’s pane. The supervisor pane resolves this from
[supervisor].cli configuration; coding-agent panes typically omit
the field and rely on the broker’s watch-target map.
phase: Option<String>Optional free-form phase label (e.g. "watching", "merging") for
the publishing agent’s current lifecycle phase. An open string — the
broker does not validate the set of values, so the supervisor’s phase
taxonomy (sweep, audit, merge, feedback, intent_watch,
learnings, idle, checkpoint) can grow without a wire change. The
dashboard prefers this label over the message-type-derived
status_label() when rendering the supervisor’s row.
detail: Option<Value>Optional phase-specific structured detail body. Free-form JSON; the
broker does not validate its shape. Populated by the supervisor’s
introspection emissions (e.g. { "branch": "feat/x", "audit_step": "tests" } for phase = "audit") and surfaced by the MCP
get_session_status tool. Consumers treat an unrecognised shape
gracefully — extracting documented fields and ignoring the rest.
Trait Implementations§
Source§impl Clone for StatusPayload
impl Clone for StatusPayload
Source§fn clone(&self) -> StatusPayload
fn clone(&self) -> StatusPayload
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 StatusPayload
impl Debug for StatusPayload
Source§impl Default for StatusPayload
impl Default for StatusPayload
Source§fn default() -> StatusPayload
fn default() -> StatusPayload
Source§impl<'de> Deserialize<'de> for StatusPayload
impl<'de> Deserialize<'de> for StatusPayload
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>,
Source§impl PartialEq for StatusPayload
impl PartialEq for StatusPayload
Source§fn eq(&self, other: &StatusPayload) -> bool
fn eq(&self, other: &StatusPayload) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for StatusPayload
impl Serialize for StatusPayload
impl StructuralPartialEq for StatusPayload
Auto Trait Implementations§
impl Freeze for StatusPayload
impl RefUnwindSafe for StatusPayload
impl Send for StatusPayload
impl Sync for StatusPayload
impl Unpin for StatusPayload
impl UnsafeUnpin for StatusPayload
impl UnwindSafe for StatusPayload
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>,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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