From 3e616a8c1e9b5b50625dcc18cacb542b12192e40 Mon Sep 17 00:00:00 2001 From: Manan Bhatt Date: Wed, 29 Jul 2026 22:19:47 +0530 Subject: [PATCH] test(e2e): accept FAILED for #07 aout_custom_retry, matching its siblings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Suite 17 has 27 cases. 19 use validStatuses: BOTH (COMPLETED|FAILED), 5 use ["FAILED"] for raise, and only two use a strict ["COMPLETED"] — #07 aout_custom_retry and #09 aout_custom_fix. #07 is the outlier. Retry is model-dependent: the agent may or may not drop MARKER42 within max_retries, and since conductor-oss/conductor#1365 a retry that exhausts now escalates to raise rather than looping to the turn cap, so the run legitimately ends FAILED. Every other retry case in this file already accepts both outcomes (#3, #6, #12, #15, #21, #24). Aligning #07 with them. This does not weaken the check that matters: notContains "MARKER42" is still asserted whenever the run COMPLETEs, so a leak still fails the test. Deliberately NOT relaxing #27 tout_custom_fix, which also fails on 3.32.0-rc18. #09 aout_custom_fix stays strict and passes, asserting contains: "REDACTED" — so agent-output fix reliably applies and completes, while tool-output fix does not. That asymmetry points at the tool-output fix path server-side, and relaxing the assertion would hide it. --- e2e/test_suite17_guardrail_matrix.test.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/e2e/test_suite17_guardrail_matrix.test.ts b/e2e/test_suite17_guardrail_matrix.test.ts index 28375749..4889aa94 100644 --- a/e2e/test_suite17_guardrail_matrix.test.ts +++ b/e2e/test_suite17_guardrail_matrix.test.ts @@ -728,7 +728,10 @@ const SPECS: Spec[] = [ ], }), prompt: "Look up the marker data for item 'test'.", - validStatuses: ["COMPLETED"], + // retry is model-dependent: the agent may or may not drop MARKER42 within max_retries, + // and since conductor-oss/conductor#1365 a retry that exhausts escalates to raise, so the + // run legitimately ends FAILED. notContains is still asserted whenever it COMPLETEs. + validStatuses: BOTH, notContains: "MARKER42", }, {