From ac2b3ec2bbbb02585e527f0507a08f98cc761957 Mon Sep 17 00:00:00 2001 From: jif-oai Date: Thu, 16 Oct 2025 16:56:54 +0100 Subject: [PATCH] A1 --- codex-rs/cli/src/infty/progress.rs | 9 +++++++++ codex-rs/codex-infty/src/progress.rs | 3 +++ codex-rs/codex-infty/src/roles/solver.rs | 9 ++++++++- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/codex-rs/cli/src/infty/progress.rs b/codex-rs/cli/src/infty/progress.rs index da2be5bc1e..96b51fe52d 100644 --- a/codex-rs/cli/src/infty/progress.rs +++ b/codex-rs/cli/src/infty/progress.rs @@ -106,6 +106,15 @@ impl ProgressReporter for TerminalProgressReporter { tracing::info!("Agent Message: {agent_msg:?}"); } + fn invalid_solver_signal(&self, raw_message: &str) { + let heading = "Warning".yellow().bold(); + let body = format!( + "solver reply did not match expected JSON signal; got: {}", + raw_message + ); + println!("{} {} {}", self.timestamp(), heading, body); + } + fn direction_request(&self, prompt: &str) { let prompt_line = format!("{}", prompt.yellow()); self.print_exchange("solver", "director", vec![prompt_line], true); diff --git a/codex-rs/codex-infty/src/progress.rs b/codex-rs/codex-infty/src/progress.rs index 51928fd7d9..41be077b03 100644 --- a/codex-rs/codex-infty/src/progress.rs +++ b/codex-rs/codex-infty/src/progress.rs @@ -12,6 +12,9 @@ pub trait ProgressReporter: Send + Sync { fn solver_event(&self, _event: &EventMsg) {} fn role_event(&self, _role: &str, _event: &EventMsg) {} fn solver_agent_message(&self, _message: &AgentMessageEvent) {} + /// Called when the solver emits a message that failed to parse as a valid + /// JSON signal according to the expected `solver_signal_schema`. + fn invalid_solver_signal(&self, _raw_message: &str) {} fn direction_request(&self, _prompt: &str) {} fn director_response(&self, _directive: &DirectiveResponse) {} fn verification_request(&self, _claim_path: &str, _notes: Option<&str>) {} diff --git a/codex-rs/codex-infty/src/roles/solver.rs b/codex-rs/codex-infty/src/roles/solver.rs index 19d554f89f..bfd3079315 100644 --- a/codex-rs/codex-infty/src/roles/solver.rs +++ b/codex-rs/codex-infty/src/roles/solver.rs @@ -99,7 +99,14 @@ impl SolverRole { Some(Self::final_delivery_schema()), ) .await?; - let _ = session::await_first_idle(self.hub.as_ref(), &handle, Duration::from_secs(5), None) + // Allow more time for the solver to start emitting the + // finalization signal before timing out as "idle". + let _ = session::await_first_idle( + self.hub.as_ref(), + &handle, + Duration::from_secs(120), + None, + ) .await?; Ok(()) }