From 3dda286d2b58c735592ef75b3df2cd2f0353fe9b Mon Sep 17 00:00:00 2001 From: damocles Date: Wed, 3 Jun 2026 16:31:48 +0200 Subject: [PATCH] fix(#1147): break wait loop immediately on unknown task id --- hive-ag3nt/src/mcp.rs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/hive-ag3nt/src/mcp.rs b/hive-ag3nt/src/mcp.rs index d98a4977..0432b252 100644 --- a/hive-ag3nt/src/mcp.rs +++ b/hive-ag3nt/src/mcp.rs @@ -1029,13 +1029,16 @@ impl AgentServer { let deadline = tokio::time::Instant::now() + std::time::Duration::from_secs(wait.min(MAX_WAIT_SECS)); loop { - if let Some(task) = crate::bash_runner::read_task(&args.id) { - use crate::bash_runner::TaskStatus; - if matches!( - task.status, - TaskStatus::Done | TaskStatus::TimedOut | TaskStatus::Interrupted - ) { - break; + match crate::bash_runner::read_task(&args.id) { + None => break, // unknown ID — no point waiting + Some(task) => { + use crate::bash_runner::TaskStatus; + if matches!( + task.status, + TaskStatus::Done | TaskStatus::TimedOut | TaskStatus::Interrupted + ) { + break; + } } } if tokio::time::Instant::now() >= deadline {