fix(cli): discovery and path filtering robustness (#352, #334, #335) - #358
Merged
Merged
Conversation
- Gracefully exit with status 0 and info notice when evaluating directories with 0 supported source files (fixing #352) - Scope ambiguous skip names (coverage, build, out, dist, env) to top-level/root only so submodules like src/commands/coverage/ are scanned (fixing #334) - Add built-in ignore defaults for minified files (*.min.*), fixtures/vendor/testdata/__snapshots__, and @generated header markers (fixing #335) - Add repository root .toposignore covering fixtures, benchmarks, and scratch
Empty evaluate was exiting 0 before the pillar gate, so CI with --failures could pass with nothing measured. Co-authored-by: Cursor <cursoragent@cursor.com>
jeremy-wayland
marked this pull request as ready for review
September 4, 2026 13:29
sgathrid
approved these changes
Sep 8, 2026
sgathrid
left a comment
Member
There was a problem hiding this comment.
Approved --> @jeremy-wayland see PR #362
This was referenced Sep 16, 2026
Closed
Closed
Merged
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.
PR 1: CLI Discovery & Path Filtering Robustness
Resolves #352, resolves #334, resolves #335.
Summary of Changes:
Graceful exit on 0 supported source files (Fatal exit code when evaluating directory with 0 supported source files (type-only / config packages) #352):
0and emits an informational message (info: no supported source files found...), rather than a fatal error exit code1.--jsonoutput returns{"version": "...", "results": [], "warnings": []}with exit code0.Scope ambiguous skip names to root only (Discovery silently skips source directories named coverage/, build/, out/, dist/, env/ #334):
coverage,build,out,dist,env) to top-level/root traversal only.src/commands/coverage/orsrc/build/are now fully scanned.node_modules,.venv,target,__pycache__, etc.) and actual virtualenvs continue to be skipped unconditionally at any depth.Built-in ignore defaults and
.toposignore(No default exclusions for fixtures and generated code; .toposignore is opt-in and unused here #335):*.min.*), test fixtures/vendor/testdata/snapshots directories (fixtures,vendor,testdata,__snapshots__), and files starting with@generated/Code generated by ... DO NOT EDITheader markers in their first lines..toposignoreexcludingtests/fixtures/,benchmarks/, andscratch/.Verification:
cargo test).cargo clippy --all-targetsandcargo fmt --check.