fix: correct code-review findings across verify, introspect, and CLI surface - #25
Merged
Conversation
…surface - GPL license detection now distinguishes v2 from v3 and emits modern GPL-2.0-only / GPL-3.0-only SPDX ids instead of collapsing to GPL-3.0 - Hand-written SKILL.md with an unclosed flag-bearing fence still detected as CLI-documenting; --target list rejects report-only formats; target resolution dedups into canonical order; Windows PATH lookup falls back to default executable extensions when PATHEXT is unset - add --target help text now matches the real default (present targets, falling back to all); garbled --watch doc rewritten; stale language list on ProjectProfile::language refreshed - Misplaced doc comments reattached to the right items (is_meta_flag, check_subcommand_drift, run_help, spawn_capture, find_kv_colon, claude_present, canonicalize_for_argv, SkillConfig::author) - Dropped once_cell (std::sync::LazyLock) and dialoguer's unused fuzzy-select/editor features; removed stale Cargo.toml excludes; Cargo.lock kept in sync for --locked CI - discovery.empty message now names .trae/rules/ and Trae New tests: GPL v2/v3 detection, canonical target ordering, unterminated fence detection. 🤖 Generated with Codebuff Co-Authored-By: Codebuff <noreply@codebuff.com>
- Wrap the PATHEXT default-extension vec to rustfmt's line width (fmt --check failed on the one-liner) - Prune dialoguer's now-inactive feature deps from Cargo.lock: removing the fuzzy-select/editor features deactivates fuzzy-matcher (block dropped) and tempfile (dep entry only; skillpack still uses tempfile directly). Fixes `cargo check --locked` on the msrv job. 🤖 Generated with Codebuff Co-Authored-By: Codebuff <noreply@codebuff.com>
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.
Summary
Follow-up to the comprehensive code review: fixes the behavioral bugs found, repairs doc drift (docs are this project's product surface), and trims dependency cruft.
Bug fixes
introspect/repo.rs): every GPL variant collapsed toGPL-3.0, so a GPLv2 project shippedplugin.jsonwith the wrong SPDX id. Detection now reads the "Version N" header and emits modernGPL-2.0-only/GPL-3.0-onlyids.verify/invocation/parse.rs): a hand-written SKILL.md whose flag-bearing fence is left unclosed at EOF was misclassified as a pure library; the fallback now evaluates the final open fence too.--target list --format sarif|github|junitsilently degraded to human output on init/update/diff/add/remove; now rejected up front like other invalid usages.resolve_targetsordering: dedup kept first-seen order despite the "canonical order" comment; now dedups and sorts into canonical declaration order (--target cursor --target allno longer reorders Cursor ahead of the pack).PATHEXTis unset, so bare-name probes (node,go) resolve in minimal environments.discovery.emptymessage omitted.trae/rules/and Trae from both ecosystem lists.Doc corrections
is_meta_flag↔check_subcommand_drift,run_help↔extract_documented_invocation,spawn_capture↔check_flag_drift,find_kv_colon↔claude_present,canonicalize_for_argv's borrowedcargo_bin_namesdoc, and theSkillConfig::author/licensefield docs.verify --watchflag help; fixedadd --targethelp to match actual behavior (present targets →allfallback, notclaude).ProjectProfile::languageto all 27; reworded seven internal "Ponytail" notes.Dependency hygiene
once_cell(usesstd::sync::LazyLock; MSRV is 1.85) and dialoguer's unusedfuzzy-select/editorfeatures. Removed staleCargo.tomlexclude entries (/memory:, nonexistent design doc).Cargo.locksynced for--lockedCI.Tests
New unit tests: GPL v2/v3 detection, canonical target ordering, unterminated-fence detection.
🤖 Generated with Codebuff
Co-Authored-By: Codebuff noreply@codebuff.com