Repository navigation
Workspace detail panel: bounded read-only details (#332) - #377
Draft
raiseCatError wants to merge 6 commits into
Draft
raiseCatError wants to merge 6 commits into
raiseCatError wants to merge 6 commits into
Conversation
…trees, diffs and modules #332, stacked on the workspace foundation; standalone, no app wiring yet. - Typed content with its source, observation time and an explicit partial note; providers are pure over data the caller already has. - resourceDetail says what opening would do, or why it cannot. - worktreeDetail shows Git's facts; an unknown status is never "clean". - diffContent reads local `git diff` text through the review diff's parsePatch and line sanitizer: binary and rename-only files are named, a line budget cuts with a visible note, a deleted line starting with "-" keeps its own dash. - factDetail is a module's explain view: displayable value under its privacy policy, evidence, age, freshness, policy and what it reads. - PanelController keeps scroll for refreshed content and a bounded cache so sidebar selection can preview without asking an owner again. - renderPanel: exactly rows x width, focus mark and stale/partial labels without color, diff markers kept as text.
… fact's own provenance only
…s do not edit the same file
17 tasks
…ith " b/"; scroll kept per content - The diff --git heading used a lazy pattern across the whole section: about 2 ms per header for names full of " b/", 1.8 s for a 1,000-file diff of mode changes, and "my b/file" was shown as a rename "my → file b/my b/file". The heading is read from its own line: equal halves first, then the first " b/" for renames. - Going back to content still in the cache returns to where it was scrolled.
This branch has not been deployed
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.
#332, stacked on the workspace foundation (#375). Standalone;
TerminalApp.tsuntouched. Independent of the sidebar PR (#376): they share only foundation types and have separate design documents.resourceDetail: what Enter would do in words, or why the resource cannot be opened.worktreeDetail: Git's facts from/worktrees; an unknown status is never shown as clean.diffContent: localgit difftext through the GitHub review diff'sparsePatchand line sanitizer; binary and rename-only files named; a line budget with a visible "cut here"; a deleted line beginning with-keeps its own dash.factDetail: a fact's displayable value under its privacy policy, evidence, age, freshness, policy and what the capability reads. Module diagnostics (why shown, timings, engine health) stay Module observability: explain visibility, provenance, collection timings and cache state #365's (implemented in Output references, paste batches, queue conditions, pins and recipes #368'sModulesPanel); at integration the panel should present that explain output instead of growing a second view.PanelController: scroll kept across refreshes of the same content; a bounded cache so sidebar selection can preview without asking an owner again.renderPanel: exactly rows × width; focus mark,stale/time unknown/partiallabels and diff markers as text, so NO_COLOR/Safe lose nothing.Not included: provider task/plan presentation (needs #339's provider-owned task state), approval details (Managed Target approval flow), GitHub PR detail (the
/githubmanager), editor hand-off commands.Tests:
tests/workspacePanel.test.ts. Design:docs/design/workspace-panel.md.Update (fcad006, f5ef4b2), quality and security pass: merges the foundation fixes. The
diff --githeading used a lazy regex across the whole section: about 2 ms per hostile header (1.8 s for a 1,000-file diff of mode changes), andmy b/filewas shown as a renamemy → file b/my b/file. The heading is parsed from its own line in linear time. The panel also returns to each cached content's scroll position. Regressions intests/workspacePanel.test.ts. CI green onf5ef4b2.