Reduce dogfood false positives from Phase B audit #118
No reviewers
Labels
No labels
area:ci
area:docs
area:engineering
area:framework-fp
area:test-coverage
dogfood:fn
dogfood:fp
dogfood:friction
dogfood:tp
phase:b
phase:c
severity:critical
severity:high
severity:low
severity:medium
source:deepseek-v4-pro
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
pdurlej/fallow-py!118
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "codex/phase-b-fp-reductions"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Canary Context Pack
Product story
The 2026-06-15 dogfood precision audit found that first-run
fallow-pyoutput has useful signal but too much avoidable false-positive noise. This PR implements the smallest evidence-derived Phase B slice so the next dogfood round starts from less noise instead of only documenting it.What changed
missing-runtime-dependencyblockers when there is no unguarded production use;TYPE_CHECKINGimports remain type-scope signals.requirements*.txt/requirements/*.txtare recorded as dependency files but not treated as runtime manifests;_typeshedis excluded from dependency rules; sibling absolute imports such as localsettings/apps.sitemapsresolve locally when the matching sibling module exists.__all__re-exports from__init__.pyare treated as medium-or-better public API.Why it changed
These are direct fixes for the largest systematic FP clusters from PR #113. The goal is not a new analyzer category; it is to make the existing rules less wrong on common real-world Python layouts.
Files touched
src/fallow_py/discovery.pysrc/fallow_py/dependencies.pysrc/fallow_py/resolver.pysrc/fallow_py/ast_index.pysrc/fallow_py/analysis.pytests/test_pyfallow.pyRuntime evidence
python3 -m pytest -qpython3 -m compileall -q src tests mcp/src mcp/testspython3 -m fallow_py analyze --root . --fail-on warning --min-confidence medium --format textKnown constraints
This PR uses compact regression fixtures inside the existing Python test suite rather than committing the large
/tmp/fallow-dogfoodcorpus. A corpus re-run should follow after merge to quantify the precision delta against the #113 baseline.Explicit out-of-scope
Requested decision
approve_mergeafter CI is green if the behavior matches the four issue scopes.Closes #114.
Closes #115.
Closes #116.
Closes #117.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.