@@ -199,6 +199,7 @@ export async function runExecutorWithEval(
199199 let lastResult : ExecutorResponse | undefined ;
200200 let lastVerdict : SupervisorVerdict | undefined ;
201201 let feedback : string | undefined ;
202+ let retriesExhausted = false ;
202203
203204 for ( let attempt = 0 ; attempt <= maxRetries ; attempt ++ ) {
204205 stateStore . recordAgentCall ( requestId , 'executor' ) ;
@@ -220,6 +221,7 @@ export async function runExecutorWithEval(
220221
221222 // Rejected and retries exhausted → stop.
222223 if ( attempt === maxRetries ) {
224+ retriesExhausted = true ;
223225 logger . warn (
224226 {
225227 request_id : requestId ,
@@ -259,7 +261,7 @@ export async function runExecutorWithEval(
259261 }
260262
261263 stateStore . recordExecutorResult ( requestId , lastResult ) ;
262- if ( lastVerdict && ! lastVerdict . approved ) {
264+ if ( lastVerdict && ! lastVerdict . approved && ! retriesExhausted ) {
263265 logger . warn (
264266 {
265267 request_id : requestId ,
@@ -288,6 +290,7 @@ export async function runAideWithEval(
288290 let lastResult : AideResponse | undefined ;
289291 let lastVerdict : SupervisorVerdict | undefined ;
290292 let feedback : string | undefined ;
293+ let retriesExhausted = false ;
291294
292295 for ( let attempt = 0 ; attempt <= maxRetries ; attempt ++ ) {
293296 stateStore . recordAgentCall ( requestId , 'aide' ) ;
@@ -307,6 +310,7 @@ export async function runAideWithEval(
307310 if ( ! verdict || verdict . approved ) break ;
308311
309312 if ( attempt === maxRetries ) {
313+ retriesExhausted = true ;
310314 logger . warn (
311315 {
312316 request_id : requestId ,
@@ -343,7 +347,7 @@ export async function runAideWithEval(
343347 }
344348
345349 stateStore . recordAideResult ( requestId , lastResult ) ;
346- if ( lastVerdict && ! lastVerdict . approved ) {
350+ if ( lastVerdict && ! lastVerdict . approved && ! retriesExhausted ) {
347351 logger . warn (
348352 {
349353 request_id : requestId ,
0 commit comments