mirror of
https://github.com/openai/codex.git
synced 2026-11-13 14:46:14 +00:00
Report completed sub-agent activity on parent turns (#40437)
## Why A Multi-Agent V2 child can finish after the parent turn that spawned it, so its successful completion needs to remain associated with that parent turn in notifications and history. ## What changed - Add `completed` to `SubAgentActivityKind` and emit the corresponding started and completed item events on the spawning parent turn when a child succeeds. - Persist completed activity as a canonical turn item in both legacy and paginated history, and expose it through app-server history and schemas. - Render completed activity as terminal in the TUI without counting it as a separate tool call or tool-runtime event. ## Testing - Cover successful completion in legacy and paginated history, late updates to completed parent turns, TUI rendering, analytics, and rollout tracing. - Verify that terminal child errors do not emit completed activity. GitOrigin-RevId: 6c71eb8b10e7327611c6af84f70e294e27d94d02
This commit is contained in:
1 parent
7781f0a5a8
commit
b705b6b076
40 files changed
+466
-39
No files matched your search
@@ -50,6 +50,20 @@ fn sub_agent_activity_is_a_terminal_tool_runtime_event() -> anyhow::Result<()> {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn completed_sub_agent_activity_is_not_a_tool_runtime_event() -> anyhow::Result<()> {
|
||||
let event = EventMsg::SubAgentActivity(SubAgentActivityEvent {
|
||||
event_id: "child-turn-completed".to_string(),
|
||||
occurred_at_ms: 1234,
|
||||
agent_thread_id: ThreadId::new(),
|
||||
agent_path: AgentPath::try_from("/root/reviewer").map_err(anyhow::Error::msg)?,
|
||||
kind: SubAgentActivityKind::Completed,
|
||||
});
|
||||
|
||||
assert!(tool_runtime_trace_event(&event).is_none());
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn exec_command_trace_payloads_use_inferred_native_cwd() -> anyhow::Result<()> {
|
||||
// Convention inference depends on the URI spelling, not the test host, so exercise both
|
||||
|
||||
Reference in new issue
Block a user