-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Dead-code status ignores framework-driven entry points #2128
Copy link
Copy link
Open
Labels
bugSomething isn't workingSomething isn't workingparsing/qualityGraph extraction bugs, false positives, missing edgesGraph extraction bugs, false positives, missing edgespriority/highNeeds near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker.Needs near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker.ux/behaviorDisplay bugs, docs, adoption UXDisplay bugs, docs, adoption UX
Description
Activity
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingparsing/qualityGraph extraction bugs, false positives, missing edgesGraph extraction bugs, false positives, missing edgespriority/highNeeds near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker.Needs near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker.ux/behaviorDisplay bugs, docs, adoption UXDisplay bugs, docs, adoption UX
Severity: high — the feature is unusable as shipped.
359 nodes get
status: "dead"; 247 (69%) are reachable only dynamically:__call__for classes listed in a settings module__init__of classes instantiated via a registry or DIupgrade/downgrade, Django management-commandhandlepytestfixtures,@receiver/@shared_taskdecorated functionsAsk: a configurable liveness list (dunder methods, decorator patterns,
declarative registrations) — and, more fundamentally, do not derive
deadfrom acall graph whose own measured precision is 52%. Reporting
unknownwhen the graphis unresolved would be honest and far more useful than a false negative.
Observed on v0.10.8 (build
996bad5fe6fb), macOS arm64, Python monorepo (~36k nodes / ~179k edges). Happy to provide a minimal reproduction repo if useful.