Repository navigation
fix(pair): refuse a Codex lead, name the pair tools, and end paired mode when the pair is off - #638
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
This branch was successfully deployed
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.
What
A live end-to-end run of pair mode found that a Codex lead does not pair, while a Claude lead does. This makes the product say so, and tightens what a paired lead is told.
pair_startrefuses it and the composer's Pair control shows it as unavailable with a reason, the same way Antigravity already was. Both still work as the executor.pair_handoff,pair_awaitandpair_stopon thet3-codeMCP server, tells the lead to search forpair_handoffif it is not listed, and says that an agent started with the harness's own tools (Agent, Task,spawn_agent, acollaborationnamespace) is not the executor.paircapability was granted whenever the executor thread existed, and turning off a pair with history archives the executor instead of deleting it. That lead would have kept the Agent tool denied and the pair protocol in its instructions. The capability now needs an executor that is not archived, which is what the internals doc already said. Found by reading the code while testing, covered by a new case inProviderService.test.ts.features.multi_agent_v2=false. Kept for Codex threads that already have an executor; it is not enough on its own (below).Evidence
Run against an isolated server with real providers, task: "brief your executor to create a file, wait, verify".
collaboration.spawn_agent/followup_task/wait_agent, the work ran on the lead's model, and the pair executor never got a session.codex exec -c features.multi_agent=false -c features.multi_agent_v2=falsestill lists all sixcollaboration.*tools, so the flags flip incodex features listwithout removing the tools.agents.max_depth=0does not remove them either.<pylon_pair>block and not3-codetools, although the provider log showst3-codereachingreadyand the protocol inside the turn's developer instructions. Not yet explained; tracked in feat: pair mode, a linked lead/executor thread pair replacing fan-out delegation #622.pair_handoffandpair_await, the executor's own session wrote the file, the lead verified it, the control read "Finished", and the wake message rendered as the compact notice.Verification
vp test runon the pair toolkit,RuntimeInstructions.test.ts,CodexAdapter.test.tsandpackages/client-runtime/src/state: 710 passed.ProviderService.test.ts: 138 passed.t3,@t3tools/client-runtime,@t3tools/web: 0 errors. Lint on the changed files: clean.Known limits
pair_await. Follow-up in feat: pair mode, a linked lead/executor thread pair replacing fan-out delegation #622.Part of #622.
Model: Claude Fable 5.1, in Pylon via the Claude Code harness.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.