Skip to content

feat(vscode): ship Compass 0.1.9 architecture flow and CLI onboarding - #81

Merged
forhappy merged 26 commits into
mainfrom
codex/harden-call-graph-resolution
Jul 30, 2026
Merged

feat(vscode): ship Compass 0.1.9 architecture flow and CLI onboarding#81
forhappy merged 26 commits into
mainfrom
codex/harden-call-graph-resolution

Conversation

@forhappy

@forhappy forhappy commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add cross-platform Compass CLI discovery, installation, selection, and live activation in VS Code
  • release the extension as 0.1.9 with a production-first, interactive architecture map
  • preserve complete architecture evidence in the CLI export, index it in the extension host, and page bounded projections into the webview
  • raise only the architecture-export capture ceiling to 128 MiB while retaining the ordinary 8 MiB command limit
  • organize subsystems into topology-aware left-to-right stages with balanced spacing and distributed connection ports
  • show a bounded Key routes layer by default, with one-click access to All routes and the complete route table
  • support persistent drag positioning, source navigation, filtering, search, and responsive collapsible details
  • hard-cut the architecture contract to the complete compass.viewer.callflow/1 schema with no runtime legacy normalization or /2 acceptance

Why

Large repositories could exceed the shared 8 MiB stdout limit, while sending an equally large payload directly into the webview would make the UI sluggish. The prior aggregate relationship presentation also hid individual caller/callee evidence and produced a difficult-to-read architecture graph. Contract drift between schema v1 and v2 could prevent the extension from opening the flow entirely.

This change gives architecture export its own bounded capture ceiling, keeps the complete model in the extension host, and sends only searchable, paged projections to the webview. The map prioritizes important routes for a comfortable overview without removing access to the complete architecture. It also establishes one strict v1 contract across capability negotiation, export, validation, and rendering.

User impact

  • large architecture exports can reach 128 MiB without increasing limits for other commands
  • production code is shown by default; tests, generated code, vendor code, and unknown scopes remain accessible through filters
  • subsystem routes expose complete call evidence on demand
  • topology-aware stages and separated route ports reduce crossings and visual congestion
  • Key routes provides a clean default view; All routes reveals the complete route set
  • graph nodes can be dragged and their positions persist per repository and filter context
  • the inspector moves below the map on narrower windows and remains independently scrollable
  • incomplete historical v1 payloads and all v2 payloads are rejected; users need a CLI that emits the complete v1 model

Validation

  • JavaScript/TypeScript typechecks passed
  • Compass viewer: 109 tests passed
  • VS Code extension: 100 tests passed
  • compiled browser suite: 65 tests passed, including architecture responsiveness and accessibility
  • Compass output and CLI callflow export Rust tests passed
  • production extension build and VSIX packaging passed
  • current code graph, versioned code graph, program call graph, and architecture flow smoke checks passed

forhappy added 26 commits July 27, 2026 21:12
…ph-resolution

# Conflicts:
#	.github/workflows/compass-ci.yml
#	crates/compass-output/assets/viewer/graph.js
#	crates/compass-output/assets/viewer/manifest.json
#	crates/compass-output/assets/viewer/viewer.css
#	docs/superpowers/plans/2026-07-27-compass-code-graph-v1.md
#	docs/superpowers/specs/2026-07-27-compass-code-graph-v1-design.md
#	editors/vscode/CHANGELOG.md
#	editors/vscode/package.json
#	editors/vscode/src/cli/processManager.test.ts
#	editors/vscode/src/cli/processManager.ts
#	packages/compass-viewer/package.json
#	packages/compass-viewer/src/index.ts
#	scripts/install.ps1
@forhappy
forhappy marked this pull request as ready for review July 30, 2026 14:46
@forhappy
forhappy merged commit 754f960 into main Jul 30, 2026
13 of 14 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