Skip to content

feat: explicit worktree scanning and adaptive Reviews column - #124

Merged
flexdinesh merged 1 commit into
mainfrom
feat/scan-worktrees
Oct 27, 2026
Merged

flexdinesh merged 1 commit into
mainfrom
feat/scan-worktrees

Conversation

@flexdinesh

Copy link
Copy Markdown
Owner
  • cmd/diffx scope resolution (checkoutSelection): bare diffx or one positional path inside a checkout now collects only that checkout; --scan-worktrees adds the repo's other registered worktrees. --path (any count) and non-checkout directories keep scanning by default. --scan-depth with a checkout path errors since there is no directory search to bound. Makes worktree scanning explicit where the user pointed at one checkout.
  • collector.Workspaces{Paths, Depth, LinkedWorktrees}: replaces the positional paths, depth args of CollectWorkspaces/DiscoverWorkspaces; with LinkedWorktrees=false a repository contributes only the checkout containing its input. Sync reruns the same selection.
  • Bootstrap contract: serverapp.Selection travels localserver.Input -> Collections -> Capabilities.Input(); input enum gains checkout (OpenAPI, generated types, readBootstrap).
  • Web shell policy: shell-policy.ts gains reviewColumn (always remote, multiple local) and collection; the hook moves to use-shell-policy.ts so the policy stays node-testable. SessionProvider exposes a sticky reviewColumn flag: local mode shows the Reviews column, rail and compact drawer toggle once streamCount reaches 2, then keeps it for the page session. Search, comboboxes and sync stay. Sync reads "Sync checkout" for a single checkout.
  • Docs: system.md, architecture.md, development.md, DESIGN.md, PRODUCT.md, user docs (usage.md, reviewing-changes.md). Impeccable diff workspace brief repointed to src/DiffWorkspace.tsx (was orphaned by a repo-root-relative path).
  • Breaking: diffx inside a repo no longer collects sibling worktrees; use --scan-worktrees.
  • Validation: mise run check:push (pre-push hook: full suites, race tests, generated drift) passes on the rebased branch.

- `diffx` and `diffx <checkout>` collect only that checkout; `--scan-worktrees` adds its repo's worktrees
- `--path` and non-checkout dirs keep scanning by default; `--scan-depth` with a checkout path errors
- bootstrap `input` gains `checkout`; Sync reads "Sync checkout" for it
- local mode shows the Reviews column only once 2+ current streams exist, then keeps it
- repoint Impeccable diff workspace brief to `src/DiffWorkspace.tsx`
@flexdinesh
flexdinesh marked this pull request as ready for review October 27, 2026 07:00
@flexdinesh
flexdinesh merged commit 9c63073 into main Oct 27, 2026
2 checks passed
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