Skip to content

Fix Vulture whitelist path-separator mismatch on Linux CI - #16

Merged
Wewoc merged 1 commit into
mainfrom
claude/magical-ritchie-807x8r
Sep 30, 2026
Merged

Wewoc merged 1 commit into
mainfrom
claude/magical-ritchie-807x8r

Conversation

@Wewoc

@Wewoc Wewoc commented Sep 30, 2026

Copy link
Copy Markdown
Owner

Summary

  • vulture-check.yml (added in Add Vulture/CVE CI gates, switch license-scan to push/main #15) failed on its first push/main run: 60 "new" findings, only 4 filtered.
  • Root cause: vulture_whitelist.py's keys use Windows backslashes (its own docstring: "same path separator it printed — Windows backslashes"), but Vulture on ubuntu-latest reports forward slashes. filter_whitelisted()'s exact-tuple match silently failed for every whitelisted entry with a subdirectory — only bare-filename entries (no directory) matched by coincidence.
  • All 60 "new" findings are already-documented false positives (openpyxl style attributes, Qt event handlers, fake-module __path__/__package__ registration, etc.) — not new dead code.
  • Fix: normalize both the finding's file path and the whitelist keys to forward slashes before comparing, in check_vulture.py's filter_whitelisted().

Verified locally against the actual CI findings from the failed run — all 5 spot-checked entries (including subdirectory paths) now match correctly.

Test plan

  • Local verification script confirms whitelist entries with subdirectories now match findings reported with forward slashes
  • Re-run vulture-check.yml on main after merge to confirm the check goes green

🤖 Generated with Claude Code

https://claude.ai/code/session_01JYLx9STTgfo9KXLC2Gog3g


Generated by Claude Code

vulture_whitelist.py's keys use Windows backslashes (per its own
docstring: "same path separator it printed — Windows backslashes"),
but Vulture on ubuntu-latest reports forward slashes. The exact-tuple
match in filter_whitelisted() silently failed for every whitelisted
entry that has a subdirectory, so the first CI run of
vulture-check.yml showed 60 "new" findings that are actually already
documented false positives (openpyxl style attributes, Qt event
handlers, fake-module registration, etc.) — only bare-filename entries
matched by coincidence.

Normalizes both sides to forward slashes before comparing, so the
whitelist works the same on Windows and Linux.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JYLx9STTgfo9KXLC2Gog3g
@Wewoc
Wewoc merged commit 3494b0a into main Sep 30, 2026
@coderabbitai

coderabbitai Bot commented Sep 30, 2026

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: d91c2317-155c-4697-9b2b-3669f25b8712

📥 Commits

Reviewing files that changed from the base of the PR and between 8dcc150 and daca716.

📒 Files selected for processing (1)
  • src/tests/check_vulture.py
 ________________________________________________________________________
< Brb...inventing the time machine to fix your code before you wrote it. >
 ------------------------------------------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants