Improve manifest reach, detection precision, and language accuracy#16
Merged
Conversation
Code-level follow-ups to the detector-coverage work, all gated on the stack-hash quality bar (move a real slot or remove a false positive). 21 new tests; no existing fixture detection changed. Manifest reach & precision - Apply the per-manifest dependency cap only to the reported output; the rule engine now sees the full set (was silently dropping hash-significant deps). - PyPiParser reads PEP-735 [dependency-groups], any *requirements*.txt, setup.py install_requires/extras, and conda environment.yml (incl. nested pip:). - Transitive guard: pip-compile lockfiles are detected and their transitive closure marked Transitive; framework/db/orm supported only by transitive deps drop to Low so they never fabricate a hash slot. - New PaketParser (paket.dependencies/.references -> nuget deps). - MSBuild <Import Project> following: merge PackageReferences/properties from shared .props/.targets (recursive, cycle-guarded). Detection - WinForms via a new MSBuild `properties` MatchSpec facet (UseWindowsForms=true). - New built-in PrismaDetector: schema.prisma datasource provider -> database slot. Language accuracy - Drop .h from the Objective-C detector and .m from MATLAB; .fx -> HLSL (not FLUX); OpenCL added to the classifier priority list (beats Common Lisp on .cl). - Binary-content guard so blobs (e.g. a .p pickle) are not counted as source. - Exclude *.min.js / *.min.css from language statistics.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Code-level follow-ups to the detector-coverage work (PR #15), each gated on the stack-hash quality bar: move a real slot or remove a false positive. 126 tests pass (+21 new); no existing fixture detection changed.
Manifest reach & precision
[dependency-groups], any*requirements*.txt,setup.pyinstall_requires/extras, condaenvironment.yml(incl. nestedpip:).Transitive; framework/db/orm supported only by transitive deps drop to Low so they can't fabricate a hash slot (kills false FastAPI/sqlite on CLIs).paket.dependencies/paket.references→ nuget deps.<Import Project>following — merge PackageReferences/properties from shared.props/.targets(recursive, cycle-guarded).Detection
propertiesMatchSpec facet (UseWindowsForms=true).schema.prismadatasource provider → database slot.Language accuracy (report credibility)
.hfrom Objective-C and.mfrom MATLAB;.fx→HLSL (not FLUX); OpenCL beats Common Lisp on.cl..ppickle no longer counts as Gnuplot).*.min.js/*.min.cssfrom language stats.Remaining lower-value items (C2 vendored lockfiles, C9 maturin, C10 import-scan, L5
.gitattributes, L6 docs-scoping) are tracked insrc/.review/_PLAN.md.