Findings and placements
A finding is Emendant’s final answer: a known feed change applies to the package version in a workspace, and the repository structurally uses the affected API.
Candidate, match, finding
Section titled “Candidate, match, finding”These terms mark three different levels of evidence:
| Term | What it proves |
|---|---|
| Candidate | A file may be relevant. Raw text, including a comment or string, can make it a candidate. |
| Match | The syntax tree shows a real use of the changed API and attributes it to the package. |
| Finding | The match is combined with the package version and the change is placed against that installation. |
Use emendant scan when you want real repository risk. prefilter and match are inspection commands for understanding earlier stages.
Placements
Section titled “Placements”Every finding has exactly one applicability placement.
Pending
Section titled “Pending”The installed version is below the release containing the change. The code works today, and upgrading is expected to break it. Pending findings are the main scan result.
Adopted
Section titled “Adopted”The project is already on the release, but the old call site still exists. Adopted findings are hidden unless you use --adopted or set "adopted": true in configuration.
Unknown
Section titled “Unknown”Emendant cannot place the declared dependency range entirely before or after the release, or the version syntax is unreadable. The finding is reported with a coverage warning instead of being guessed into pending or adopted.
Adding or refreshing a supported lockfile usually turns an unknown placement into an exact one.
Severity and confidence
Section titled “Severity and confidence”Severity describes the kind of upstream change:
breaking: an existing supported use no longer works.deprecation: the use still works but has a stated removal path.behaviour: the call still exists but its behaviour changed.
Confidence describes how strongly a matcher firing implies that the code is genuinely affected. It belongs to the curated change entry, not to an individual repository or the length of a provenance chain.
Warnings
Section titled “Warnings”Warnings are classified by what they mean:
- A coverage warning means some relevant input could not be checked. It always prints.
- A note explains a choice made while coverage was retained. It appears with
--verbose; hidden notes are still counted.
A report with no findings is trustworthy only after any coverage warnings have been understood.

