Remove the connector's worker side

Merged
RO
18d ago
+224-40939

Stacked on #814. Review that first.

Problem

After #814, basecamp connect only listens and hands each trusted request to your Claude session. Everything that started and ran its own workers is unused, but still in the tree, and some of it is still visible: setup accepts --worker, --concurrency, --deadline and --dangerous, connect accepts --driver and --acp-adapters and ignores them, and doctor still checks that a worker starts.

Solution

This removes the worker side: about 40,000 lines, most of them tests.

  • Workers: the dispatcher; the Claude, Codex, spawn and ACP drivers; the token handover to the worker and the inherited-descriptor sealing that protected it; the permission policy; the worker's basecamp_connect MCP tools; connect worker-mcp.
  • Messages the connector posted itself: the đź‘€ guard, holding replies and completion notices (the outbox's sender). The session posts everything now.
  • Dangerous mode, including the flag, the confirmation, and the warnings in setup, doctor and status.
  • Commands and flags: connect service, connect redispatch; setup's --driver, --worker, --concurrency, --deadline, --dangerous; connect's --driver and --acp-adapters; mcp's --connect-state and --connect-token-fd.
  • Doctor and setup no longer check that Claude Code or Codex starts. Guided setup ends by pointing at /basecamp-connect.
  • Build: the ACP adapter make targets and their vet step.

Kept on purpose

  • Old connect.json files still load. driver, worker, concurrency, deadline and dangerous are read and ignored.
  • The ledger stays as it is, tables and migrations included, so status still reads an existing ledger. Its task and attempt code, and the small driver package's process helpers it uses, can go in a later pass.
  • discard, release, the hold, shadow promote and import stay. The hold still pauses the handoff.

Summary by cubic

Removes the connector's worker side: basecamp connect now only listens and hands each trusted request to your Claude session, so nothing starts or runs workers any more. This deletes the whole worker machinery — about 40,000 lines, most of them tests — and updates the basecamp skill and smoke tests for the hand-off connector.

Removed

  • The dispatcher; the Claude, Codex, spawn and ACP drivers; the token handover and its inherited-descriptor sealing; the permission policy; connect worker-mcp.
  • The messages the connector posted itself (the đź‘€ guard, holding replies, completion notices) and the outbox's sender, intent keys, and writer — the session posts everything now.
  • Dangerous mode, connect service, connect redispatch, basecamp mcp's --connect-state and --connect-token-fd, the MCP server's basecamp_connect domain, and the worker flags on setup, connect, and mcp (--driver, --worker, --concurrency, --deadline, --dangerous, --acp-adapters).
  • Doctor no longer starts a worker, handshakes its MCP server, or inspects the work folder; setup no longer checks a worker starts, and guided setup ends by pointing at /basecamp-connect.
  • The ACP adapter make targets and the helpers the removal left unused (the outbox's refusal, an attempt-process helper, a fcntl helper, two test fixtures).

Kept on purpose

  • Old connect.json files still load; worker settings are read and dropped by the next setup.
  • The ledger, tables, and migrations stay, so status still reads an existing ledger.
  • discard, release, the hold, shadow promote, and import stay.