enolaDocsReading Enola output

Documentation

Reading Enola output

Use the summary, findings, receipt, and coverage report to decide what the result means.

01 · Summary

Start with status and scope

Example checkoutput
FAIL — 1 structural regression introduced.
Policy: fail on new findings from [layers] at confidence >= 1.00.

PASS or FAIL describes the active policy, not whether findings exist. A check can pass while reporting findings when their categories are not selected by --fail-on.

02 · Findings

Read the evidence for each finding

FieldUse
CategoryThe exact name used by --fail-on.
StatusWhether the finding was introduced, resolved, or unchanged.
EvidenceThe files, symbols, and relations that produced the finding.
ConfidenceThe reported certainty. Use --min-confidence to filter before policy is evaluated.

03 · Exit codes

Handle the command result

CodeMeaning
0The active policy passed, including checks with ungraded findings.
1A finding selected by policy, or configured spillover, failed the check.
2The invocation or policy is invalid.
3The current snapshot cannot be compared with the baseline.

04 · Receipt

Confirm how the graph was produced

The receipt records the Enola version, repository identity, git state, ignore settings, extractors, providers, and fact counts. Check it when results differ between machines or a comparison returns code 3.

05 · Coverage

Check unresolved relationships

A missing edge is not proof that no runtime relationship exists. Review unresolved calls, unsupported syntax, generated code, and unmatched cross-repository links before treating impact or reachability as complete.

Use enola coverage for cross-repository resolution. Language and framework capabilities are listed in Language coverage.

06 · Automation

Choose output for the consumer

Machine-readable resultsshell
enola check --json
enola check --format=annotations --host=github
enola check --format=annotations --host=buildkite
enola check --format=sarif > enola.sarif

Use JSON for custom scripts, annotations for native CI messages, and SARIF for code-scanning systems. Preserve the process exit code for control flow.