A GitHub project checked out only on another of the person's hosts showed as ace2 · natembp on Nate16, and every channel creation entry point was missing or disabled there. The person expected one ace2 project across machines and chose to set up a checkout on Nate16 and run channels there, with a default folder they can change.
Expected
- A GitHub-backed project shows its ordinary name (ace2) in the picker and All Projects regardless of which host has a checkout. Folders without a GitHub remote keep host disambiguation; a channel's host stays independent.
- A GitHub project without a checkout on this machine offers Set up on this Mac. New channel / + (Channels sidebar, All Projects per-project +, dashboard, GitHub Open in a channel) reaches setup instead of being hidden. Selecting a project never clones.
- Setup shows an editable destination,
~/code/<repo> by default, before cloning. The host clones asynchronously, expands ~, normalizes the path, and registers the checkout through the existing project-open machinery. An existing matching checkout is opened; other non-empty folders are refused; failures stay in the form with the path preserved; Ace never deletes a partial clone.
- A creation that led to setup continues locally with its initial dashboard or GitHub text; drafts survive until admission. Standalone setup only adds the project. Nothing is created or run on the other machine.
- Cloning must not depend on gh's authenticated GraphQL lookup: on Nate16,
gh repo clone githubnext/ace2 is refused by organization SAML SSO applied to the gh token even though ace2 is public, while anonymous git ls-remote https://github.com/githubnext/ace2.git works. A plain git clone of the validated https://github.com/<owner>/<repo>.git works for public repositories and uses existing Git credential helpers only when the server requires authentication.
Part of #15; follows #157, which merged repository identity but deliberately creates only from this host's checkout. Dogfooding gap from #5.
A GitHub project checked out only on another of the person's hosts showed as
ace2 · natembpon Nate16, and every channel creation entry point was missing or disabled there. The person expected one ace2 project across machines and chose to set up a checkout on Nate16 and run channels there, with a default folder they can change.Expected
~/code/<repo>by default, before cloning. The host clones asynchronously, expands~, normalizes the path, and registers the checkout through the existing project-open machinery. An existing matching checkout is opened; other non-empty folders are refused; failures stay in the form with the path preserved; Ace never deletes a partial clone.gh repo clone githubnext/ace2is refused by organization SAML SSO applied to the gh token even though ace2 is public, while anonymousgit ls-remote https://github.com/githubnext/ace2.gitworks. A plaingit cloneof the validatedhttps://github.com/<owner>/<repo>.gitworks for public repositories and uses existing Git credential helpers only when the server requires authentication.Part of #15; follows #157, which merged repository identity but deliberately creates only from this host's checkout. Dogfooding gap from #5.