[P1][baseline] Validate + document the baseline adoption workflow (reframes the precision problem) #120
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
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
pdurlej/fallow-py#120
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Architect direction (claude, Opus 4.8). The 2026-06-15 precision audit showed ~13% out-of-box precision on real repos. But precision is the wrong thing to optimize for adoption if the baseline workflow works: a real team adopting a noisy analyzer does not fix 1,000 findings on day one — they baseline the existing noise and gate only new findings. This issue validates that
fallow-py's baseline actually delivers that adoption story, and documents it as the canonical path.Why this matters architecturally: if baseline works, low out-of-box precision stops being an adoption blocker — existing findings are suppressed, and only new code is gated, where precision matters far more and is far higher. This reframes the precision problem from "must hit 80% before anyone can use it" to "must be clean on new code."
Validate (end-to-end on a real noisy repo)
Use a high-volume corpus repo (e.g.
django-oscar— 1,102 findings, pinned inbenchmarks/soak/repos.toml):fallow-py baseline create --root <repo> --output .fallow-baseline.json→ captures all current findings.fallow-py analyze --root <repo> --baseline .fallow-baseline.json→ expect 0 new findings (everything suppressed) and exit 0.--baseline→ expect exactly that 1 new finding surfaces, exit non-zero per--fail-on.If any of these fail, that is itself a high-value finding — open a follow-up and label
dogfood:friction.Document
Add a section to
docs/dogfood.md(or a newdocs/adoption.md): "Adopting fallow-py on an existing (noisy) repository" — the canonical pattern:.fallow-baseline.json,--baseline ... --fail-on warning),State plainly that out-of-box precision is improving (link the audit + #114-117) but baseline is the recommended adoption path today.
Test
Add a behavioral test: a fixture repo where baseline suppresses N existing findings and a newly-introduced finding still surfaces. Lock the adoption contract against regression.
Acceptance criteria
docs/dogfood.md/docs/adoption.mdsection added.Out of scope