feat(mcp): organize thread state - #8676
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Warning Your free Security trial is over. An organization admin can activate Security or dismiss this notice. Comment |
Thread transfer impact
This comment will update automatically after the next completed run. |
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — The PR adds agent-facing thread organization and permanent deletion, including operations that can alter durable state, archive work, cancel active activity, or remove threads. It also expands the shared MCP contract and orchestration runtime, making this broader than a low-risk metadata or documentation change. You can add or adjust custom eligibility rules. Learn more. |
48ed246 to
29d7c1e
Compare
|
Macroscope has since reviewed this pull request. An earlier review was skipped by a cost limit; a review has now completed, so that notice no longer applies. |
29d7c1e to
938895b
Compare
938895b to
ecd8cc0
Compare
ff5f07a to
35dfd51
Compare
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
|
Superseded as the active MCP proposal by #10554 in the rebuilt MCP stack, following the maintainer request to review thin service wrappers separately from service hardening. This is not a full feature-parity replacement. 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. Closing this mixed proposal without merging. The remote branch |
Agents can inspect thread run state through MCP, but they cannot see or change the organization state users manage in the sidebar.
This change adds shell-backed organization fields and filters to thread list/read, plus typed tools for pinning, snoozing, settling, archiving, read state, and deletion. Mutations use the existing serialized V2 commands and return durable resulting state. Archived discovery stays on the shell snapshot path without loading transcripts.
Behavior remains current-project scoped. The V2 decider owns lifecycle rules, and MCP refuses to archive a thread with a pending approval or user-input request. The current V2 settlement behavior, including snooze wake-up ordering, is preserved.
Focused validation:
ThreadSettlementServicevp run --filter t3 typecheckvp run --filter @t3tools/contracts typecheckvp run --filter @t3tools/shared typecheckvp lint,vp fmt --check, andgit diff --checkReview base:
t3code/codex-turn-mappingat415ed0f73b97f1655b6282492f81d0b2bba3a9cc. Native stack: #8676 → #8683.Implemented by GPT-5.6-Sol via Codex in T3 Code.
Note
Add
t3_thread_organizeandt3_thread_deleteMCP tools and extend thread listing with organization statet3_thread_deletewith idempotent handling and calling-project scope enforcementt3_thread_listandt3_thread_readresponses with branch, workspace, pin, settlement, snooze, archive, and read-state fields; read state is computed from the latest run completion watermark without loading transcriptsmakeOrchestratorthat rejects constrainedthread.archivecommands when pending runtime requests exist, leaving archive state and request status unchangedlistProjectThreadsin ThreadManagementService.ts gains an optionalincludeArchivedparameter; default listing still returns active shells only. Archive commands carryingrequireNoPendingRuntimeRequestswill now raiseOrchestratorDispatchErrorwhen pending approval or user-input runtime requests exist.Macroscope summarized 35dfd51.