Skip to content

Commit f41f9e4

Browse files
schicklingclaude
andcommitted
fix(agents): observedState field order matches the documented contract
reason precedes exit, as the spec example pins; pinned literals updated in the same change. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent af0b0da commit f41f9e4

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

src/agents.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,8 @@ struct ObservedJson<'a> {
118118
ask: &'a str,
119119
harness: Option<&'a str>,
120120
since: Option<u64>,
121-
exit: Option<&'a str>,
122121
reason: Option<&'a str>,
122+
exit: Option<&'a str>,
123123
}
124124

125125
impl<'a> ObservedJson<'a> {
@@ -131,8 +131,8 @@ impl<'a> ObservedJson<'a> {
131131
ask: observed.ask.as_str(),
132132
harness: observed.harness.as_deref(),
133133
since: observed.since_ms,
134-
exit: observed.exit.as_deref(),
135134
reason: observed.reason.as_deref(),
135+
exit: observed.exit.as_deref(),
136136
})
137137
}
138138
}
@@ -346,11 +346,11 @@ mod tests {
346346

347347
assert_eq!(
348348
to_json(&[wedged.clone()], false),
349-
r#"[{"identity":"hetz.worker","status":"busy","name":null,"description":null,"retired":false,"resources":[],"desiredState":"running","desiredStateReason":null,"observedState":{"state":"idle","blockedOn":"none","inputBuffer":"empty","ask":"none","harness":"codex","since":1784653000000,"exit":null,"reason":null}}]"#
349+
r#"[{"identity":"hetz.worker","status":"busy","name":null,"description":null,"retired":false,"resources":[],"desiredState":"running","desiredStateReason":null,"observedState":{"state":"idle","blockedOn":"none","inputBuffer":"empty","ask":"none","harness":"codex","since":1784653000000,"reason":null,"exit":null}}]"#
350350
);
351351
assert_eq!(
352352
to_json(&[wedged], true),
353-
r#"[{"identity":"hetz.worker","status":"busy","name":null,"description":null,"retired":false,"resources":[],"lastActivity":1784653027733.6138,"inbox":0,"desiredState":"running","desiredStateReason":null,"observedState":{"state":"idle","blockedOn":"none","inputBuffer":"empty","ask":"none","harness":"codex","since":1784653000000,"exit":null,"reason":null}}]"#
353+
r#"[{"identity":"hetz.worker","status":"busy","name":null,"description":null,"retired":false,"resources":[],"lastActivity":1784653027733.6138,"inbox":0,"desiredState":"running","desiredStateReason":null,"observedState":{"state":"idle","blockedOn":"none","inputBuffer":"empty","ask":"none","harness":"codex","since":1784653000000,"reason":null,"exit":null}}]"#
354354
);
355355

356356
let mut derived = row("hetz.worker", State::Available, None, false, None, 0);
@@ -366,7 +366,7 @@ mod tests {
366366
});
367367
assert_eq!(
368368
to_json(&[derived], false),
369-
r#"[{"identity":"hetz.worker","status":"available","name":null,"description":null,"retired":false,"resources":[],"desiredState":"running","desiredStateReason":null,"observedState":{"state":"unknown","blockedOn":"unknown","inputBuffer":"unknown","ask":"unknown","harness":"codex","since":null,"exit":null,"reason":"session-dead"}}]"#
369+
r#"[{"identity":"hetz.worker","status":"available","name":null,"description":null,"retired":false,"resources":[],"desiredState":"running","desiredStateReason":null,"observedState":{"state":"unknown","blockedOn":"unknown","inputBuffer":"unknown","ask":"unknown","harness":"codex","since":null,"reason":"session-dead","exit":null}}]"#
370370
);
371371
}
372372
}

0 commit comments

Comments
 (0)