From 9889f274916cbd4f3226ebec662b1946a34cb239 Mon Sep 17 00:00:00 2001 From: Garry Tan Date: Sat, 15 Aug 2026 00:09:51 -0700 Subject: [PATCH] fix(eval-harness): eng-review qid boundary matches the real skill-name prefix Live qids render as gstack-qid:plan-eng-review- ({skill}-{slug} convention); the boundary anchored eng-review- immediately after the colon and never matched, leaving the batching counter blind while the transcript showed per-finding questions being asked one by one. --- test/helpers/claude-pty-runner.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/test/helpers/claude-pty-runner.ts b/test/helpers/claude-pty-runner.ts index 4f39570f7..2a6066d04 100644 --- a/test/helpers/claude-pty-runner.ts +++ b/test/helpers/claude-pty-runner.ts @@ -1257,10 +1257,12 @@ export const engStep0Boundary: Step0BoundaryPredicate = (fp) => ) || // plan-eng-review's Step 0 may legitimately end with NO scope-reduction / // learnings AUQ. When it does, the first answered review-phase question — - // tagged by the question-tuning resolver — + // tagged ({skill}-{slug} convention) — // must fire the boundary, or every per-finding AUQ stays classified - // preReview and the multi-finding batching counter reads 0. - /gstack-qid:\s*eng-review-/i.test(fp.promptSnippet); + // preReview and the multi-finding batching counter reads 0. Anchor allows + // the skill-name prefix; live qids observed: plan-eng-review-jitter, + // plan-eng-review-idempotency, plan-eng-review-todos-e2e-concurrent. + /gstack-qid:\s*(?:plan-)?eng-review-/i.test(fp.promptSnippet); export const designStep0Boundary: Step0BoundaryPredicate = (fp) => /design system|design posture|design score|first dimension/i.test(