pub struct JobProgress {
pub run_id: String,
pub status: RunStatus,
pub stdout_chunk: Option<String>,
pub stderr_chunk: Option<String>,
pub exit_code: Option<i32>,
}Expand description
Push payload for jobs.progress. Sent on:
- first move from Queued → Running
- each stdout / stderr chunk (split to fit the 1 MiB framing cap — SPEC §2.12.2)
- terminal state transition (Completed / Failed / Killed) with
exit_codepopulated
The reference shape is SPEC §2.12.11’s JobProgress struct.
Fields§
§run_id: StringThe run_id minted by jobs.execute.
status: RunStatus§stdout_chunk: Option<String>Newly-produced stdout, UTF-8 decoded (tolerant — see
kanade-agent::process::capture_tolerant). None when this
push is a pure status transition; Some("") would never be
emitted (the agent omits the field instead).
stderr_chunk: Option<String>Newly-produced stderr. Same conventions as stdout_chunk.
exit_code: Option<i32>Populated on the terminal push only. Agents stamp the actual
process exit code from the child. Synthetic non-process
outcomes (timeout, remote kill) are surfaced as Some(-1)
with the status field carrying the distinguishing
information (Failed / Killed), not via a reserved
exit-code number.
Note: the sibling ExecResult wire (manifest exec →
backend, NOT this KLP flow) DOES partition synthetic skip
codes (124 / 125 / 126 / 127) for the agent’s pre-exec
staleness gates. See the doc on
kanade-agent::commands::publish_staleness_skipped for
the table. JobProgress’s exit_code does not share that
partition.
Trait Implementations§
Source§impl Clone for JobProgress
impl Clone for JobProgress
Source§fn clone(&self) -> JobProgress
fn clone(&self) -> JobProgress
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 JobProgress
impl Debug for JobProgress
Source§impl<'de> Deserialize<'de> for JobProgress
impl<'de> Deserialize<'de> for JobProgress
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 JsonSchema for JobProgress
impl JsonSchema for JobProgress
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 more