Skip to content
axintdocs

Evidence model

Axint separates a finding's user-facing severity from the strength of the evidence supporting it. A static rule does not become compiler truth merely because its message says error.

State Meaning Default gate behavior
confirmed Compiler, test, runtime, or deterministic parser evidence supports the finding. Blocks when severity is error.
probable Strong static or project evidence exists and Apple tooling has not contradicted it. Blocks by default outside advisory mode.
advisory A heuristic lead requires review, runtime proof, or domain judgment. Does not fail the command; keeps the result at needs review.
suppressed Evidence in the current receipt contradicts a compiler-shaped claim. Does not block; remains in the receipt with the reason.

Diagnostics can carry evidence from axint-parser, axint-static, project-index, swift-compiler, xcode-build, xcode-test, and runtime. Each evidence item states whether it supports, contradicts, or adds context to the finding. JSON consumers should use status, confidence, blocking, and evidence rather than inferring the gate from severity alone.

  1. A matching Xcode error at the same source location promotes a probable compiler-shaped finding to confirmed.
  2. A successful selected build suppresses compiler-shaped findings that claim the build cannot compile.
  3. Passing tests add behavior context. They do not automatically suppress an unrelated accessibility, privacy, design, or runtime advisory.
  4. Suppressed findings remain in JSON and Markdown receipts for auditability.
  5. --advisory changes blocking behavior, not the underlying evidence.
Terminal window
axint validate-swift Sources/Feature.swift \
--xcode-build-log artifacts/xcodebuild.log \
--json

The JSON report includes an evidenceSummary and the complete evidence array for each diagnostic.

The public brownfield benchmark is a small, transparent rule-level regression corpus. Its precision, recall, and abstention numbers apply only to the listed fixtures. They are not estimates for arbitrary production projects. See axint.ai/benchmarks and the committed corpus for the exact cases.