Repository navigation
fix(fork): drop the "subagent or child" line from the orchestration prompt - #90
Merged
Merged
Conversation
…rompt Every thread gets the orchestration prompt, delegated workers included. Its last bullet told a subagent or child to do the work itself and start no subagents unless its task said to. Workers read that line as aimed at themselves, so they never started the subagents that some skills need. Remove the bullet. The first orchestration section now ends with the bullet on following a running delegate's `next`. The Claude system append and the Codex additional context each shrink by the bullet's 101 bytes, and agentContextBudget.json takes the new measured values. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request removes the bullet "If you are a subagent or child, do the work yourself. Start no subagents unless your task says to." from the orchestration prompt,
T3_CODE_ORCHESTRATION_SECTIONSinpackages/provider-core/src/server/orchestrationInstructions.ts.Every thread with T3 tools gets this prompt, including delegated child threads. These children read the bullet as aimed at themselves, so they never start the subagents that some multi-agent skills need. The bullet came from upstream in pingdotgg#24850, and no upstream commit or pull request says why.
After this change, a delegated child gets no prompt rule against starting subagents. Whether it starts one depends on its task and its other instructions. Nothing else in the prompt changes. The prompt goes into the Claude system prompt append, the Codex additional context, and the ACP, OpenCode, Cursor, and Pi prompts. Native subagents never see it.
agentContextBudget.jsontakes the two new sizes, each 101 bytes smaller.The server and provider-core tests for the prompt and its size budget pass, and so does
check:changed origin/main. The model-behavior evals were not run. To undo the change, revert the commit.Sizes, tests, and the eval cases left as upstream
Sizes.
claudeSystemAppendBytesgoes from 5366 to 5265, andcodexAdditionalContextBytesgoes from 7096 to 6995. Each drop is the removed bullet's 101 bytes.mcpToolListJsonBytesis unchanged.Tests. In
apps/server,AgentContextBudget.test.ts,CodexDeveloperInstructions.test.ts,generalRoleParity.test.ts, andClaudeAdapterV2.test.tspass, with 361 tests in the 4 files. Inpackages/provider-core, the 5 tests inorchestrationInstructions.test.tspass.check:changed origin/mainexits with code 0. It runs format, lint, knip, typecheck, and tests.Eval cases. Three cases in
evals/mcp-tool-use/cases/threads-vs-tasks.ndjsonquote the removed bullet in theirrulefield:tt-child-no-unprompted-thread,tt-native-subagent-no-thread-for-rewrite, andtt-child-authorized-thread. No code readsrule, and the fork does not run these evals. This pull request leaves the cases as upstream wrote them, so upstream merges stay free of conflicts in that file.tt-child-no-unprompted-threadlistsAgentinnotCalls, so in the fork that one expectation no longer has a prompt line behind it.