Skip to content
FendixDocumentationDocs

.fendix.yaml · SEC-001 · SARIF

Current release v3.7.0
ReferenceStablev3.7.0

Coverage reference

Exact scanner states, reasons, lifecycle classes, engine gaps, and required-coverage semantics.

On this page
No finding is not complete coverage.

Findings answer whether delivered evidence identified a security condition. Coverage answers whether the required evidence sources ran and fulfilled policy.

Raw scanner states

Coverage contract v1 records exactly three scanner_status states. An ok entry means the analyzer completed; finding count and evidence records remain separate, so ok does not distinguish zero findings from one or more findings.

okskippedfailed

Derived lifecycle classes

ClassMeaningEngine gapSatisfies --require-analyzers
okThe analyzer ran to completion. It may legitimately produce zero findings.NoYes
not_applicableThe requested input does not need this analyzer, or the relevant files were unchanged.NoYes
disabledConfiguration intentionally kept the analyzer from running.NoNo
unavailableThe analyzer was configured to run but a required dependency was missing. This is an engine coverage gap.YesNo
unsupportedThe target shape is outside the analyzer's supported contract and is recorded as a limitation.NoNo
failedThe analyzer started or was required but did not deliver trustworthy completion. This is an engine coverage gap.YesNo
unknownA legacy or invalid state/reason pairing cannot be classified safely.NoNo

Closed reason registry

A skipped state uses a skip reason; a failed state uses a failure reason. Consumers must not infer a class from free-form detail.

ReasonRaw stateClassEngine gap
not_applicableskippednot_applicableNo
diff_unchangedskippednot_applicableNo
disabled_by_flagskippeddisabledNo
disabled_offlineskippeddisabledNo
dependency_missingskippedunavailableYes
unsupported_targetskippedunsupportedNo
network_errorfailedfailedYes
timeoutfailedfailedYes
execution_errorfailedfailedYes
malformed_outputfailedfailedYes
truncated_outputfailedfailedYes
input_errorfailedfailedYes
no_endpointsfailedfailedYes

Required coverage

The engine's configured_complete becomes false for the unavailable and failed classes. An explicit --require-analyzers contract is stricter: only ok and not_applicable satisfy a named requirement. Disabled, unsupported, missing, or unrecorded analyzers become required gaps.

Why the release is INCOMPLETE

InputObserved factDecision effect
SASTAvailable evidence supports a HIGH finding with WARN disposition.WARN
DASTThe required live evidence source completed.Coverage delivered
SCAPolicy requires dependency evidence, but the required analyzer did not deliver it.INCOMPLETE

The WARN finding does not make the release INCOMPLETE. Missing required SCA coverage does. Fendix does not turn that gap into a vulnerability finding.

Coverage concept · Analyzer Registry · Require coverage · scan coverage flags