Skip to content

docs(poteto-mode): note the workspaceStrategy -32602 fallback in autopilot-full step 2 - #48

Open
byvict wants to merge 1 commit into
chhoumann:mainfrom
byvict:docs/autopilot-full-workspace-strategy-32602
Open

byvict wants to merge 1 commit into
chhoumann:mainfrom
byvict:docs/autopilot-full-workspace-strategy-32602

Conversation

@byvict

@byvict byvict commented Oct 24, 2026 •

Copy link
Copy Markdown

Summary

One addition in step 2 of autopilot-full.md. It tells the root what a -32602 rejection of workspaceStrategy means and what to do instead. Nothing else changes.

Observed failure

On 2026-10-24, a Muse root thread in T3 Code followed step 2 and called t3_thread_launch with workspaceStrategy: {type: "worktree", baseRef, branch, startFromOrigin}. The MCP server rejected every attempt.

t3-code: MCP `tools/call` failed with code -32602: Invalid parameters for tool 't3_thread_launch': Expected { readonly "type": "root", ... } | { readonly "type": "existing_worktree", ... } | { readonly "type": "worktree", ... } | null
  at ["workspaceStrategy"]

The provider log (events.9aa36376-2150-47f2-989b-774fda68b4a7.log, thread 9aa36376-2150-47f2-989b-774fda68b4a7) shows seven distinct rejected calls between 08:35:21Z and 08:36:51Z. Each appears twice (item/started, item/completed), so fourteen raw log lines. In every payload, workspaceStrategy arrived as a JSON string ("workspaceStrategy":"{\"type\": \"worktree\", ...}"). In the same payloads, modelSelection arrived as a proper object. Variants with existing_worktree and with compact JSON failed the same way.

The stringified value is already present in Muse's own session log. Which layer produced it (model emission or the MSP-to-MCP bridge) cannot be told from the logs. The server behaved correctly: it rejected text where the schema declares an object. A separate bug report with the verbatim log lines goes to Muse through its /feedback channel. No fix is expected from this repo.

Workaround provenance

The root in that run recovered without the binding. It pre-created the worktree with git, launched the owner without workspaceStrategy (successful at 08:37:27Z), named the worktree in the brief as the owner's only write path, and made the owner's first action verify the worktree before any write. The program then ran to completion on brief discipline instead of the server-enforced binding.

The added text encodes exactly that recovery, so the next root that hits -32602 recognizes it instead of retrying payload variants.

Verification

  • git diff shows one file, one line: the added text at the end of step 2's first paragraph, where the launch is prescribed.
  • Docs-only change; no runtime behavior changes. skip: documentation only.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant