From 6f998e42992512424d715e0b6a34853a34d6e7c3 Mon Sep 17 00:00:00 2001 From: garrytan Date: Tue, 29 Sep 2026 15:31:34 +0000 Subject: [PATCH] test: supply the split-overflow fixture's HOLD SCOPE mode as a prerequisite The split actor always answered 0E's mode question with HOLD SCOPE. The skill skips that question on an explicit choice, so the fixture now states it and the attempt starts at the five candidate decisions (about 1.5 min earlier in run 36385945043). Candidates, actor policy, floor and semantic evaluation are unchanged; the fixture test pins the supplied choice. --- test/ceo-finding-fixture.test.ts | 3 +++ test/fixtures/forcing-finding-seeds.ts | 1 + test/skill-e2e-plan-ceo-split-overflow.test.ts | 7 +++++-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/test/ceo-finding-fixture.test.ts b/test/ceo-finding-fixture.test.ts index d96a2e4b5..cc6fc8832 100644 --- a/test/ceo-finding-fixture.test.ts +++ b/test/ceo-finding-fixture.test.ts @@ -363,6 +363,9 @@ describe('CEO finding fixture establishes scope before launch', () => { expect(committed).toBe(input); expect(committed).toContain(target); expect(committed).toContain('Proceed directly to the requested CEO review; skip the optional /office-hours prerequisite.'); + // Supplied prerequisite: the split actor always chose HOLD SCOPE; an explicit + // choice skips 0E's mode question so the attempt starts at the candidates. + expect(committed).toContain('Use HOLD SCOPE mode for this review.'); expect(committed.match(/^## E[1-5]\)/gm)).toHaveLength(5); expect(fs.readFileSync(path.join(root, 'CLAUDE.md'), 'utf8')).not.toContain('Payment processing'); } finally { fs.rmSync(root, { recursive: true, force: true }); } diff --git a/test/fixtures/forcing-finding-seeds.ts b/test/fixtures/forcing-finding-seeds.ts index ab0f9ac80..6a18bd0fe 100644 --- a/test/fixtures/forcing-finding-seeds.ts +++ b/test/fixtures/forcing-finding-seeds.ts @@ -146,6 +146,7 @@ export const FORCING_BATCHING_ENG = [ export const FORCING_SPLIT_OVERFLOW_CEO = [ 'Please review this plan and help me decide scope. Write your plan-mode plan to /tmp/gstack-test-plan-ceo-split-overflow.md (use Edit/Write to that exact path).', 'Proceed directly to the requested CEO review; skip the optional /office-hours prerequisite.', + 'Use HOLD SCOPE mode for this review.', '', '# Plan: Pick which chat-platform integrations to ship this quarter', '', diff --git a/test/skill-e2e-plan-ceo-split-overflow.test.ts b/test/skill-e2e-plan-ceo-split-overflow.test.ts index 22ae6247c..d7f81222f 100644 --- a/test/skill-e2e-plan-ceo-split-overflow.test.ts +++ b/test/skill-e2e-plan-ceo-split-overflow.test.ts @@ -29,8 +29,11 @@ * which is exactly the shape that hits Conductor's 4-option cap and * triggers the new split-vs-drop guidance. * - * Tier: periodic (~25 min, ~$0.30-$5.00/run depending on agent path). - * Sequential by default. + * The fixture supplies the HOLD SCOPE mode the actor always chose, so 0E skips + * its mode question. Run 36385945043 acknowledged all five candidates 8m55s + * after launch (mode question included); collection stops there. + * + * Tier: periodic (25 min budget; ~8-9 min expected). Sequential by default. */ import { test } from 'bun:test';