Troubleshooting
“No manifest found. Nothing to scan.”
Section titled ““No manifest found. Nothing to scan.””Run Emendant from the repository root, or point --cwd at the directory containing a supported manifest:
npx emendant scan --cwd /path/to/projectFor a monorepo, the root manifest must declare its workspaces.
“No feed entry applies”
Section titled ““No feed entry applies””The repository was detected, but the bundled feed has no selected change for its directly declared packages and versions. Confirm detection first:
npx emendant detect --allThen review the current feed coverage. Emendant does not treat an unsupported package as though it had been checked.
A finding has an unknown placement
Section titled “A finding has an unknown placement”Emendant could not prove whether the installed version is before or after the change release. Common causes are a missing lockfile, a range spanning the release, or a dependency form such as a Git URL.
Commit and install from a supported lockfile where possible, then rerun the scan. Do not suppress the accompanying coverage warning unless another process establishes the version.
A coverage warning appears with no findings
Section titled “A coverage warning appears with no findings”The zero finding count covers only what Emendant successfully checked. Read the warning: it may identify an unreadable version, unresolved local module, unsupported grammar, or a provenance budget that was exhausted.
Use verbose output for the complete context:
npx emendant scan --verboseprefilter reports a file but scan does not
Section titled “prefilter reports a file but scan does not”This is expected. The prefilter scans raw text, so a comment, string, or unrelated identifier can make a file a candidate. Structural matching removes those lookalikes before a finding is produced.
Use these commands to inspect the distinction:
npx emendant prefilter --verbosenpx emendant matchA real indirect call site is missing
Section titled “A real indirect call site is missing”Run scan --verbose and look for module-resolution or candidacy-budget coverage warnings. Dynamic dependency injection, runtime mutation, and ambiguous sources are intentionally declined.
If the value flow is static and supported, reduce it to a small reproducible repository and send it to your Emendant contact.
CI treats findings as a tool failure
Section titled “CI treats findings as a tool failure”Exit code 1 means the scan completed with findings. Exit code 2 means the scan failed to complete. Capture the code before uploading JSON or adding custom reporting; see the CI guide.
Terminal output contains colour codes
Section titled “Terminal output contains colour codes”Use --no-color or set the standard NO_COLOR environment variable:
NO_COLOR=1 npx emendant scan
