feat(status): add a workspace compass with sibling worktrees - #1067
Draft
benvinegar wants to merge 4 commits into
Draft
feat(status): add a workspace compass with sibling worktrees#1067benvinegar wants to merge 4 commits into
benvinegar wants to merge 4 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Member
Author
|
Rebased onto current main (
Local verification: clean Git checkout full suite 4,317 pass / 13 skip; PTY 183 pass / 1 skip; TTY 11 pass; packaging, typecheck and dependency checks pass. Native Windows verification is pending the new CI run. The original JJ-colocated checkout’s three cwd-sensitive failures also reproduce on fetched main. This comment was generated by Pi using GPT-6 Astra |
benvinegar
force-pushed
the
feat/status-workspace-compass
branch
from
September 10, 2026 13:25
6c2d03a to
87d7433
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add
hunk status: a read-only workspace overview that makes current changes and sibling worktrees understandable without leaving the terminal.This is intentionally a draft for product/UX review. It adds one view—not staging controls, an agent dashboard, another diff renderer, or a repository manager. Log/Quit shortcuts are absent from the main action strip; existing keyboard/menu commands remain.
Architecture
Git implements an optional renderer-free
ExtensionVcsAdapter.statuscapability, with bounded cancellable reads and separate current/sibling refreshes. This belongs alongside the existing provider-owned history capability: extensions supply VCS facts while the host retains terminal routing, trust, themes, and lifecycle ownership. No parallel review semantics or broker protocol.Rebased onto
3fbb223e; extension API 26 follows main's API 25 asynchronous watch signatures. Includes docs/help and a minor Changeset. CI fixes synchronize the tracked package README and canonicalize worktree filesystem identities, with alias/junction regressions included in Windows coverage.Visual evidence
Real source TUI captured in a Linux PTY through
test/pty/harness.tsand the term-video keyframer/tuistory/ghostty renderer—not a mockup. Synthetic Git fixture: 11 tracked changes, 11 untracked files, and one linked sibling.status --no-extensions --theme nord --color alwaysCapture and behavior notes
Verification
Latest update:
87d7433aRebased onto
3fbb223e. Local validation passes packaging, typecheck/dependencies, 183 PTY tests (1 platform skip), and 11 TTY tests. A clean Git candidate checkout passes the full suite: 4,317 pass / 13 skip / 0 fail. The three cwd-dependent failures in the original JJ-colocated checkout also reproduce against fetched main; its same 62 relevant tests pass from a plain Git checkout. Native Windows results are being verified in the current remote CI run; see the latest rebase comment for details.Earlier validation before this update
Post-rebase checks used the installed Bun 1.4.2 executable explicitly; both default-suite shard headers confirm that version. Equivalent commands below use
$BUNfor/home/bentlegen/.local/share/mise/installs/bun/1.4.2/bin/bunand prepend its directory to PATH.$BUN run typecheck— pass.$BUN run deps:check— pass, 486 modules / 1,999 edges.$BUN scripts/generate/generate-docs.ts --check— pass.$BUN scripts/test/run-test-suite.ts --group=integration— 175 pass / 1 platform skip.HUNK_RUN_TTY_SMOKE=1 $BUN test ./test/smoke— 11 pass, including a real two-file diff entered via status and terminal restoration.$BUN test ./test/review-conformance— 118 pass.$BUN scripts/test/test-session-broker-node.ts— 4 pass.$BUN scripts/test/run-test-suite.ts— 4,258 pass / 13 skip / 3 failures; not a green full-suite result.git diff --check— pass.The three failures expect Git but this colocated checkout detects JJ:
resolveSessionVcsId > falls back to detection and reports an id nothing ownsloadConfiguredSessionBootstrap > shares extension-aware loading and session fields across launch and reload callersregisterVcsAdapter with junk > a detect() that throws does not stop other adapters being consultedBefore rebase, these were reproduced using pristine pre-feature
94b71186sources fromgit archive HEAD, with dependencies linked and the original checkout cwd retained:Result: 59 pass / the same 3 failures. Running both baseline and working sources from a temporary Git-only cwd produced 62 pass / 0 fail each. The assertions were not weakened; post-rebase failures have the same identities and mismatch.
Independent reviews covered provider correctness, routing/cleanup, shared state, refresh races, and the final grouped UX. Findings were fixed and rechecked; the rebase preserves main's direct-review metadata and reran the gates above.
Limits
--vcs gitexplicitly when appropriate.FETCH_HEADmtime cannot attest when the configured upstream was fetched. JSON retains qualified provenance.This PR description was generated by Pi using GPT-6 Astra