fix(discovery): report skipped symlinked skills - #499
Conversation
22c726a to
84b41e2
Compare
|
The coverage-honesty goal makes sense. One question about the blast radius before this lands. The change turns to So one symlinked child now discards the sibling skills rather than just marking coverage incomplete. A directory with two ordinary skills and one symlink reports no skills at all. Would returning the real skills with On validation, since the PR notes pytest was unavailable locally: |
|
Fixed in bc2e83f. A symlinked child is still never traversed and records multi_skill_symlinked_entry, but discovered non-link siblings remain in the result with complete=false. Focused validation passed: tests/test_multi_skill.py (33 passed), tests/unit/test_cli.py (107 passed), and Ruff. CI is rerunning. |
rng1995
left a comment
There was a problem hiding this comment.
[SkillSpector Review]
Changes requested at head bc2e83fc8a2dbd359957ae4b4e4771343f51ae93.
src/skillspector/multi_skill.py:281: name-based exclusions are evaluated only after the new symlink check. Consequently, a symlink whose name is intentionally out of discovery scope (for example.git,.cache,.venv, ornode_modules) now addsmulti_skill_symlinked_entryand makes an otherwise complete scan incomplete. Apply the hidden/_SKIP_DIRSname filter before recording the symlink limitation, and add a regression test for an ignored-name symlink alongside valid skills.
Required CI is green, but the correctness change above and current BEHIND state block approval and merge.
36302e2 to
2f8371c
Compare
rng1995
left a comment
There was a problem hiding this comment.
[SkillSpector Review]
Re-reviewed current head 2f8371c65bc6bd09a43670c47946070e8e292e40. The rebased author commits retain the same multi_skill.py and regression-test blobs reviewed previously, and the sibling-retention correction is present.
The outstanding blocker remains at src/skillspector/multi_skill.py:281-294: symlink handling runs before the hidden and _SKIP_DIRS name filter, so a symlink whose name is intentionally excluded from discovery still adds multi_skill_symlinked_entry and makes an otherwise complete scan incomplete. Apply the name exclusion before recording the symlink limitation and add a regression with an ignored-name symlink beside valid skills.
All hosted checks pass, but the branch is behind main.
2f8371c to
a627f0c
Compare
rng1995
left a comment
There was a problem hiding this comment.
[SkillSpector Review]
Re-reviewed current head a627f0c3b0a66eea822dd7fa5cd713c297163b18 after the automated branch resynchronization. Both PR-owned blobs are byte-for-byte identical to the previously reviewed changes-requested head 2f8371c65bc6bd09a43670c47946070e8e292e40.
The discovery-completeness blocker remains: symlink handling runs before the hidden and _SKIP_DIRS name filter, so a symlink whose name is intentionally excluded from discovery still records multi_skill_symlinked_entry and makes an otherwise complete scan incomplete. Apply the name exclusion before recording that limitation and add the requested ignored-name symlink regression.
All hosted checks pass, but the required code change remains and GitHub reports mergeStateStatus=BLOCKED.
Signed-off-by: Deepak Jain <[email protected]>
Signed-off-by: Deepak Jain <[email protected]>
a627f0c to
573d473
Compare
Summary
Validation
python3 -m py_compile src/skillspector/multi_skill.py- passedpython3 -m pytest tests/test_multi_skill.py -k symlinked_skill_directory_marks_discovery_incomplete- unavailable locally because pytest is not installed; GitHub CI will run the focused suiteRisk
Fixes #495