fold/tests/lint
trvon b0b51f1e71
feat: converge quality and scan interfaces
- fail closed on MCP input and compile database policy
- add shared scan catalogs, finding queries, and tiered gates
2026-07-29 00:57:33 -04:00
..
clang_tidy_baseline.json feat: converge quality and scan interfaces 2026-07-29 00:57:33 -04:00
README.md feat: converge quality and scan interfaces 2026-07-29 00:57:33 -04:00
shellcheck_baseline.json feat: converge quality and scan interfaces 2026-07-29 00:57:33 -04:00

Differential lint baselines

The lint workflow retains complete clang-tidy.txt and shellcheck.txt logs, then uses scripts/compare_lint_baseline.py to block only diagnostic identities that are not in the reviewed baselines in this directory.

An identity consists of the project-relative path, severity, rule, and message. Line and column are retained as evidence but excluded from identity so unrelated line movement does not turn reviewed debt into a new warning. Duplicate header diagnostics emitted through several translation units collapse to one identity.

Baseline entries are not blanket suppressions. Every entry must have status accepted-risk and either a non-empty inline rationale or a rationale_ref into the baseline's reviewed rationales map. To update a baseline:

  1. Download and inspect the complete lint artifact from CI.
  2. Fix actionable diagnostics where practical.
  3. Add only intentionally deferred identities with a concrete rationale.
  4. Record the reviewer and review timestamp.
  5. Run the comparator locally and confirm that a synthetic new diagnostic still exits with status 1.

Vendored dependencies and downloaded benchmark corpora are outside the first-party ShellCheck scope. The clang-tidy lane analyzes production src/*.cpp translation units using the checked-in .clang-tidy configuration.