feat(mcp): update thread metadata - #8690
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 |
There was a problem hiding this comment.
Effect service conventions: one finding in the new ThreadMetadataMcpService module. Everything else (namespace imports of effect/*, ThreadMetadataMcpService.layer used as a namespace member in McpHttpServer.ts, dependencies acquired via yield* in make, no ManagedRuntime/runPromise at the service boundary) matches the conventions.
Posted via Macroscope — Effect Service Conventions
Thread transfer impact
This comment will update automatically after the next completed run. |
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This PR adds a new production MCP tool that lets orchestration-authorized agents mutate durable thread metadata, link pull requests, and trigger asynchronous title generation. Its expanded capability surface and downstream side effects are broader than a small isolated change. No code changes detected at You can add or adjust custom eligibility rules. Learn more. |
2ce13db to
4736cd6
Compare
a965fc4 to
13b1c0a
Compare
13b1c0a to
aeabb89
Compare
aeabb89 to
1d3256b
Compare
Problem
Provider agents can read thread history but cannot safely rename a thread, regenerate its title, or link and unlink a pull request through the app-owned MCP workflow.
Change
Add
t3_thread_updatewith a provider-compatible object-root schema and typed metadata actions. A focused service keeps updates in the current project, uses V2 commands and idempotent receipts, and returns committed title, title-regeneration, and linked-PR state. Thread list/read expose the corresponding read path; docs and tool presentation cover the user-visible behavior.Behavior
threadIddefaults to the calling thread. Rename requirestitle; link requires repository, number, and URL; regenerate and unlink take no action-specific payload. Branch and workspace mutations remain outside this tool.Validation
Dependency
Depends on #8689, which fixes V2 linked-pull-request persistence. Native stack #8709: #8689 → #8690, rooted at
agents/mcp-controls/base-490318a. It remains independent from thread organization stack #8708.Implemented by GPT-5.6-Sol via Codex in T3 Code.
Note
Add
t3_thread_updateMCP tool for thread metadata actionsThreadMetadataMcpServiceand thet3_thread_updateorchestrator MCP tool supporting four actions: rename, title regeneration, pull-request link, and pull-request unlinkthread.metadata.updatecommand handling in Orchestrator.ts to persist or clear a linked pull request field in the resulting eventOrchestratorMcpThreadListItemandOrchestratorMcpThreadDetailschemas in orchestratorMcp.ts gain new nullable fields; existing MCP consumers that validate strictly against these schemas must accept the added fieldsMacroscope summarized aeabb89.
Note
Medium Risk
Introduces a new mutating MCP surface that dispatches durable orchestration commands and links external PR metadata; mistakes in scoping or validation could affect thread metadata across a project.
Overview
Adds
t3_thread_updateso provider agents can mutate thread metadata through the orchestrator MCP toolkit: rename, regenerate title, link pull request, and unlink pull request. Workspace/branch changes stay out of scope.A new
ThreadMetadataMcpServiceenforces orchestration capability, resolves the target thread in the calling project (defaulting to the caller), builds stablethread.metadata.updatecommands withclientRequestIdidempotency, and returns committed title,titleRegeneration, andlinkedPullRequeststate.OrchestratorMcpServicethread list/detail responses now surfacelinkedPullRequest(and in-flight title regeneration on read).Contracts live in
threadMetadataMcp.tswith action-specific validation (HTTP(S) PR URLs, title length, surrogate-safe idempotency keys). Docs, UI tool presentation, and integration/unit tests cover the new tool and read path.Reviewed by Cursor Bugbot for commit aeabb89. Bugbot is set up for automated code reviews on this repo. Configure here.