Skip to content

Gate bb connect behind multi-machine experiment - #533

Merged
SawyerHood merged 1 commit into
mainfrom
bb/experiment-gate-bb-connect-thr_fuju57hvct
Jul 7, 2026
Merged

SawyerHood merged 1 commit into
mainfrom
bb/experiment-gate-bb-connect-thr_fuju57hvct

Conversation

@SawyerHood

Copy link
Copy Markdown
Collaborator

Summary

  • gate the builtin connect plugin on the existing Multi-machine experiment so its code does not load while the experiment is off
  • reconcile plugin runtime when plugin-affecting experiments change, including live load/unload for connect
  • update CLI fallback, docs, guide templates, and builtin skills for the new gate

Tests

  • pnpm exec turbo run test --filter=@bb/server -- test/services/plugins/builtin-plugins.test.ts test/services/plugins/plugin-service.test.ts test/services/plugins/plugin-cli.test.ts
  • pnpm exec turbo run test --filter=@bb/cli -- src/tests/plugin-cli-proxy.test.ts
  • pnpm exec turbo run typecheck --filter=@bb/server
  • pnpm exec turbo run typecheck --filter=@bb/cli
  • pnpm exec turbo run typecheck --filter=@bb/templates

@SawyerHood
SawyerHood merged commit 16237f2 into main Jul 7, 2026
6 checks passed
@SawyerHood
SawyerHood deleted the bb/experiment-gate-bb-connect-thr_fuju57hvct branch July 7, 2026 23:02
SawyerHood added a commit that referenced this pull request Jul 8, 2026
## Summary

PR #510 shipped two separable things: multi-host thread execution and bb
connect. Multi-host isn't ready for prime time yet — this removes it
from main while keeping every bb connect feature, and renames the gating
experiment from "Multi-machine" to **"bb connect"** so it gates only the
connect surfaces.

### Multi-host execution removed (host targeting back to pre-#510,
primary-only)

- Restored `assertPrimaryHostId` (non-primary → 400 `unsupported_host`);
deleted `assertUsableHostId`, the `multi_machine_disabled` error, and
its experiment dependency. Reverted all call sites: `routes/files.ts`,
`routes/hosts.ts`, `routes/projects.ts`,
`services/system/host-lookup.ts`,
`services/threads/thread-request-eligibility.ts` (restores the
`StableThreadRequestProjectData` machinery),
`services/terminals/terminal-session-lifecycle.ts` (gate + `config` dep,
incl. the integration-harness change).
- Deleted `bb host list` and `bb thread spawn --host` (commands,
registration, tests, guide/skill/docs mentions).
- Removed the multi-host section from docs and guide templates; deleted
`docs/m4-multimachine-evolution-overview.html`.

### Experiment renamed: `multiMachine` → `bbConnect` ("bb connect")

- Domain schema, db data access, column rename via generated migration
`0057_useful_manta.sql` (`RENAME COLUMN multi_machine → bb_connect` —
existing opt-ins carry over).
- All consumers: `server.ts` `isConnectEnabled`, plugin-service gate +
user-facing strings, `routes/system.ts` reconcile, CLI plugin-proxy
fallback (string contract kept in sync), Settings UI, builtin skills,
guide templates (regenerated), `docs/configuration.md`.

### Untouched

`plugins/connect`, `apps/connect`, `apps/web`,
`packages/tunnel-contract`, `packages/connect-db`, deploy workflows —
verified byte-for-byte identical. The live plugin load/unload on
experiment toggle from #533 keeps working under the new name.

## Validation

- Typecheck: server, cli, db, app, domain, templates, desktop — all pass
- Tests: server (983), app (1282), cli (231), db (320), domain,
templates, bb-plugin-connect, integration (54) — all pass
- Independently reviewed (adversarial pass): diffed result against
pre-#510 file states (only legitimate upstream drift remains), verified
generated templates reproduce, migration/journal chain
drizzle-generated, grep sweep clean outside `plans/` and historical
migration artifacts
- Desktop unit tests couldn't run in the worktree (broken local Electron
install, unrelated); desktop typecheck passes — CI covers it here

🤖 Generated with [Claude Code](https://claude.com/claude-code)
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