From 0effb01443067a43c54bcaa107663c0411c10f44 Mon Sep 17 00:00:00 2001 From: Garry Tan Date: Sat, 25 Apr 2026 08:45:17 -0700 Subject: [PATCH] Remove Opus fanout overlay nudge --- CHANGELOG.md | 1 - model-overlays/opus-4-7.md | 5 ----- scripts/preflight-agent-sdk.ts | 9 ++------- test/model-overlay-opus-4-7.test.ts | 3 +-- 4 files changed, 3 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f201dfaf..8b649c22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,7 +19,6 @@ This release adds the reverse of `/codex`: external hosts can now ask Claude for - `hosts/claude.ts`: excludes the Claude outside-voice skill from Claude-host generation. - `test/brain-sync.test.ts`: the `GSTACK_HOME` isolation test now snapshots and preserves the real config file instead of assuming local machine state. -- `model-overlays/opus-4-7.md`: restores the fanout nudge expected by the Opus overlay regression test. - `claude/SKILL.md.tmpl`: uses `mktemp` for diff capture in review/challenge mode instead of a `$$`-based temp path, avoiding collisions across concurrent invocations. ### Changed diff --git a/model-overlays/opus-4-7.md b/model-overlays/opus-4-7.md index 96650f1d..858b9a94 100644 --- a/model-overlays/opus-4-7.md +++ b/model-overlays/opus-4-7.md @@ -1,10 +1,5 @@ {{INHERIT:claude}} -**Fan out explicitly.** When independent file reads, searches, inspections, -or verification steps can run in parallel, launch them in the same turn instead -of serializing them. Keep the work bounded and avoid duplicate probes, but do -not underuse parallel tool calls when the next step benefits from a wider view. - **Effort-match the step.** Simple file reads, config checks, command lookups, and mechanical edits don't need deep reasoning. Complete them quickly and move on. Reserve extended thinking for genuinely hard subproblems: architectural tradeoffs, subtle bugs, diff --git a/scripts/preflight-agent-sdk.ts b/scripts/preflight-agent-sdk.ts index 9902306c..c437e5e4 100644 --- a/scripts/preflight-agent-sdk.ts +++ b/scripts/preflight-agent-sdk.ts @@ -7,7 +7,7 @@ * 3. The SDK event stream contains the types we assume (system init, assistant, * result) with the fields we destructure. * 4. `scripts/resolvers/model-overlay.ts` resolves `{{INHERIT:claude}}` against - * `opus-4-7.md` AND the resolved text contains the "Fan out explicitly" nudge. + * `opus-4-7.md` with no unresolved inheritance directives. * 5. A local `claude` binary exists at `which claude` so binary pinning is possible. * * Run: bun run scripts/preflight-agent-sdk.ts @@ -28,7 +28,7 @@ async function main() { failures.push(msg); }; - // 1. Overlay resolver + fanout nudge text + // 1. Overlay resolver console.log('1. Overlay resolver'); const resolved = readOverlay('opus-4-7'); if (!resolved) { @@ -40,11 +40,6 @@ async function main() { } else { pass('no unresolved INHERIT directives'); } - if (!/Fan out explicitly/i.test(resolved)) { - fail('resolved overlay does not contain "Fan out explicitly" text'); - } else { - pass('fanout nudge text present in resolved overlay'); - } } // 2. Local claude binary exists diff --git a/test/model-overlay-opus-4-7.test.ts b/test/model-overlay-opus-4-7.test.ts index 0fe9f80e..678ba0d6 100644 --- a/test/model-overlay-opus-4-7.test.ts +++ b/test/model-overlay-opus-4-7.test.ts @@ -82,9 +82,8 @@ describe('Opus 4.7 overlay — pacing directive', () => { expect(out).toMatch(/user approval/i); }); - test('resolved overlay keeps Fan out / Effort-match / Literal interpretation nudges', () => { + test('resolved overlay keeps Effort-match / Literal interpretation nudges', () => { const out = generateModelOverlay(makeCtx('opus-4-7')); - expect(out).toContain('Fan out explicitly'); expect(out).toContain('Effort-match the step'); expect(out).toContain('Literal interpretation awareness'); });