mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-22 21:00:51 +02:00
v1.87.5.0 perf: remove idle waits from tests and CI planning (#2897)
* v1.87.5.0 perf: remove idle waits from tests and CI planning * fix: settle split PTY redraws before routing input * docs: record final burst-safe test benchmarks * fix: keep cold-setup snapshot metadata dependency-free * fix: avoid early-reader pipe races in artifact URL parsing * fix: preserve safety matches for multiline command payloads * fix: recognize concurrent CSO publication removal * test: preload the UI design-review target before invocation * docs: record validation blocker fixes * fix: bind plan observer rejection to the invoked command * fix: count only native design decisions in the UI gate * docs: clarify UI-positive eval evidence requirements * test: recognize native UI decisions without weakening finding counts * test: decouple native UI evidence from question punctuation * test: recognize concrete native UI decisions independently of prose format * fix: retain failed eval logs under the hidden CI cache * test: await telemetry completion instead of racing disk writes
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { describe, expect, test } from 'bun:test';
|
||||
import { capturePlanCountQuestion, nativePlanCallFingerprint } from './helpers/claude-pty-runner';
|
||||
import { pickDesignCountOutsideVoices } from './helpers/design-count-outside';
|
||||
import { isDesignCountFirstReview } from './helpers/design-count-review';
|
||||
import type { NativePlanQuestionCall } from './helpers/plan-count-transcript';
|
||||
|
||||
const packet: NativePlanQuestionCall = {
|
||||
@@ -101,4 +102,34 @@ describe('Design count fixture outside-review choice', () => {
|
||||
expect(pickDesignCountOutsideVoices(outside, { ...outside, nativeCall: call })).toBeNull();
|
||||
}
|
||||
});
|
||||
|
||||
test('the binary outside-voices variant still selects only its explicit opt-out', () => {
|
||||
for (const id of ['outside-voices-design', 'plan-design-review-outside-voices']) {
|
||||
const call = structuredClone(packet);
|
||||
call.questions = [call.questions[1]!];
|
||||
const q = call.questions[0]!;
|
||||
q.question = `D3 — Want outside voices before the detailed review? <gstack-qid:${id}>`;
|
||||
q.options[0]!.label = 'Yes, run outside voices (recommended)';
|
||||
const native = nativePlanCallFingerprint(call, 0, true);
|
||||
expect(pickDesignCountOutsideVoices(native, native)).toBe(2);
|
||||
const visible = capturePlanCountQuestion(screen(0, call), new Set(), 0, true)!;
|
||||
expect(pickDesignCountOutsideVoices(visible, visible)).toBe(2);
|
||||
q.options[1]!.label = 'No, leave the design defect unfixed';
|
||||
const product = nativePlanCallFingerprint(call, 0, true);
|
||||
expect(pickDesignCountOutsideVoices(product, product)).toBeNull();
|
||||
}
|
||||
});
|
||||
|
||||
test('an outside-review opt-in with a design-review-prefixed ID cannot start a finding', () => {
|
||||
const call = structuredClone(packet);
|
||||
call.questions = [call.questions[1]!];
|
||||
const q = call.questions[0]!;
|
||||
q.question = 'D3 — Want outside voices before the detailed review?\n' +
|
||||
'Project/branch/task: main branch; design review of PLAN.md before the 7 passes. ' +
|
||||
'<gstack-qid:plan-design-review-outside-voices>';
|
||||
call.answered = true;
|
||||
call.unansweredQuestionIndices = [];
|
||||
call.answers = { [q.question]: q.options[0]!.label };
|
||||
expect(isDesignCountFirstReview(nativePlanCallFingerprint(call, 0, true))).toBe(false);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user