Skip to content

feat: support --worktrees with MCP tasklist providers#46

Merged
wittekin merged 1 commit intomainfrom
feat/worktrees-mcp-support
Mar 8, 2026
Merged

feat: support --worktrees with MCP tasklist providers#46
wittekin merged 1 commit intomainfrom
feat/worktrees-mcp-support

Conversation

@wittekin
Copy link
Owner

@wittekin wittekin commented Mar 8, 2026

Summary

millstone --worktrees --concurrency N was previously incompatible with remote tasklist providers (GitHub Issues, Linear, Jira) — extract_all_task_ids() reads from a local file that doesn't exist for remote backends, resulting in zero tasks dispatched silently.

This PR adds MCP-aware task fetching to ParallelOrchestrator:

  • _is_mcp_provider() / _fetch_tasks_from_provider() — lists tasks from the MCP backend in the scheduler-compatible format
  • _fetch_task_body() — fetches full issue body via get_task() so workers receive meaningful task descriptions
  • _analyze_tasks_mcp() — builds the enriched task list without dependency graph (remote tasks have no local metadata)
  • _mark_mcp_task_done() — marks task complete in the remote backend after successful merge
  • MergePipeline.skip_tasklist_mark — skips local tasklist checkbox update when using MCP backends

File-based behavior is completely unchanged.

Test plan

  • 8 new unit tests in test_parallel.py covering MCP task fetch, body fetch, done-marking, and the run() dispatch path
  • 1837 tests pass total
  • Pre-commit hooks pass (ruff, mypy, vulture, pytest)

Closes #45

🤖 Generated with Claude Code

When a remote MCP provider is configured, ParallelOrchestrator now:
- Fetches tasks from the MCP backend instead of reading local file
- Fetches full task body via get_task() for each worker subprocess
- Skips local tasklist mark-complete in MergePipeline (skip_tasklist_mark=True)
- Marks the remote task done via update_task_status() after successful merge

File-based behavior is completely unchanged.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@wittekin wittekin merged commit 0d5d01a into main Mar 8, 2026
16 checks passed
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.

--worktrees mode is incompatible with remote MCP tasklist providers

1 participant