feat(mcp): expose thread organization commands - #10554
Merged
juliusmarminge merged 1 commit intoSep 7, 2026
Merged
Conversation
Contributor
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This PR adds and production-registers a new destructive MCP tool that can mutate thread lifecycle and organization state through multiple commands. The access checks and tests reduce risk, but the new user-facing capability and persisted side effects warrant human review. No code changes detected at You can add or adjust custom eligibility rules. Learn more. |
Contributor
Thread transfer impact
This comment will update automatically after the next completed run. |
This was referenced Sep 7, 2026
juliusmarminge
force-pushed
the
agents/mcp-thin/thread-organization
branch
2 times, most recently
from
September 7, 2026 20:40
f2c39f3 to
6613b5c
Compare
juliusmarminge
changed the base branch from
t3code/codex-turn-mapping
to
agents/mcp-shared/attachment-intake
September 7, 2026 20:40
juliusmarminge
force-pushed
the
agents/mcp-thin/thread-organization
branch
from
September 7, 2026 20:48
6613b5c to
c6f5c97
Compare
juliusmarminge
force-pushed
the
agents/mcp-thin/thread-organization
branch
from
September 7, 2026 20:55
c6f5c97 to
c03cefc
Compare
juliusmarminge
merged commit Sep 7, 2026
df3ebef
into
t3code/codex-turn-mapping
35 of 45 checks passed
juliusmarminge
added a commit
that referenced
this pull request
Sep 8, 2026
juliusmarminge
added a commit
that referenced
this pull request
Sep 8, 2026
juliusmarminge
added a commit
that referenced
this pull request
Sep 8, 2026
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.
Part 4/16 of the shared-core and MCP stack. Based on #10580. Next: #10555.
Agents cannot invoke the existing pin, snooze, settle, archive and unread commands through MCP. This adds one scoped tool that dispatches those commands through ThreadManagementService.
This bottom layer also adds the shared caller/project/mode checks, fixed public errors and core MCP tests reused above. No lifecycle or command-service implementation changes. Deferred organization is not included.
MCP-only rebuild of #8676, preserving attribution to Julius Marminge's original work. Original branches remain available for separate service follow-ups.
Validation: The composed stack passes 94 tests across 12 focused files, including shared core MCP and real MCP/V2 integration, attachment intake, project RPC/service contracts, and client model command selection. Server/contracts/shared/client-runtime typechecks and targeted format/lint/diff checks pass. New behavior coverage lives with the shared operation; no per-tool mock suite was added. Current-head CI is shown below.
Layer size: 8 files, +308/-3. No domain-service production implementation or documentation files change in this MCP layer.
Prepared with Codex in the OpenAI agent runtime.
Note
Add
t3_thread_organizeMCP tool to dispatch thread organization commandst3_thread_organizetool schema and toolkit, then registers live handlers that map pin, unpin, snooze, unsnooze, settle, unsettle, archive, unarchive, and mark-unread actions to orchestration commandsparent_not_active\n- Writable-thread validation fails when the target thread's runtime or interaction mode would broaden the caller's mode; missingsnoozedUntilreturnsinvalid_requestand dispatch failures return the fixed publicorchestration_errorpayloadthread_not_foundAttachmentClaimError,ThreadLaunchError, andServerRuntimeStartupErrorassertLiveCaller; any caller lacking an active run or owned by a different provider instance will receiveparent_not_activewhere they previously may have succeededMacroscope summarized c03cefc.