Skip to content

Commit 90c0ffd

Browse files
tcoratgerclaude
andauthored
chore(vulture): exclude build artifacts and prune stale whitelist entries (#1151)
Vulture recursed into the gitignored packages/testing/build/ tree, which duplicates the real source, so every package symbol was reported twice. Exclude build directories from the scan to remove those false positives at the root. Whitelist the Validators index-position model_validator, a real validator that runs on every construction but is invisible to static analysis. Drop two stale whitelist entries whose symbols no longer exist anywhere in the codebase: the fork-upgrade method and the route access-tier flag. Their code was already removed; only the whitelist lines lingered. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 37815d4 commit 90c0ffd

2 files changed

Lines changed: 4 additions & 8 deletions

File tree

‎pyproject.toml‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,9 @@ fail_under = 90
146146
# The whitelist names the indirectly-used symbols vulture cannot see; listing
147147
# them explicitly keeps the ignores tight instead of relying on wide globs.
148148
paths = ["src", "packages", "tests", "vulture_whitelist.py"]
149+
# Skip build artifacts under packages, which duplicate the real source and would
150+
# otherwise report every package symbol twice.
151+
exclude = ["*/build/*"]
149152
# Show the largest unused blocks first; they are the highest-value removals.
150153
sort_by_size = true
151154

‎vulture_whitelist.py‎

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
_._accept_hex_string
5555
_._validate_byte_list_data
5656
_._validate_decomposition
57+
_._require_index_matches_position
5758
_.validate_state_length
5859
_.validate_target
5960
_.validate_rejection_is_declared
@@ -68,10 +69,6 @@
6869
_._serialize_data
6970
_._serialize_as_hex
7071

71-
# Fork-upgrade protocol method, invoked polymorphically on a fork transition.
72-
# A single-fork tree has no transition yet, so there is no call site.
73-
_.upgrade_state
74-
7572
# Signature parameters mandated by external protocols we cannot rename.
7673
# The pydantic core-schema hook, the pytest session-finish hook, and the
7774
# prometheus metric stub interface.
@@ -170,10 +167,6 @@
170167
slot_number
171168
_.slot_number
172169

173-
# Access tier recorded on every route entry to document the route, not yet
174-
# read back by the registration path.
175-
is_admin
176-
177170
# Attribute assignment in slotted-class tests that proves new attributes are
178171
# rejected; the assignment is the action under test, never read back.
179172
_.extra_field

0 commit comments

Comments
 (0)