- fail closed on MCP input and compile database policy - add shared scan catalogs, finding queries, and tiered gates
1.3 KiB
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:
- Download and inspect the complete lint artifact from CI.
- Fix actionable diagnostics where practical.
- Add only intentionally deferred identities with a concrete rationale.
- Record the reviewer and review timestamp.
- 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.