Skip to content

Let New project select an execution machine - #865

Closed
amadad wants to merge 1 commit into
ymichael:mainfrom
amadad:feat/new-project-machine-picker
Closed

Let New project select an execution machine#865
amadad wants to merge 1 commit into
ymichael:mainfrom
amadad:feat/new-project-machine-picker

Conversation

@amadad

@amadad amadad commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Summary

  • let New project choose among enrolled machines when more than one is available
  • browse and create the local-path source on the selected host, while disabling offline machines
  • preserve the existing native folder-picker flow for single-machine installs and existing add/update-source behavior
  • document the machine-first project creation path

Why

The project-create contract and remote folder browser already support a host ID, but the New project UI always targeted the primary host. Multi-machine users therefore had to leave the UI and use bb project create --machine ....

This keeps the host decision in the project path dialog and passes the selected host through the existing create contract. It does not change the server, database, HTTP API, or host-daemon protocol.

Verification

  • pnpm exec turbo run test --filter=@bb/app — 285 files, 2,083 tests passed
  • pnpm exec turbo run typecheck --filter=@bb/app
  • pnpm exec turbo run lint --filter=@bb/app — 0 errors
  • Prettier and git diff --check
  • manual browser QA with two connected machines and one offline machine: switched machines, browsed the selected host, created a project, and confirmed its source stored the selected hostId; the offline machine remained disabled

@SawyerHood

Copy link
Copy Markdown
Collaborator

Superseded by #875.

Thanks for this — the change is real and it's in. I reviewed it against a local checkout and found that the single-machine gate counted every enrollment rather than the connected ones, so one long-offline machine silently replaced the native folder picker, so rather than round-trip here I folded the fix into #875 alongside the other three open contributor PRs (#865, #868, #869, #870).

Your commits are preserved on that branch with your original authorship, and the follow-up commit credits you as co-author. The full reasoning and the live QA evidence are in the #875 description.

Closing this one in favour of #875.

@SawyerHood SawyerHood closed this Jul 27, 2026
SawyerHood added a commit that referenced this pull request Jul 27, 2026
Supersedes #865, #868, #869, and #870. Each was reviewed against a local checkout, found defective, and fixed; this branch carries the original contributor commits plus one follow-up commit per PR.

- #868 Docs YAML frontmatter — frontmatter is only recognised when the fenced block parses to a YAML mapping, so a document opening with a thematic break is no longer hidden; the blank line after frontmatter survives a save; rename gates on the parsed title; only a title-matching heading is dropped from the preview.
- #869 remark-directive colons — rewrite narrowed to text directives, containers left on the previous path, literal merged into an adjacent text node, plus a regression test for "Meeting at 9:30 and 10:45 today."
- #865 Project machine picker — the single-machine gate counts connected machines, a loading host list is not treated as single-machine, the all-offline state blocks submit, and the target host is a required parameter.
- #870 Skill dedup logs — the injected-skills test logger captures debug so the three precedence assertions work against the demoted level.

Verified with the full app, server, and docs-plugin suites plus a live QA pass against a running dev instance.

Co-authored-by: Ali Madad <ali@scty.org>
Co-authored-by: Bhuvan Singla <bhuvansingla2000@gmail.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.

2 participants