Skip to content

feat(vscode): make graph exploration trustworthy and polished#38

Merged
forhappy merged 6 commits into
mainfrom
agent/vscode-trust-correctness
Jul 25, 2026
Merged

feat(vscode): make graph exploration trustworthy and polished#38
forhappy merged 6 commits into
mainfrom
agent/vscode-trust-correctness

Conversation

@forhappy

@forhappy forhappy commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Context

Historical graph responses could arrive out of order and replace presentation
state for a newer selection. Revision builds also lacked explicit
cancellation/failure recovery, and architecture/call-graph list limits silently
hid loaded results.

The graph inspector also split source evidence and navigation across duplicate
controls, connected-node colors read as heavy selection rails, and the call
graph opened with an unbalanced top-left resolver sentence and no recovery
surface.

Changes

Trust and correctness

  • Make the history webview the controlled authority for selected-commit graph,
    comparison, counts, community, build, and operation state.
  • Reject stale revision-bound responses and show the accepted short commit
    beside every visible historical graph.
  • Round-trip realization/fingerprint identity with community requests so late
    load completion order cannot corrupt drilldown.
  • Add explicit requesting, running, succeeded, failed, and cancelled build
    transitions; cancel active work when the panel closes; bound user-facing
    failures; and route JSONL validation failures through the command promise.
  • Keep operational failures beside revision actions and separate from semantic
    findings.
  • Disable unavailable parent comparisons with recovery guidance.
  • Disclose the 24-flow and 20-continuation initial limits with counts and Show
    all actions.
  • Show call-graph node/edge counts and an explicit partial-results alert when
    the contract is truncated.

Inspector and loading UX

  • Make the Source metadata card the single source-navigation action, with an
    External Link icon and exact line or byte range in its visible and accessible
    labels.
  • Preserve file-only metadata without presenting a false action, and show
    Not recorded when no source exists.
  • Replace connected-node color rails with compact community-colored dots.
  • Reuse Compass's centered, theme-aware, reduced-motion constellation while
    resolving the function under the editor cursor.
  • Add call-graph-specific progress phases and recoverable Retry / Show Compass
    output actions.
  • Gate root and expansion responses by resolution generation so superseded
    requests and disposed panels cannot overwrite fresh state.

Validation

  • npm run typecheck:js
  • npm run test:js — 22 viewer unit tests, 33 extension unit tests, and 27
    Playwright tests passed, including accessibility and performance coverage
  • npm run build:viewer
  • npm run build:vscode
  • npm run test:integration -w editors/vscode — 1 extension-host integration
    test passed
  • npm run package -w editors/vscode
  • npm run smoke:vsix -w editors/vscode
  • git diff --check
  • Independent final code review: no Critical or Important findings

Scope boundaries

  • No Compass CLI query-limit changes.
  • No serializer or graph-contract limit changes.
  • No runtime output-path changes; Compass artifacts remain under
    compass-out/.
  • Generated graphify-out/, compass-out/, VSIX, and other local output
    directories are not committed.

@forhappy
forhappy marked this pull request as ready for review July 25, 2026 20:19
@forhappy forhappy changed the title fix(vscode): make historical graph state trustworthy feat(vscode): make graph exploration trustworthy and polished Jul 25, 2026
@forhappy
forhappy merged commit e5d5ae6 into main Jul 25, 2026
1 of 10 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