githubnext/ace2Public

Ace: a collaborative coding environment on the team's own machines

fix(host): group worktree channels under their repository's project #111

Mergediamnbutlermerged 1 commit intomainfromrefs/pull/111/head
  1. IA

    The project picker listed one project per checkout path. Every Codex worktree (`~/.codex/worktrees/*/ace2`) and Ace lane that had a channel or an opened folder showed up as another `ace2` or as the lane name. All of them are the same repository.

    - The host resolves each checkout to its repository's main checkout (`git worktree list`) and its GitHub remote. It caches the result for the life of the process. - `projects` returns one project per main checkout, with `repo` (owner/name). Channel listings carry `root` and `repo`, so the app groups worktree channels under that project and puts the project under its GitHub owner in the picker (`githubnext` › `ace2`). - Opening a worktree adds its main checkout. - Channel records stay as they are. A channel's `project` is still the checkout it works in (agent cwd and lane base), so existing channels made from worktrees keep working on the same code.

    Part of #15. Projects are still keyed per host, so a teammate's checkout of the same repository is still a separate project.

    Smoke test: against the canary catalog (29 channels across 10 checkout paths), `projects.list()` returns a single `/Users/natebutler/code/ace2` project with `repo: githubnext/ace2`. Opening `~/.codex/worktrees/desktop-actions/ace2/apps` in a scratch `ACE_HOME` saves `/Users/natebutler/code/ace2`. I didn't check the picker UI visually because the dev app couldn't connect: an older dev helper is still running on port 4141.

    ### Built in Ace

    Yes. Made entirely in an Ace channel.

  2. iamnbutlermerged 26351c0d8654last month on GitHub

  3. iamnbutlerclosedlast month on GitHub

  4. iamnbutlerreferenced this in chore(desktop): release canary 0.0.13 #115last month on GitHub