feat: super extension — AI-native gating, cockpit, interactive findings, multi-root#1
Merged
Conversation
…e findings, multi-root Grow the gate extension from a read-only verdict mirror into a full editor surface, and lift the engine cap that starved it. Engine (0.2.0 -> 0.3.0) - Findings are no longer capped at 5 per domain in the JSON (MAX_FINDINGS runaway guard instead). The editor gets every located finding, not a sample. - server.json + lockfiles synced to 0.3.0. Extension (clients/vscode 0.3.0) - AI-native gating: @gate chat participant, a gate_check Language Model tool agent mode can call before it says "done", and an MCP server provider — so the assistant writing the code is checked by the same gate as CI. - Verdict cockpit: an interactive webview in gate's own Activity Bar container. - Interactive findings: Quick Fixes (mute / open docs), hovers, CodeLens. - Feedback loop: debounced run-on-save, in-flight runs superseded (child killed). - Multi-root workspaces; gate.strict / gate.codeLens / gate.debounceMs settings; getting-started walkthrough; install-the-engine flow. Tests: engine 60, extension 27. .vsix packages clean.
… a mock vscode Inject a fake `vscode`, run the compiled activate(), and exercise the cockpit render, chat participant, LM tool and MCP provider end-to-end. Catches runtime wiring bugs the type-checker can't, without a live editor. +9 tests (36 total).
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.
Turns the gate VS Code / Cursor extension from a read-only verdict mirror into a full editor surface, and lifts the engine cap that was starving it. Engine
0.2.0 → 0.3.0, extension0.3.0.Tier 0 — AI-native gating (the headline)
The assistant writing the code is now checked by the same gate as CI:
@gatechat participant (@gate can this ship?,@gate /why)gate_checkLanguage Model tool that agent mode can call before it declares "done"gate mcpserver with the editorTier 1 — feedback loop
AbortController)MAX_FINDINGSguard) so the editor gets every located findingTier 2 — interactive findings
Quick Fixes (mute / open docs), hovers, CodeLens, and reversible per-workspace finding muting.
Tier 3 — presence
A webview verdict cockpit in gate's own Activity Bar container, a getting-started walkthrough, and an install-the-engine flow.
Tier 4 — trust & polish
gate.strict/gate.codeLens/gate.debounceMssettings, clickable rule links in Problems,extensionKind: workspace, and marketplace metadata.Verification
npm run ci: 60 tests + version check ✓npm test: 36 tests ✓ (13 new for multi-root/muting, 9 new headless activation smoke that runs the realactivate()against a mockvscodeand exercises the cockpit, chat participant, LM tool and MCP provider).vsixpackages cleanly — vsce accepts all three new contribution pointsDeferred (engine-side, cross-tool)
--changedincremental scan so saves don't cold-spawn four full scanners// gate-ignoresuppression (muting is currently extension-level)Release
Not tagged here.
v0.3.0→ engine release;ext-v0.3.0→ extension release workflow (Marketplace + Open VSX).🤖 Generated with Claude Code