fix(vscode): review follow-ups for #907 (runtime-coverage)#985
Merged
Conversation
- Surface coverage gate errors: execFallow now rejects with a
FallowExecError carrying exitCode + stdout, so the runtime-coverage
path recovers the structured {error,message,exit_code} JSON envelope
instead of a bare 'exited with code N'. Exit 3 (license) and exit 4/5
(sidecar) are special-cased with concrete next steps (fallow license
activate / fallow coverage setup).
- Disclose the sidecar/license prerequisite in the Runtime Coverage
welcome state and the fallow.coverage.capturePath setting description.
- Surface the license grace/trial watermark as a one-time warning on
load so 'Safe to Delete' candidates produced under a stale license are
not treated as authoritative.
- Pin COVERAGE_ANALYZE_MIN_VERSION to 2.57.0 (when local coverage
analyze --format json shipped); 2.77.0 needlessly rejected valid CLIs.
- Humanize the snake_case confidence enum in leaf tooltips.
- Document the Runtime Coverage view, commands, and settings in the
extension README.
- Extend coverage-utils and package-manifest unit tests.
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.
Fix-forward PR landing the review follow-ups for the already-shipped Runtime Coverage view (#907). Source of truth: the
### #907section of the VS Code batch review.Blocker (resolved)
fallow exited with code N; the CLI's structured{error:true,message,exit_code}stdout envelope was discarded because it was only parsed on the resolve (exit 0/1) path.execFallownow rejects with a typedFallowExecErrorthat carriesexitCode+stdout, andrunCoverageAnalysisrecovers the envelope, surfacing the real message plus a concrete next step: exit 3 (license) points atfallow license activate --trial, exit 4/5 (sidecar) point atfallow coverage setup. ExistingexecFallowcallers read only.messageand are unchanged.Concerns (resolved)
fallow.coverage.capturePathsetting description now state that the fallow-cov sidecar (and a runtime-coverage license/trial when a license is present) is required, withfallow coverage setupas the first step.report.watermarkwas never read, so candidates produced under a stale/expired license rendered as authoritative. It is now surfaced as a one-time warning toast on load (grace, trial-expired, and unknown variants), with a refresh hint for the grace case.COVERAGE_ANALYZE_MIN_VERSIONwas pinned to2.77.0, but localcoverage analyze --runtime-coverage ... --format jsonshipped in2.57.0; valid CLIs2.57.0-2.76.xwere needlessly rejected. Pinned to2.57.0and corrected the JSDoc.Nits (applied)
confidenceenum (e.g.very_high->very high) in leaf tooltips.Nits (deferred, with reasons)
runtime_coveragenull-check is dead code (harmless defensive). Left as-is; the report flags it as harmless.coverageProviderEventEmitter not pushed tocontext.subscriptions. Deferred: no sibling provider (health/security/dead-code/dupes) is pushed either; only their TreeViews are. Fixing only coverage would diverge from the established convention. The host tears the emitter down on deactivate.ConfigurationTargetvs declaredresourcescope. Deferred: the picker resolves everything againstfolders[0], so theWorkspacetarget is internally consistent for the single-root common case. Proper per-folder (WorkspaceFolder) writes are a larger multi-root change outside this fix-forward.Tests
coverage-utils.test.ts(gate-message special-casing for exit 3/4/5 + fallback, watermark copy, confidence formatting, the2.57.0floor) andpackage-manifest.test.ts(prerequisite disclosure in the welcome and capture-path setting).Green gate
codegen:types,check:codegen,lint,build, andtest:unitall pass. The dist bundle was rebuilt before commit.Issue #907 is already closed; no closing keyword.