From 1137cba7ac2a5c96810bdc19a59eca924587b6fc Mon Sep 17 00:00:00 2001 From: garrytan Date: Wed, 30 Sep 2026 23:49:53 +0000 Subject: [PATCH] test(plan-mode-no-op): require prose evidence before a waiting verdict ends eng/design runs (carried byte-identical from #3002) With the prose fallback forced, the gate renders as a lettered menu; a judge 'waiting' verdict on a spinner-only frame ended the run as 'asked' before the menu rendered, so the scope-gate check failed on unchanged behavior. --- test/skill-e2e-plan-mode-no-op.test.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/skill-e2e-plan-mode-no-op.test.ts b/test/skill-e2e-plan-mode-no-op.test.ts index f2e19ce7d..7cfcd1813 100644 --- a/test/skill-e2e-plan-mode-no-op.test.ts +++ b/test/skill-e2e-plan-mode-no-op.test.ts @@ -70,9 +70,13 @@ describeE2E('plan-mode-info no-op outside plan mode (gate regression)', () => { // that shape CONTRACTUAL ("use exactly this shape" in the template); // native AskUserQuestion could render terse option labels that a // correct run would fail on (red-team finding). + // requireProseEvidence: with the prose fallback forced, the gate + // renders as a lettered menu, so a judge 'waiting' verdict on a + // spinner-only frame must not end the run as 'asked' before that + // menu has rendered. ...(skillName === 'plan-ceo-review' ? {} - : { extraArgs: ['--disallowedTools', 'AskUserQuestion'] }), + : { extraArgs: ['--disallowedTools', 'AskUserQuestion'], requireProseEvidence: true }), }); if (obs.outcome === 'silent_write' || obs.outcome === 'exited' || obs.outcome === 'timeout') {