Skip to content
FendixDocumentationDocs

.fendix.yaml · SEC-001 · SARIF

Current release v3.7.0
ReferenceStablev3.7.0

Exit codes

Stable process exit behavior and its boundary with findings, coverage, and release decisions.

On this page
An exit code is the process interface consumed by automation. A release decision is a policy result preserved in the report or Decision Record. They are related, but they are not interchangeable labels.

Stable exit-code matrix

CommandCodeMeaning
scan / import0The command completed and no finding reached BLOCK; strict coverage requirements also passed.
scan / import1At least one finding reached BLOCK under the enforced finding policy.
scan / import2Usage, runtime, scanner, or requested coverage contract failure.
verify0The selected finding is resolved.
verify1The selected finding is still present.
verify2The finding is unknown or could not be located.
benchmark compare1A benchmark metric regressed beyond the accepted threshold.
ignore validate1The ignore file failed validation.

scan: automation versus decision

Exit 0 does not universally mean PASS: a run can complete with WARN findings. Exit 1 means a finding reached BLOCK. Exit 2 covers usage/runtime failure and requested coverage failures such as --fail-on-coverage-gap or --require-analyzers. Read the report for the release decision and its evidence.

CI interpretation

ci.sh
set +e
fendix scan --code . --fail-on HIGH --fail-on-coverage-gap --output results.json
status=$?
# Always upload results.json when it exists.
exit "$status"

Add Fendix to CI · Findings and release decisions · Coverage