ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
suppression_scope_registry.py
Go to the documentation of this file.
1# SPDX-License-Identifier: MIT
2# Copyright (c) 2026 Brighton Sikarskie
3"""Explicit registry for repository checker scope and exemption authorities.
4
5Every module-level constant in the checker census is classified here (an
6authority whose values are digest-bound) or in
7``suppression_nonauth_registry`` (an explicit non-authority carrying a
8category reason). Identities are stored relative to ``scripts/`` so entries
9pack densely; ``AUTHORITY_SCHEMAS`` restores the full path.
10"""
11
12from __future__ import annotations
13
14from dataclasses import dataclass
15
16from suppression_scope_categories import non_authority_categories
17from suppression_scope_registry_additions import additional_schema_groups
18
19
20@dataclass(frozen=True)
21class AuthoritySchema:
22 """One reviewed authority's semantic subtype and closed AST value shape."""
23
24 subtype: str
25 mode: str = "literal"
26
27
28_SCHEMA_GROUPS = (
29 (
30 "suppression-control-plane",
31 "callable-table",
32 (
33 "checks/suppression_inline_scan.py:RECOGNIZERS",
34 "checks/suppression_tool_controls.py:COMMENT_RECOGNIZERS",
35 ),
36 ),
37 (
38 "allowed-token",
39 "literal",
40 (
41 "checks/annot_linkage.py:C_ENTRY_POINT",
42 "checks/annot_rulekeys.py:INFORMATIONAL_RULES",
43 "checks/annot_rules.py:_NSC_SRC_DIR",
44 "checks/check_ansible_collections.py:BUILTIN_COLLECTIONS",
45 "checks/check_c6_patch_upstream.py:EXPECTED_UPSTREAM",
46 "checks/check_ci_image_single_builder.py:DEPLOYED_RUNNER_BUILDER",
47 "checks/check_ci_image_single_builder.py:SOLE_BUILDER",
48 "checks/check_doc_diagrams.py:STARTUML_DOC_ALLOWLIST",
49 "checks/check_doc_diagrams.py:SVG_LOCAL_REF",
50 "checks/check_gitignore_scope.py:RESERVED_DIR_NAMES",
51 "checks/check_hil_alive_policy.py:ALLOWED_MODES",
52 "checks/check_inclusive_terminology.py:HW_TOKENS",
53 "checks/check_just_references.py:STANDALONE_SURFACES",
54 "checks/check_line_citations.py:TOOL_OUTPUT_TOKENS",
55 "checks/check_no_gnu_attribute.py:ALLOWED",
56 "checks/check_no_null.py:ALLOWED_TOKENS",
57 "checks/check_third_party_patches.py:METADATA_NAMES",
58 "checks/download_installers_macos.py:CLEANUP_ASSIGNMENT_PAIRS",
59 "checks/download_installers_macos.py:CLEANUP_STATIC_READONLY",
60 "checks/doxy_members.py:_STANDARD_FEATURE_MACROS",
61 "checks/doxy_style.py:VALID_DIRECTIONS",
62 "checks/hil_cache_repair_rules.py:SAFE_DOCUMENTED_COMMANDS",
63 "checks/matrix_ratchet.py:NOT_RUN_VERDICTS",
64 "checks/matrix_ratchet.py:PASS_VERDICTS",
65 "checks/tier_layers.py:EXEMPT_CONSUMER_ROOTS",
66 "checks/tier_layers.py:ORCHESTRATION_EXEMPT",
67 ),
68 ),
69 (
70 "anti-vacuity-floor",
71 "literal",
72 (
73 "checks/annot_clang.py:MIN_CALL_RESOLUTION",
74 "checks/audit_init_order.py:APP_FLOOR",
75 "checks/check-copyright.py:FILE_FLOOR",
76 "checks/check_agnostic_registers.py:MIN_SCANNED_FILES",
77 "checks/check_ansible_collections.py:ESSENTIAL_COLLECTIONS",
78 "checks/check_asm.py:FILE_FLOOR",
79 "checks/check_bench_lock.py:DISCOVERY_FLOOR",
80 "checks/check_bench_lock.py:MUST_DISCOVER",
81 "checks/check_bench_lock.py:PREFLASH_DISCOVERY_FLOOR",
82 "checks/check_bench_lock.py:PREFLASH_MUST_DISCOVER",
83 "checks/check_c6_integration.py:REQUIRED_STAGED_SOURCES",
84 "checks/check_comment_format.py:FILE_FLOOR",
85 "checks/check_core_layering.py:FILE_FLOOR",
86 "checks/check_core_layering.py:OWNER_FLOOR",
87 "checks/cppcheck_sources.py:MIN_SOURCE_UNITS",
88 "checks/check_devcontainer.py:FILE_FLOOR",
89 "checks/check_disambig_readmes.py:MIN_CLAIMS",
90 "checks/check_disambig_readmes.py:MIN_READMES",
91 "checks/check_doc_attachment.py:FILE_FLOOR",
92 "checks/check_doc_diagrams.py:DIAGRAM_FLOOR",
93 "checks/check_entry_points.py:FIRMWARE_FLOOR",
94 "checks/check_entry_points.py:HOSTED_FLOOR",
95 "checks/check_entry_points.py:MUST_DISCOVER",
96 "checks/check_errexit_masking.py:SELFTEST_EXPECTED_HITS",
97 "checks/check_example_board_pins.py:FILE_FLOOR",
98 "checks/check_final_newline.py:FILE_FLOOR",
99 "checks/check_gitignore_scope.py:PATTERN_FLOOR",
100 "checks/check_header_file_placement.py:MIN_PRIVATE_HEADERS",
101 "checks/check_hil_alive_policy.py:HIL_CONF_FLOOR",
102 "checks/check_hook_parity.py:HOOK_INSTALLER_SHA256",
103 "checks/check_hook_parity.py:INSTALLED_LAUNCHER_SHA256",
104 "checks/check_hook_parity.py:PRE_COMMIT_SHA256",
105 "checks/check_hook_parity.py:PROOF_WRITER_SHA256",
106 "checks/check_hum_register_map.py:MIN_CITE_CLAIMS",
107 "checks/check_hum_register_map.py:MIN_FILES_SCANNED",
108 "checks/check_hum_register_map.py:MIN_WINDOW_CLAIMS",
109 "checks/check_inclusive_terminology.py:FILE_FLOOR",
110 "checks/check_just_references.py:MIN_ALIASES",
111 "checks/check_just_references.py:MIN_LITERAL_REFERENCES",
112 "checks/check_just_references.py:MIN_MODULES",
113 "checks/check_just_references.py:MIN_PUBLIC_RECIPES",
114 "checks/check_just_references.py:MIN_SCOPED_FILES",
115 "checks/check_linker_scripts.py:MIN_OPTION_WORDS",
116 "checks/check_linker_scripts.py:OFS3_FAMILY",
117 "checks/check_linker_scripts.py:OPTION_SETTING_FILE_FLOOR",
118 "checks/check_lint_coverage.py:FILE_FLOOR",
119 "checks/check_mcdc_floor.py:FLOOR_PCT",
120 "checks/check_misra_deviations.py:MIN_BASELINE_RULES",
121 "checks/check_misra_deviations.py:MIN_EXCERPTS",
122 "checks/check_misra_deviations.py:MIN_OWNERSHIP_FAMILIES",
123 "checks/check_misra_deviations.py:MIN_REGISTER_ROWS",
124 "checks/check_no_build_credentials.py:MIN_CMAKE_FILES",
125 "checks/check_no_build_credentials.py:MIN_JUST_FILES",
126 "checks/check_no_build_credentials.py:MIN_SCRIPT_FILES",
127 "checks/check_no_build_credentials.py:MIN_SOURCE_FILES",
128 "checks/check_no_dynamic_alloc.py:SCOPE_FILE_FLOORS",
129 "checks/check_no_dynamic_alloc.py:TOTAL_FILE_FLOOR",
130 "checks/check_no_gnu_attribute.py:FILE_FLOOR",
131 "checks/check_no_legacy_make.py:MIN_SCOPED_FILES",
132 "checks/check_no_stdio_streams.py:ROOT_FILE_FLOORS",
133 "checks/check_no_stdio_streams.py:TOTAL_FILE_FLOOR",
134 "checks/check_no_unsafe_python_install.py:MIN_SCOPED_FILES",
135 "checks/check_no_unsafe_python_install.py:SELF",
136 "checks/check_no_wave_references.py:FILE_FLOOR",
137 "checks/check_obsolete_standards.py:TREE_FLOOR",
138 "checks/check_pointer_boilerplate.py:MIN_SCOPED_FILES",
139 "checks/check_python_lock_policy.py:CONSUMER_PROOF_ROWS",
140 "checks/check_python_lock_policy.py:EXTERNAL_IMPORTS",
141 "checks/check_python_lock_policy.py:EXPECTED_ASSETS",
142 "checks/check_python_lock_policy.py:MIN_DIRECT_DEPENDENCIES",
143 "checks/check_python_lock_policy.py:MIN_FIRST_PARTY_PYTHON_FILES",
144 "checks/python_lock_policy_scan.py:CLI_DISTRIBUTIONS",
145 "checks/check_reserved_addresses.py:ENUMERATOR_FLOOR",
146 "checks/check_roadmap_dashboard_freshness.py:DRIVER_FLOOR",
147 "checks/check_ruff.py:EXPECTED_CODES",
148 "checks/check_ruff.py:FILE_FLOOR",
149 "checks/check_runner_image_deps.py:K_MIN_DEPENDENCIES",
150 "checks/check_sg_offsets.py:SYMBOL_FLOOR",
151 "checks/check_shell.py:SCRIPT_FLOOR",
152 "checks/check_shell_just_invocations.py:MIN_SHELL_FILES",
153 "checks/check_shell_just_invocations.py:SELF",
154 "checks/check_soup_upstream.py:MIN_COMPONENTS",
155 "checks/check_soup_upstream.py:MIN_ENTRIES",
156 "checks/check_soup_upstream.py:MIN_UPSTREAM_VERIFIED",
157 "checks/check_source_layout.py:APP_COMPRESS_FILES",
158 "checks/check_tests_readme.py:MIN_SUBDIRS",
159 "checks/check_tool_warning_flags.py:MIN_CMAKE_TOOL_PROJECTS",
160 "checks/check_tz_boundary_discard.py:FILE_FLOOR",
161 "checks/cite_ratchet.py:MIN_ACCESS_LINES",
162 "checks/cite_ratchet.py:MIN_SCANNED_FILES",
163 "checks/doxy_scope.py:FUNCTION_FILE_FLOOR",
164 "checks/doxy_scope.py:MEMBER_FILE_FLOOR",
165 "checks/doxy_style.py:FILE_SCAN_FLOOR",
166 "checks/doxy_style.py:PARAM_SCAN_FLOOR",
167 "checks/hil_cache_repair_rules.py:APPROVED_DRIVER_LINES",
168 "checks/hil_cache_repair_rules.py:APPROVED_JUSTFILE",
169 "checks/hil_cache_repair_rules.py:APPROVED_PLAYBOOK_DIGEST",
170 "checks/hil_cache_repair_rules.py:DEV_CONNECT_DIGEST",
171 "checks/hook_runtime_selftest.py:EXPECTED_GATES",
172 "checks/hook_runtime_selftest.py:HOOK_NAMES",
173 "checks/hum_regmap.py:MIN_CHAPTERS_WITH_REGISTERS",
174 "checks/hum_regmap.py:MIN_ROWS_WITH_OFFSET",
175 "checks/hum_regmap.py:MIN_TOTAL_ROWS",
176 "checks/lint_targets.py:TRACKED_FLOOR",
177 "checks/mcdc_compound_ratchet.py:MIN_CITATIONS",
178 "checks/mcdc_compound_ratchet.py:MIN_PRODUCTION_FILES",
179 "checks/soup_manifest.py:UPSTREAM_VERIFIED_KINDS",
180 "checks/soup_selftest.py:FLOOR_SANITY_MIN",
181 "checks/stack_usage_check.py:DEFAULT_MIN_FUNCTIONS",
182 "checks/suppression_checker_nonfatal.py:EXPECTED_DECLARATIONS",
183 "checks/suppression_checker_nonfatal.py:EXPECTED_INFORMATIONAL_RULES",
184 "checks/suppression_checker_scope.py:EXPECTED_AUTHORITIES",
185 "checks/suppression_checker_scope.py:EXPECTED_AUTHORITY_REASON_SHA256",
186 "checks/suppression_checker_scope.py:EXPECTED_AUTHORITY_VALUE_SHA256",
187 "checks/suppression_checker_scope.py:EXPECTED_CLASSIFICATION_SHA256",
188 "checks/suppression_checker_scope.py:EXPECTED_VALUES",
189 "checks/suppression_checker_scope.py:MIN_CENSUS_CONSTANTS",
190 "checks/suppression_compiler_selftest.py:EXPECTED_ALLOC_PROBLEMS",
191 "checks/suppression_compiler_selftest.py:EXPECTED_CLANG_TIDY_CONFIG_ROWS",
192 "checks/suppression_compiler_selftest.py:EXPECTED_COMPILER_PRAGMA_ROWS",
193 "checks/suppression_compiler_selftest.py:EXPECTED_CPP_ALLOC_PROBLEMS",
194 "checks/suppression_compiler_selftest.py:EXPECTED_CPP_ALLOC_ROWS",
195 "checks/suppression_compiler_selftest.py:EXPECTED_GNU_SANITIZER_ROWS",
196 "checks/suppression_compiler_selftest.py:EXPECTED_GNU_UNUSED_ROWS",
197 "checks/suppression_governance_selftest.py:EXPECTED_ANSIBLE_FIXTURE_ROWS",
198 "checks/suppression_governance_selftest.py:EXPECTED_DOXYGEN_FIXTURE_ROWS",
199 "checks/suppression_governance_selftest.py:EXPECTED_NONFATAL_FIXTURE_ROWS",
200 "checks/suppression_governance_selftest.py:EXPECTED_UNCLASSIFIED_FIXTURES",
201 "checks/suppression_governance_selftest.py:EXPECTED_SECURITY_FIXTURE_ROWS",
202 "checks/suppression_mcdc_selftest.py:EXPECTED_MALFORMED_MCDC_MACRO_ROWS",
203 "checks/suppression_mcdc_selftest.py:EXPECTED_MCDC_FUNCTION_ROWS",
204 "checks/suppression_scan.py:MIN_REPOSITORY_FILES",
205 "checks/suppression_scan.py:MIN_SUPPRESSIONS",
206 "checks/suppression_selftest.py:EXPECTED_DEAD_ANCHOR_FINDINGS",
207 "checks/suppression_selftest.py:EXPECTED_ACTIVE_SHELL_STATUS_ROWS",
208 "checks/suppression_selftest.py:EXPECTED_ANSIBLE_CONTROL_ROWS",
209 "checks/suppression_selftest.py:EXPECTED_BASELINE_ROWS",
210 "checks/suppression_selftest.py:EXPECTED_BROAD_NOLINT_ROWS",
211 "checks/suppression_selftest.py:EXPECTED_BUILD_ROWS",
212 "checks/suppression_selftest.py:EXPECTED_CENTRAL_ROWS",
213 "checks/suppression_selftest.py:EXPECTED_CLANG_ROWS",
214 "checks/suppression_selftest.py:EXPECTED_CMAKE_WNO_DEV_ROWS",
215 "checks/suppression_selftest.py:EXPECTED_COMPILER_WNO_DEV_ROWS",
216 "checks/suppression_selftest.py:EXPECTED_COVERAGE_MASK_ROWS",
217 "checks/suppression_selftest.py:EXPECTED_CTEST_CONTROL_ROWS",
218 "checks/suppression_selftest.py:EXPECTED_EMBEDDED_SHELL_STATUS_ROWS",
219 "checks/suppression_selftest.py:EXPECTED_JUST_SHELL_STATUS_ROWS",
220 "checks/suppression_selftest.py:EXPECTED_MALFORMED_NATIVE_SKIP_ROWS",
221 "checks/suppression_selftest.py:EXPECTED_MCDC_ROWS",
222 "checks/suppression_selftest.py:EXPECTED_NATIVE_SKIP_ROWS",
223 "checks/suppression_selftest.py:EXPECTED_OPTIONAL_INACTIVE",
224 "checks/suppression_selftest.py:EXPECTED_PROJECT_ROWS",
225 "checks/suppression_selftest.py:EXPECTED_PYTHON_CONTROL_ROWS",
226 "checks/suppression_selftest.py:EXPECTED_PYTHON_REGION_ROWS",
227 "checks/suppression_selftest.py:EXPECTED_RUFF_CONFIG_ROWS",
228 "checks/suppression_selftest.py:EXPECTED_SHELLCHECK_GLOBAL_ROWS",
229 "checks/suppression_selftest.py:EXPECTED_SHELLCHECK_ROWS",
230 "checks/suppression_selftest.py:EXPECTED_WORKFLOW_CONTROL_ROWS",
231 "checks/suppression_selftest.py:EXPECTED_YAML_BUILD_ROWS",
232 "checks/suppression_selftest.py:EXPECTED_YAML_SHELL_STATUS_ROWS",
233 "checks/suppression_selftest_fixtures.py:EXPECTED_FIXTURE_INVENTORY_SHA256",
234 "checks/suppression_selftest_fixtures.py:EXPECTED_FIXTURE_SHA256",
235 "checks/suppression_tool_selftest.py:EXPECTED_HADOLINT_ROWS",
236 "checks/suppression_tool_selftest.py:EXPECTED_MARKDOWN_CONFIG_ROWS",
237 "checks/suppression_tool_selftest.py:EXPECTED_REGION_ROWS",
238 "checks/tidy_ratchet.py:DIAGNOSTIC_ERROR_FLOOR",
239 "checks/tidy_ratchet.py:MAX_DIAGNOSTIC_ERROR_RATE",
240 "checks/tier_layers.py:APPS_C_FILE_FLOOR",
241 "checks/tier_layers.py:APPS_HEADER_FLOOR",
242 "checks/tier_layers.py:CMAKE_TOTAL_FILE_FLOOR",
243 "checks/tier_layers.py:C_ROOT_FILE_FLOORS",
244 "checks/tier_layers.py:C_TOTAL_FILE_FLOOR",
245 "checks/tree_coverage_model.py:MEASURED_FLOOR",
246 "checks/tree_coverage_model.py:ROOT_CENSUS_FLOORS",
247 "ci/check_gate_bodies.py:MIN_GATE_BODIES",
248 "ci/check_selftest_coverage.py:MIN_INVOKED",
249 ),
250 ),
251 (
252 "anti-vacuity-floor",
253 "string-leaves",
254 ("checks/tree_coverage_model.py:PROJECTS",),
255 ),
256 (
257 "generated-classification",
258 "derived-generated-paths",
259 (
260 "checks/check_no_null.py:GENERATED_SOURCE_PATHS",
261 "checks/check_no_stdio_streams.py:GENERATED_SOURCE_PATHS",
262 ),
263 ),
264 (
265 "generated-classification",
266 "derived-generated-prefixes",
267 ("checks/suppression_catalog.py:GENERATED_PREFIXES",),
268 ),
269 (
270 "generated-classification",
271 "literal",
272 (
273 "checks/annot_clang.py:GENERATED_HEADERS",
274 "checks/annot_scope.py:GENERATED_SOURCE_CLASS",
275 "checks/check-copyright.py:_GENERATED",
276 "checks/doxy_scope.py:GENERATED_PROTOCOL_FILES",
277 "checks/hum_regmap.py:HUM_CSV",
278 "checks/lint_coverage_rules.py:PATH_CLASS",
279 "checks/tree_coverage_model.py:GENERATED_CLASS",
280 ),
281 ),
282 (
283 "host-exemption",
284 "literal",
285 (
286 "checks/annot_clang.py:NON_LINUX_MISSING_HEADERS",
287 "checks/annot_scope.py:HOST_ONLY_PREFIXES",
288 "checks/check_core_layering.py:HOSTED_HEADERS",
289 "checks/check_core_layering.py:HOSTED_HEADER_PREFIXES",
290 "checks/check_entry_points.py:HOSTED_ARGS_OK",
291 "checks/check_entry_points.py:HOSTED_ROOTS",
292 "checks/check_no_dynamic_alloc.py:HOST_SOUP_ALLOCATORS",
293 "checks/check_tool_versions.py:K_DOXYGEN_PINNED_MACHINE",
294 "checks/tree_coverage_model.py:FIRMWARE_ROOTS",
295 "checks/tree_coverage_model.py:HOSTED_ROOTS",
296 "checks/tree_coverage_model.py:PLATFORM_CROSS_ONLY_UNITS",
297 "checks/tree_coverage_model.py:PLATFORM_ROOTS",
298 ),
299 ),
300 (
301 "ignored-literal",
302 "literal",
303 (
304 "checks/check_c6_pin_config.py:UNWIRED_C6",
305 "checks/check_c6_pin_config.py:UNWIRED_RA8",
306 "checks/check_image_no_antirecovery.py:ERASED",
307 "checks/check_magic_numbers.py:IGNORED_FLOAT",
308 "checks/check_magic_numbers.py:IGNORED_INT",
309 "checks/hum_regmap_scan.py:RESERVED_PREFIXES",
310 ),
311 ),
312 (
313 "known-gap",
314 "literal",
315 (
316 "checks/check_agnostic_registers.py:BASELINE_FILE",
317 "checks/check_inclusive_terminology.py:WARN_ONLY_MODE",
318 "checks/check_line_citations.py:WARN_ONLY_MODE",
319 "checks/check_shell.py:SHELLCHECK_DISABLED_OPTIONAL",
320 "checks/lint_coverage_rules.py:KNOWN_GAPS",
321 ),
322 ),
323 (
324 "path-exclusion",
325 "literal",
326 (
327 "checks/annot_scope.py:BUILD_OUTPUT_PARTS",
328 "checks/annot_scope.py:EXCLUDED_PATH_PARTS",
329 "checks/check_agnostic_registers.py:EXCLUDED_BACKEND_FILES",
330 "checks/check_agnostic_registers.py:EXCLUDED_PREFIXES",
331 "checks/check_asm.py:EXCLUDED_PREFIXES",
332 "checks/check_bench_lock.py:CARVE_OUTS",
333 "checks/check_bench_lock.py:EXCLUDE_FRAGMENTS",
334 "checks/check_c23_headers.py:EXCLUDE_FRAGMENTS",
335 "checks/check_c23_patterns.py:EXEMPT_DIRS",
336 "checks/check_comment_format.py:EXCLUDE_FRAGMENTS",
337 "checks/check_core_layering.py:EXCLUDE_FRAGMENTS",
338 "checks/check_disambig_readmes.py:NEVER_WALK",
339 "checks/check_doc_diagrams.py:EXCLUDED",
340 "checks/check_entry_points.py:BOOT_HEADER_REL",
341 "checks/check_final_newline.py:EXCLUDE_FRAGMENTS",
342 "checks/check_function_size.py:BOOT_BOILERPLATE",
343 "checks/check_function_size.py:EXCLUDE_FRAGMENTS",
344 "checks/check_header_file_placement.py:EXCLUDE_FRAGMENTS",
345 "checks/check_hil_eil_parity.py:DISCOVERY_SKIP",
346 "checks/check_just_references.py:EXCLUDED_PARTS",
347 "checks/check_line_citations.py:DOC_EXCLUDE_PREFIXES",
348 "checks/check_line_citations.py:EXCLUDE_PREFIXES",
349 "checks/check_linker_scripts.py:EXCLUDED_PREFIXES",
350 "checks/check_magic_numbers.py:BOOT_BOILERPLATE",
351 "checks/check_magic_numbers.py:EXCLUDE_FRAGMENTS",
352 "checks/check_mcdc_floor.py:OUT_OF_SCOPE_PARTS",
353 "checks/check_mcdc_floor.py:OUT_OF_SCOPE_PREFIXES",
354 "checks/check_new_compound_has_mcdc.py:EXCLUDED_SUBSTRINGS",
355 "checks/check_no_ai_attribution.py:SKIP_FRAGMENTS",
356 "checks/check_no_antirecovery.py:EXCLUDED_FILES",
357 "checks/check_no_antirecovery.py:EXCLUDED_PREFIXES",
358 "checks/check_no_antirecovery.py:RECOVERY_SCRIPTS",
359 "checks/check_no_dynamic_alloc.py:EXCLUDED_PARTS",
360 "checks/check_no_gnu_attribute.py:EXEMPT_DIRS",
361 "checks/check_no_goto_setjmp.py:EXCLUDE_FRAGMENTS",
362 "checks/check_no_legacy_make.py:EXCLUDED_PREFIXES",
363 "checks/check_no_null.py:EXEMPT_PREFIXES",
364 "checks/check_no_null.py:SOUP_PREFIXES",
365 "checks/check_no_silent_stubs.py:EXCLUDED",
366 "checks/check_no_stdio_streams.py:EXCLUDED_PREFIXES",
367 "checks/check_no_unsafe_python_install.py:EXCLUDED_PREFIXES",
368 "checks/check_obsolete_standards.py:WHITELIST",
369 "checks/check_python_lock_policy.py:GALAXY_MANIFEST",
370 "checks/python_lock_policy_scan.py:BUILD_BOUNDARIES",
371 "checks/python_lock_policy_scan.py:DERIVED_EXPORTS",
372 "checks/python_lock_policy_scan.py:GALAXY_MANIFEST",
373 "checks/python_lock_policy_scan.py:IGNORED_SCAN_PARTS",
374 "checks/check_script_references.py:BINARY_SUFFIXES",
375 "checks/check_script_references.py:EXCLUDE_FRAGMENTS",
376 "checks/check_shell.py:EXCLUDE_FRAGMENTS",
377 "checks/check_shell_just_invocations.py:EXCLUDED_PREFIXES",
378 "checks/check_source_layout.py:EXCLUDED_PARTS",
379 "checks/check_source_layout.py:EXCLUDED_PREFIXES",
380 "checks/check_tool_warning_flags.py:EXEMPT_FRAGMENTS",
381 "checks/check_tz_boundary_discard.py:EXEMPT_DIRS",
382 "checks/check_world_tags.py:EXCLUDED_PATH_PARTS",
383 "checks/check_world_tags.py:LEGACY_RING3_EXEMPT_PREFIXES",
384 "checks/docattach_scope.py:EXCLUDED_PARTS",
385 "checks/doxy_scope.py:EXCLUDE_PARTS",
386 "checks/doxy_scope.py:MEMBER_EXCLUDE_PARTS",
387 "checks/extract_line_citations.py:EXCLUDE_PREFIXES",
388 "checks/hil_cache_repair_rules.py:AUTHORED_EXCLUDED_PARTS",
389 "checks/lint_targets.py:BUILD_TREE_ROOTS",
390 "checks/lint_targets.py:EXCLUDED_PREFIXES",
391 "checks/lint_targets.py:LANGUAGE_EXCLUDED_PREFIXES",
392 "checks/lint_targets.py:TOOL_OUTPUT_DIR_NAMES",
393 "checks/tier_layers.py:EXCLUDED_PREFIXES",
394 "checks/tree_coverage_model.py:TEST_DIR_COMPONENT",
395 ),
396 ),
397 (
398 "path-exclusion",
399 "reasoned-pairs",
400 ("checks/lint_coverage_rules.py:EXEMPT_PREFIXES",),
401 ),
402 (
403 "positive-scope",
404 "literal",
405 (
406 "checks/annot_clang.py:_EXTRA_INCLUDE_ROOTS",
407 "checks/annot_loopbound.py:_LOOPBOUND_SUFFIXES",
408 "checks/annot_scope.py:MODULE_ROOTS",
409 "checks/annot_scope.py:SCAN_DIRS",
410 "checks/annot_scope.py:SOURCE_SUFFIXES",
411 "checks/check-copyright.py:ENFORCED_LANGS",
412 "checks/check-copyright.py:LANG_STYLE",
413 "checks/check-copyright.py:_BASENAME_STYLE",
414 "checks/check-copyright.py:_SUFFIX_STYLE",
415 "checks/check-since-version.py:SOURCE_SUFFIXES",
416 "checks/check_agnostic_registers.py:POLICY_ROOTS",
417 "checks/check_agnostic_registers.py:SOURCE_SUFFIXES",
418 "checks/check_ansible_collections.py:ANSIBLE_ROOT",
419 "checks/check_ansible_collections.py:REQUIREMENTS",
420 "checks/check_asm.py:_ARM_MARKERS",
421 "checks/check_bench_lock.py:SCANNED_BASENAMES",
422 "checks/check_bench_lock.py:SCANNED_SUFFIXES",
423 "checks/check_build_shard_union.py:ALL_CONFIGS_NAME",
424 "checks/check_build_shard_union.py:MIN_EXAMPLE_PATH_PARTS",
425 "checks/check_build_shard_union.py:SHARD_SUBDIR",
426 "checks/check_c23_headers.py:ENUM_EXTENSIONS",
427 "checks/check_c23_headers.py:HEADER_EXTENSIONS",
428 "checks/check_c23_patterns.py:EXTS",
429 "checks/check_c23_patterns.py:ROOTS",
430 "checks/check_c6_integration.py:BUILD_SCRIPT",
431 "checks/check_c6_integration.py:C6_DIR",
432 "checks/check_c6_integration.py:PATCH_FILE",
433 "checks/check_c6_integration.py:SERVICE_HEADER",
434 "checks/check_c6_integration.py:SERVICE_SOURCE",
435 "checks/check_c6_patch_upstream.py:C6_DIR",
436 "checks/check_c6_patch_upstream.py:PINS_FILE",
437 "checks/check_c6_patch_upstream.py:SERIES_FILE",
438 "checks/check_c6_pin_config.py:C6_DIR",
439 "checks/check_c6_pin_config.py:HOST_FW_VER",
440 "checks/check_c6_pin_config.py:PINS_ENV",
441 "checks/check_c6_pin_config.py:PORT_PIN_HEADER",
442 "checks/check_c6_pin_config.py:SDKCONFIG",
443 "checks/check_ci_image_single_builder.py:SCOPE_DIRS",
444 "checks/check_ci_image_single_builder.py:SCOPE_FILES",
445 "checks/check_comment_format.py:SCAN_ROOTS",
446 "checks/check_comment_format.py:SOURCE_SUFFIXES",
447 "checks/check_core_layering.py:LIBS_ROOT",
448 "checks/check_core_layering.py:SOURCE_SUFFIXES",
449 "checks/cppcheck_sources.py:SOURCE_ROOTS",
450 "checks/cppcheck_sources.py:SOURCE_SUFFIXES",
451 "checks/check_devcontainer.py:OWNED_CLASSES",
452 "checks/check_disambig_readmes.py:MARKER",
453 "checks/check_disambig_readmes.py:TEXT_SUFFIXES",
454 "checks/check_doc_diagrams.py:DIAGRAM_DIR",
455 "checks/check_doc_diagrams.py:SCAN_ROOTS",
456 "checks/check_doc_diagrams.py:SCAN_SUFFIXES",
457 "checks/check_download_installers.py:DOCKERFILE",
458 "checks/check_download_installers.py:MAC_SETUP",
459 "checks/check_download_installers.py:PROVISION",
460 "checks/check_entry_points.py:FIRMWARE_APPS",
461 "checks/check_entry_points.py:FIRMWARE_ROOTS",
462 "checks/check_entry_points.py:SUFFIXES",
463 "checks/check_example_board_pins.py:SCAN_ROOT",
464 "checks/check_example_board_pins.py:SOURCE_SUFFIXES",
465 "checks/check_final_newline.py:SOURCE_NAMES",
466 "checks/check_final_newline.py:SOURCE_SUFFIXES",
467 "checks/check_fleet_declaration.py:DERIVED_ROLES",
468 "checks/check_fleet_declaration.py:HIL_SERVICE_TEMPLATE",
469 "checks/check_fleet_declaration.py:LINT_PROVIDER_INPUTS",
470 "checks/check_header_file_placement.py:HEADER_SUFFIXES",
471 "checks/check_header_file_placement.py:SCAN_ROOTS",
472 "checks/check_hil_eil_parity.py:EIL_ALL",
473 "checks/check_hil_eil_parity.py:HIL_ALL",
474 "checks/check_hook_parity.py:CANDIDATE_CHECKER",
475 "checks/check_hook_parity.py:CI_GATES_DIR",
476 "checks/check_hook_parity.py:CI_SCRIPT",
477 "checks/check_hook_parity.py:HOOKS_JUST",
478 "checks/check_hook_parity.py:HOOK_INSTALLER",
479 "checks/check_hook_parity.py:HOOK_LAUNCHER_FILE",
480 "checks/check_hook_parity.py:PRE_COMMIT",
481 "checks/check_hook_parity.py:PRE_PUSH",
482 "checks/check_hook_parity.py:PROOF_WRITER",
483 "checks/check_hook_parity.py:ROOT_CMAKE",
484 "checks/check_hook_parity.py:ROOT_JUSTFILE",
485 "checks/check_hook_parity.py:RUN_JUST",
486 "checks/check_hook_parity.py:TRUSTED_RUNTIME",
487 "checks/check_host_build_entrypoints.py:COMPILED",
488 "checks/check_hum_register_map.py:SOURCE_SUFFIXES",
489 "checks/check_image_no_antirecovery.py:ANTI_RECOVERY_WINDOWS",
490 "checks/check_inclusive_terminology.py:CONTINUATION_BASENAMES",
491 "checks/check_inclusive_terminology.py:CONTINUATION_EXTS",
492 "checks/check_inclusive_terminology.py:SCAN_BASENAMES",
493 "checks/check_inclusive_terminology.py:SCAN_EXTS",
494 "checks/check_init_order_freshness.py:ARTEFACT",
495 "checks/check_just_references.py:AUTHORED_DOC_SUFFIXES",
496 "checks/check_just_references.py:AUTOMATION_SUFFIXES",
497 "checks/check_line_citations.py:DOC_EXTS",
498 "checks/check_magic_numbers.py:SOURCE_SUFFIXES",
499 "checks/check_mcdc_floor.py:IN_SCOPE_PREFIXES",
500 "checks/check_misra_deviations.py:BASELINE_PATH",
501 "checks/check_misra_deviations.py:DOC_PATH",
502 "checks/check_misra_deviations.py:SUPPRESSIONS_PATH",
503 "checks/check_new_compound_has_mcdc.py:PROD_PREFIXES",
504 "checks/check_new_compound_has_mcdc.py:TEST_SOURCE_SUFFIXES",
505 "checks/check_new_compound_has_mcdc.py:_TEST_NAME_SUFFIXES",
506 "checks/check_no_ai_attribution.py:TEXT_EXTS",
507 "checks/check_no_antirecovery.py:C_EXTS",
508 "checks/check_no_antirecovery.py:HASH_BASENAMES",
509 "checks/check_no_antirecovery.py:HASH_EXTS",
510 "checks/check_no_antirecovery.py:HASH_STEM_HINTS",
511 "checks/check_no_antirecovery.py:NONE_EXTS",
512 "checks/check_no_antirecovery.py:PROSE_EXTS",
513 "checks/check_no_antirecovery.py:XML_EXTS",
514 "checks/check_no_antirecovery.py:_EXT_LANG",
515 "checks/check_no_build_credentials.py:SOURCE_SUFFIXES",
516 "checks/check_no_driver_asm_guard.py:DRIVER_DIR",
517 "checks/check_no_dynamic_alloc.py:SOURCE_SUFFIXES",
518 "checks/check_no_gnu_attribute.py:EXTS",
519 "checks/check_no_gnu_attribute.py:ROOTS",
520 "checks/check_no_goto_setjmp.py:EXTENSIONS",
521 "checks/check_no_goto_setjmp.py:ROOT_DIRS",
522 "checks/check_no_legacy_make.py:BASELINE_RE",
523 "checks/check_no_legacy_make.py:DOC_SUFFIXES",
524 "checks/check_no_legacy_make.py:EXACT_FILES",
525 "checks/check_no_legacy_make.py:PREFIXES",
526 "checks/check_no_legacy_make.py:SELF",
527 "checks/check_no_null.py:EXTENSIONS",
528 "checks/check_no_silent_stubs.py:ROOTS",
529 "checks/check_no_stdio_streams.py:SCOPE_ROOTS",
530 "checks/check_no_stdio_streams.py:SOURCE_SUFFIXES",
531 "checks/check_no_wave_references.py:SCAN_BASENAMES",
532 "checks/check_no_wave_references.py:SCAN_EXTS",
533 "checks/check_nsc_veneer_defs.py:HEADER",
534 "checks/check_nsc_veneer_defs.py:SRC_DIR",
535 "checks/check_obsolete_standards.py:SCAN_SUFFIXES",
536 "checks/check_pointer_boilerplate.py:SCOPED_PREFIXES",
537 "checks/check_pointer_boilerplate.py:SOURCE_SUFFIXES",
538 "checks/check_python_lock_policy.py:EXPORTS",
539 "checks/check_python_lock_policy.py:MANIFEST",
540 "checks/check_python_lock_policy.py:PYPROJECT",
541 "checks/python_lock_policy_scan.py:SECONDARY_AUTHORITY_NAMES",
542 "checks/check_reserved_addresses.py:SCAN_ROOTS",
543 "checks/check_roadmap_dashboard_freshness.py:ARTEFACT",
544 "checks/check_roadmap_dashboard_freshness.py:SOURCE",
545 "checks/check_runner_image_deps.py:CI_SH",
546 "checks/check_runner_image_deps.py:GATES_DIR",
547 "checks/check_script_references.py:ROOT_PREFIX",
548 "checks/check_sg_offsets.py:BASE_SYMBOL",
549 "checks/check_shell_just_invocations.py:IDE_DOCUMENT",
550 "checks/check_shell_just_invocations.py:MCP_CONFIG",
551 "checks/check_shell_just_invocations.py:VSCODE_TASKS",
552 "checks/check_source_layout.py:COMPONENT_HELPER_SUFFIXES",
553 "checks/check_source_layout.py:COMPONENT_ROOTS",
554 "checks/check_source_layout.py:HEADER_SUFFIXES",
555 "checks/check_source_layout.py:IMPLEMENTATION_SUFFIXES",
556 "checks/check_source_layout.py:SCOPED_ROOTS",
557 "checks/check_source_layout.py:TOOL_FILE_MIN_PARTS",
558 "checks/check_stub_crypto_guarded.py:STUB_TUS",
559 "checks/check_tests_readme.py:README",
560 "checks/check_tests_readme.py:TESTS_DIR",
561 "checks/check_third_party_patches.py:POLICY_PATH",
562 "checks/check_tool_versions.py:DOCKERFILE",
563 "checks/check_tool_versions.py:DOXYGEN_PROVISIONER",
564 "checks/check_tool_versions.py:PYPROJECT",
565 "checks/check_tz_boundary_discard.py:BOOT_TU_RE",
566 "checks/check_tz_boundary_discard.py:EXTS",
567 "checks/check_tz_boundary_discard.py:ROOTS",
568 "checks/check_world_tags.py:APP_BOOT_FILES",
569 "checks/check_world_tags.py:SOURCE_SUFFIXES",
570 "checks/cite_check.py:SOURCE_SUFFIXES",
571 "checks/docattach_scope.py:SCAN_ROOTS",
572 "checks/docattach_scope.py:SOURCE_SUFFIXES",
573 "checks/doxy_scope.py:MEMBER_SCAN_DIRS",
574 "checks/doxy_scope.py:SCAN_DIRS",
575 "checks/doxy_style.py:SOURCE_SUFFIXES",
576 "checks/hil_cache_isolation_rules.py:HIL_RUNNER_SERVICE",
577 "checks/hil_cache_isolation_rules.py:HIL_RUNNER_TASKS",
578 "checks/hil_cache_isolation_rules.py:SHARED_CACHE_TASKS",
579 "checks/hil_cache_repair_rules.py:CORE_INPUT_FILES",
580 "checks/hil_cache_repair_rules.py:DEV_BOX_DEFAULTS",
581 "checks/hil_cache_repair_rules.py:DOCUMENTATION",
582 "checks/hil_cache_repair_rules.py:DRIVER",
583 "checks/hil_cache_repair_rules.py:FULL_GATE",
584 "checks/hil_cache_repair_rules.py:INVENTORY_SCOPE_PARTS",
585 "checks/hil_cache_repair_rules.py:JUSTFILE",
586 "checks/hil_cache_repair_rules.py:JUST_REFERENCE_CHECKER",
587 "checks/hil_cache_repair_rules.py:PLAYBOOK",
588 "checks/hil_cache_repair_rules.py:PRECOMMIT_HOOK",
589 "checks/hook_runtime_selftest.py:CI_SCRIPT",
590 "checks/hook_runtime_selftest.py:HOOKS_JUST",
591 "checks/hook_runtime_selftest.py:INSTALLER",
592 "checks/hook_runtime_selftest.py:LAUNCHER",
593 "checks/hook_runtime_selftest.py:PRE_COMMIT",
594 "checks/hook_runtime_selftest.py:PROOF_WRITER",
595 "checks/hum_regmap.py:HUM_PDF",
596 "checks/line_citation_lex.py:MCDC_REASON_MACRO",
597 "checks/line_citation_lex.py:SOURCE_EXTS",
598 "checks/lint_coverage_rules.py:NAME_CLASS",
599 "checks/lint_coverage_rules.py:SHEBANG_CLASS",
600 "checks/lint_targets.py:BASENAME_LANG",
601 "checks/lint_targets.py:LANGUAGES",
602 "checks/lint_targets.py:PRODUCTS_ROOT",
603 "checks/lint_targets.py:SHEBANG_LANG",
604 "checks/lint_targets.py:SUFFIX_LANG",
605 "checks/lint_targets.py:_IMAGE_MARKER_NAME",
606 "checks/lint_targets.py:_IMAGE_MARKER_SUFFIX",
607 "checks/misra_ratchet.py:BASELINE_FILE",
608 "checks/soup_manifest.py:MANIFEST_DIR",
609 "checks/soup_manifest.py:MANIFEST_SUFFIX",
610 "checks/stack_usage_check.py:SHARED_LIB_BUILD_SUBDIR",
611 "checks/tier_layers.py:C_SUFFIXES",
612 "checks/tier_layers.py:FORM_CATEGORIES",
613 "checks/tier_layers.py:HEADER_SUFFIXES",
614 "checks/tier_layers.py:LISTFILE_BASENAME",
615 "checks/tier_layers.py:LISTFILE_SUFFIX",
616 "checks/tier_layers.py:PRODUCTS_ROOT",
617 "checks/tier_layers.py:SHARED_CATEGORY",
618 "checks/tree_coverage_model.py:CENSUS_ROOTS",
619 "checks/tree_coverage_model.py:CENSUS_SUFFIXES",
620 "ci/check_ci_parity.py:CI_SH",
621 "ci/check_ci_parity.py:DOCKERFILE",
622 "ci/check_ci_parity.py:MANAGED_RUNNER_LABELS",
623 "ci/check_ci_parity.py:WORKFLOW_DIR",
624 "ci/check_gate_bodies.py:GATE_DIR",
625 "ci/check_selftest_coverage.py:DETECTOR_DIRS",
626 "ci/check_selftest_coverage.py:DETECTOR_META_RE",
627 "ci/check_selftest_coverage.py:GATE_DIR",
628 "ci/check_selftest_coverage.py:SCRIPT_TOKEN_RE",
629 ),
630 ),
631 (
632 "positive-scope",
633 "string-leaves",
634 (
635 "checks/annot_rulekeys.py:ATTRIBUTES_HEADER",
636 "checks/check_function_size.py:PARSERS",
637 "checks/check_lint_coverage.py:PROVIDERS",
638 "checks/lint_coverage_rules.py:CLASSES",
639 "checks/tier_layers.py:LAYERS",
640 ),
641 ),
642 (
643 "regex-exclusion",
644 "literal",
645 (
646 "checks/annot_walk.py:_VECTOR_SECTION_RE",
647 "checks/check_inclusive_terminology.py:VENDOR_IDENT_RE",
648 "checks/check_magic_numbers.py:_CONST_FLOAT_DEF",
649 "checks/check_magic_numbers.py:_DATA_ROW_RE",
650 "checks/check_magic_numbers.py:_DECL_HINT",
651 "checks/check_magic_numbers.py:_FLOAT_TYPE",
652 "checks/check_no_ai_attribution.py:RX_CLAUDE_MD_OK",
653 "checks/check_no_ai_attribution.py:RX_DOT_CLAUDE_OK",
654 "checks/check_no_antirecovery.py:DEFENSIVE_RE",
655 "checks/check_no_stdio_streams.py:FORMAT_ATTRIBUTE_PREFIX_RE",
656 "checks/check_tier_imports.py:ADD_SUBDIRECTORY_RE",
657 "checks/cite_check.py:HUM_ON_LINE_RE",
658 "checks/docattach_model.py:RETURN_NOTHING_RE",
659 "checks/docattach_model.py:STANDALONE_TAG_RE",
660 "checks/hum_regmap.py:TOC_LEADER_RE",
661 "checks/line_citation_lex.py:DOCS_REFERENCE_RE",
662 "checks/line_citation_lex.py:MOVED_FROM_RE",
663 ),
664 ),
665 (
666 "regex-exclusion",
667 "regex",
668 ("checks/line_citation_lex.py:THIRD_PARTY_RE",),
669 ),
670 (
671 "regex-exclusion",
672 "string-leaves",
673 ("checks/check_bench_lock.py:PRESENCE_RE",),
674 ),
675 (
676 "self-exemption",
677 "literal",
678 (
679 "checks/check_ci_image_single_builder.py:SELF",
680 "checks/check_inclusive_terminology.py:SELF_EXEMPT_FILES",
681 "checks/check_no_ai_attribution.py:SELF_EXEMPT_FILES",
682 "checks/check_no_antirecovery.py:SELF_PATH",
683 "checks/check_no_wave_references.py:SELF_EXEMPT_FILES",
684 "checks/hil_cache_repair_rules.py:PINNED_ENTRYPOINT_OWNER_FILES",
685 "checks/hil_cache_repair_rules.py:RULES_SOURCE",
686 ),
687 ),
688 (
689 "stack-exemption",
690 "stack-exemptions",
691 ("checks/stack_usage_check.py:FIRST_PARTY_EXEMPTIONS",),
692 ),
693 (
694 "suppression-control-plane",
695 "derived-binary-suffixes",
696 ("checks/suppression_catalog.py:BINARY_SUFFIXES",),
697 ),
698 (
699 "suppression-control-plane",
700 "derived-live-registry",
701 (
702 "checks/suppression_nonauth_registry.py:NON_AUTHORITIES",
703 "checks/suppression_nonauth_registry.py:_GROUPS",
704 "checks/suppression_scope_registry.py:AUTHORITY_SCHEMAS",
705 "checks/suppression_scope_registry.py:NON_AUTHORITY_CATEGORIES",
706 "checks/suppression_scope_registry.py:_SCHEMA_GROUPS",
707 ),
708 ),
709 (
710 "suppression-control-plane",
711 "literal",
712 (
713 "checks/check_suppressions.py:INTEGRITY_CODES",
714 "checks/lint_coverage_rules.py:EXT_CLASS",
715 "checks/suppression_baseline_scan.py:BASELINE_CEILINGS",
716 "checks/suppression_baseline_scan.py:BASELINE_PERCENTAGE_FLOORS",
717 "checks/suppression_baseline_scan.py:CEILING_LEDGER_COLUMNS",
718 "checks/suppression_baseline_scan.py:CEILING_LEDGER_HEADER",
719 "checks/suppression_baseline_scan.py:CEILING_LEDGER_PATH",
720 "checks/suppression_baseline_scan.py:CEILING_LEDGER_SHA256",
721 "checks/suppression_baseline_scan.py:KNOWN_MATRIX_VERDICTS",
722 "checks/suppression_baseline_scan.py:KNOWN_TREE_REASONS",
723 "checks/suppression_baseline_scan.py:MIN_BASELINE_FILES",
724 "checks/suppression_baseline_scan.py:MIN_BASELINE_ROWS",
725 "checks/suppression_baseline_scan.py:PATH_COUNT_COLUMNS",
726 "checks/suppression_baseline_scan.py:PATH_RULE_COUNT_COLUMNS",
727 "checks/suppression_baseline_scan.py:PERCENT_RE",
728 "checks/suppression_baseline_scan.py:SAFE_RULE_RE",
729 "checks/suppression_baseline_scan.py:SHA256_RE",
730 "checks/suppression_baseline_scan.py:TREE_MEASURED_COLUMNS",
731 "checks/suppression_baseline_scan.py:TREE_METRIC_FIELDS",
732 "checks/suppression_baseline_scan.py:TREE_UNMEASURED_COLUMNS",
733 "checks/suppression_build_controls.py:_CMAKE_COMPILER_RE",
734 "checks/suppression_build_controls.py:_CMAKE_NONCONFIGURE_RE",
735 "checks/suppression_build_controls.py:_CMAKE_VARIABLES",
736 "checks/suppression_build_controls.py:_CMAKE_WARNING_SUPPRESSIONS",
737 "checks/suppression_build_controls.py:_COMMAND_PREFIXES",
738 "checks/suppression_build_controls.py:_COMPILER_CONTEXT_RE",
739 "checks/suppression_build_controls.py:_COMPILER_NAME",
740 "checks/suppression_build_controls.py:_COMPILER_OPTION_RE",
741 "checks/suppression_build_controls.py:_COMPILER_OWNER_RE",
742 "checks/suppression_c_control_scan.py:C_CONTROL_HINT_RE",
743 "checks/suppression_c_controls.py:ALLOC_HINT_RE",
744 "checks/suppression_c_controls.py:ATTRIBUTE_BLOCK_RE",
745 "checks/suppression_c_controls.py:ATTRIBUTE_CONTROL_HINT_RE",
746 "checks/suppression_c_controls.py:C_HINT_RE",
747 "checks/suppression_c_controls.py:GNU_ATTRIBUTE_HINT_RE",
748 "checks/suppression_c_controls.py:GNU_CONTROL_HINT_RE",
749 "checks/suppression_c_controls.py:GNU_SANITIZER_CALL_RE",
750 "checks/suppression_c_controls.py:GNU_SANITIZER_SUFFIX_RE",
751 "checks/suppression_c_controls.py:GNU_UNUSED_ITEM_RE",
752 "checks/suppression_c_controls.py:NASA_CALL_RE",
753 "checks/suppression_c_controls.py:NASA_RE",
754 "checks/suppression_c_controls.py:PRAGMA_CONTROL_RE",
755 "checks/suppression_c_controls.py:PRAGMA_HINT_RE",
756 "checks/suppression_c_controls.py:PRAGMA_KIND_RE",
757 "checks/suppression_c_controls.py:PRAGMA_OPERATOR_HINT_RE",
758 "checks/suppression_c_controls.py:PRAGMA_OPERATOR_RE",
759 "checks/suppression_c_controls.py:PRAGMA_PAYLOAD_CONTROL_RE",
760 "checks/suppression_c_controls.py:PRAGMA_PAYLOAD_HINT_RE",
761 "checks/suppression_c_controls.py:PRAGMA_PAYLOAD_KIND_RE",
762 "checks/suppression_c_controls.py:SANITIZER_ARGS_RE",
763 "checks/suppression_c_controls.py:SANITIZER_NAME_RE",
764 "checks/suppression_c_controls.py:STANDARD_CLANG_SANITIZER_RE",
765 "checks/suppression_c_controls.py:STANDARD_GNU_UNUSED_RE",
766 "checks/suppression_c_controls.py:STANDARD_MAYBE_RE",
767 "checks/suppression_catalog.py:ALLOC_ALLOW_RE",
768 "checks/suppression_catalog.py:BANDIT_RE",
769 "checks/suppression_catalog.py:BLANKET_WARNING_RE",
770 "checks/suppression_catalog.py:BUILD_CONTROL_NAMES",
771 "checks/suppression_catalog.py:BUILD_CONTROL_SUFFIXES",
772 "checks/suppression_catalog.py:COVERAGE_RE",
773 "checks/suppression_catalog.py:CPPCHECK_RE",
774 "checks/suppression_catalog.py:C_FAMILY_SUFFIXES",
775 "checks/suppression_catalog.py:GENERATED_CLASSES",
776 "checks/suppression_catalog.py:HASH_COMMENT_NAMES",
777 "checks/suppression_catalog.py:HASH_COMMENT_SUFFIXES",
778 "checks/suppression_catalog.py:KNOWN_CPPCHECK_RULES",
779 "checks/suppression_catalog.py:KNOWN_PROJECT_MARKERS",
780 "checks/suppression_catalog.py:MYPY_RE",
781 "checks/suppression_catalog.py:NOLINT_RAW_RE",
782 "checks/suppression_catalog.py:NOLINT_RE",
783 "checks/suppression_catalog.py:NOQA_RE",
784 "checks/suppression_catalog.py:PROJECT_MARKER_RE",
785 "checks/suppression_catalog.py:PYLINT_RE",
786 "checks/suppression_catalog.py:PYRIGHT_RE",
787 "checks/suppression_catalog.py:PYTHON_COVERAGE_RE",
788 "checks/suppression_catalog.py:PYTHON_FORMATTER_RE",
789 "checks/suppression_catalog.py:PYTHON_SUFFIXES",
790 "checks/suppression_catalog.py:REQUIRED_FAMILIES",
791 "checks/suppression_catalog.py:SHELLCHECK_GLOBAL_EXCLUDE_RE",
792 "checks/suppression_catalog.py:SHELLCHECK_RE",
793 "checks/suppression_catalog.py:SHELL_STATUS_MASK_RE",
794 "checks/suppression_catalog.py:SUPPORTED_HINT_RE",
795 "checks/suppression_catalog.py:THREADX_FIRST_PARTY_FILES",
796 "checks/suppression_catalog.py:TYPE_IGNORE_RE",
797 "checks/suppression_catalog.py:UNKNOWN_DIRECTIVE_RE",
798 "checks/suppression_catalog.py:UNSUPPORTED_CATEGORIES",
799 "checks/suppression_catalog.py:WARNING_FLAG_RE",
800 "checks/suppression_checker_census.py:ATTRIBUTE_MUTATORS",
801 "checks/suppression_checker_census.py:CATEGORY_NODE_KINDS",
802 "checks/suppression_checker_census.py:CONTAINER_CALLS",
803 "checks/suppression_checker_census.py:EMPTY_CONTAINER_CATEGORIES",
804 "checks/suppression_checker_census.py:FIXTURE_BASENAME_MARKERS",
805 "checks/suppression_checker_census.py:MODULE_CONSTANT_RE",
806 "checks/suppression_checker_census.py:MODULE_IMPORT_CALLS",
807 "checks/suppression_checker_census.py:MUTATOR_METHODS",
808 "checks/suppression_checker_census.py:NAMESPACE_CALLS",
809 "checks/suppression_checker_census.py:OPERATOR_MUTATORS",
810 "checks/suppression_checker_census.py:PATHLIKE_FRAGMENT_RE",
811 "checks/suppression_checker_census.py:PREFIX_SINK_METHODS",
812 "checks/suppression_checker_census.py:UNBOUND_MUTATOR_TYPES",
813 "checks/suppression_checker_nonfatal.py:CALL_SURFACES",
814 "checks/suppression_checker_nonfatal.py:DECLARED_OPTIONS",
815 "checks/suppression_checker_nonfatal.py:DEFAULT_NONFATAL_OPTIONS",
816 "checks/suppression_checker_nonfatal.py:DORMANT_CONSTANTS",
817 "checks/suppression_checker_nonfatal.py:INFORMATIONAL_AUTHORITY",
818 "checks/suppression_checker_nonfatal.py:ROOT_CALL_SURFACES",
819 "checks/suppression_checker_nonfatal.py:_NON_ANALYSIS_MODES",
820 "checks/suppression_checker_scope.py:CANDIDATE_PREFIXES",
821 "checks/suppression_checker_scope.py:SELF_PIN_IDENTITIES",
822 "checks/suppression_checker_scope.py:_EMPTY_AUTHORITIES",
823 "checks/suppression_checker_scope.py:_SUBTYPE_REASONS",
824 "checks/suppression_control_scan.py:BARE_PYTHON_CONTROLS",
825 "checks/suppression_control_scan.py:CMAKE_CONTROL_HINT",
826 "checks/suppression_control_scan.py:CTEST_PROPERTIES",
827 "checks/suppression_control_scan.py:PYTHON_CALLS",
828 "checks/suppression_control_scan.py:YAML_CONTROL_HINT",
829 "checks/suppression_control_scan.py:YAML_CONTROL_ROOTS",
830 "checks/suppression_coverage_scan.py:CONFIG_KEYS",
831 "checks/suppression_coverage_scan.py:FLAG_RE",
832 "checks/suppression_coverage_scan.py:PARSE_ERROR_VALUES",
833 "checks/suppression_generated_markers.py:HEAD_SCAN_LINES",
834 "checks/suppression_generated_markers.py:_COMMENT",
835 "checks/suppression_generated_markers.py:_FILE_SIZE_HINT_RE",
836 "checks/suppression_generated_markers.py:_FILE_SIZE_RE",
837 "checks/suppression_generated_markers.py:_GENERATED_HINT_RE",
838 "checks/suppression_generated_markers.py:_GENERATED_RE",
839 "checks/suppression_governance.py:ANSIBLE_CONFIG_NAMES",
840 "checks/suppression_governance.py:ANSIBLE_LIST_KEYS",
841 "checks/suppression_governance.py:GLOBAL_EXCLUSION_AUTHORITIES",
842 "checks/suppression_governance.py:OTHER_LANGUAGE_RULES",
843 "checks/suppression_governance.py:SECURITY_RULES",
844 "checks/suppression_identity.py:IDENTITY_SCHEMA_VERSION",
845 "checks/suppression_identity.py:STRUCTURAL_PROVENANCE_PREFIXES",
846 "checks/suppression_identity.py:_LINE_REF_RE",
847 "checks/suppression_identity.py:_LINE_REF_SUFFIX_RE",
848 "checks/suppression_identity.py:_WS_RE",
849 "checks/suppression_ledger.py:ACTIVE_STATES",
850 "checks/suppression_ledger.py:BATCHES_PATH",
851 "checks/suppression_ledger.py:LEDGER_COLUMNS",
852 "checks/suppression_ledger.py:LEDGER_PATH",
853 "checks/suppression_ledger.py:LEDGER_STATES",
854 "checks/suppression_ledger.py:RATIONALES_PATH",
855 "checks/suppression_ledger.py:_HEX64_RE",
856 "checks/suppression_scan.py:EXPECTED_EXACT_FAMILY_COUNTS",
857 "checks/suppression_scan.py:GOVERNANCE_COUNT_CONTRACTS",
858 "checks/suppression_scan.py:MIN_FAMILY_COUNTS",
859 "checks/suppression_shell_scan.py:SHELLCHECK_OPTS_ASSIGN_RE",
860 "checks/suppression_shell_scan.py:YAML_BLOCK_HEADER_RE",
861 "checks/suppression_tool_controls.py:CLANG_FORMAT_RE",
862 "checks/suppression_tool_controls.py:CMAKE_FORMAT_RE",
863 "checks/suppression_tool_controls.py:CMAKE_LINT_RE",
864 "checks/suppression_tool_controls.py:DOXYGEN_COND_RE",
865 "checks/suppression_tool_controls.py:DOXYGEN_EXCLUDED_PARTS",
866 "checks/suppression_tool_controls.py:DOXYGEN_INPUT_ROOTS",
867 "checks/suppression_tool_controls.py:DOXYGEN_SUFFIXES",
868 "checks/suppression_tool_controls.py:HADOLINT_RE",
869 "checks/suppression_tool_controls.py:IWYU_NO_ARGUMENT",
870 "checks/suppression_tool_controls.py:IWYU_QUOTED_ARGUMENT",
871 "checks/suppression_tool_controls.py:IWYU_RE",
872 "checks/suppression_tool_controls.py:MARKDOWNLINT_CONFIGURE_RE",
873 "checks/suppression_tool_controls.py:MARKDOWNLINT_CONFIG_PREFIXES",
874 "checks/suppression_tool_controls.py:MARKDOWNLINT_RE",
875 "checks/suppression_tool_controls.py:MARKDOWNLINT_RULE_RE",
876 "checks/suppression_tool_controls.py:PRETTIER_CONFIGS",
877 "checks/suppression_tool_controls.py:PRETTIER_RE",
878 "checks/suppression_tool_controls.py:YAMLLINT_RE",
879 ),
880 ),
881 (
882 "suppression-control-plane",
883 "string-leaves",
884 (
885 "checks/suppression_baseline_scan.py:PARSERS",
886 "checks/suppression_baseline_scan.py:SPECS",
887 ),
888 ),
889 (
890 "vendor-exemption",
891 "derived-vendor-prefixes",
892 ("checks/suppression_catalog.py:VENDOR_PREFIXES",),
893 ),
894 (
895 "vendor-exemption",
896 "literal",
897 (
898 "checks/check_ci_image_single_builder.py:THIRD_PARTY_PREFIXES",
899 "checks/check_devcontainer.py:THIRD_PARTY_PREFIXES",
900 "checks/check_disambig_readmes.py:NOT_OURS",
901 "checks/check_inclusive_terminology.py:DOCS_VENDOR_DIRS",
902 "checks/check_no_wave_references.py:DOCS_VENDOR_DIRS",
903 "checks/python_lock_policy_scan.py:VENDOR_BOUNDARIES",
904 "checks/check_reserved_addresses.py:THIRD_PARTY_PREFIXES",
905 "checks/check_source_layout.py:APP_OWNED_VENDORS",
906 "checks/check_source_layout.py:TOOL_VENDOR_ROOT_PARTS",
907 "checks/stack_usage_check.py:THIRD_PARTY_PATH_FRAGMENTS",
908 ),
909 ),
910 (
911 "waiver-recognizer",
912 "literal",
913 (
914 "checks/check_agnostic_registers.py:BASELINE_COLUMNS",
915 "checks/check_bench_lock.py:GUARD_RE",
916 "checks/check_bench_lock.py:PREFLASH_GUARD_RE",
917 "checks/check_c23_headers.py:OPT_OUT",
918 "checks/check_gitignore_scope.py:MARKER",
919 "checks/check_hum_register_map.py:BASELINE_COLUMNS",
920 "checks/check_hum_register_map.py:BASELINE_FILE",
921 "checks/check_inclusive_terminology.py:LEGACY_OK_RE",
922 "checks/check_inclusive_terminology_commits.py:LEGACY_OK",
923 "checks/check_magic_numbers.py:MAGIC_CHECK_NAMES",
924 "checks/check_magic_numbers.py:_NOLINT_BEGIN_RE",
925 "checks/check_magic_numbers.py:_NOLINT_END_RE",
926 "checks/check_magic_numbers.py:_NOLINT_INLINE_RE",
927 "checks/check_magic_numbers.py:_NOLINT_NEXT_RE",
928 "checks/check_magic_numbers.py:_OPT_OUT_COMMENT_RE",
929 "checks/check_no_ai_attribution.py:OPT_OUT_TAG",
930 "checks/check_no_dynamic_alloc.py:ALLOC_ALLOW_HINT_RE",
931 "checks/check_no_gnu_attribute.py:WAIVER_RE",
932 "checks/check_no_silent_stubs.py:WAIVER_RE",
933 "checks/check_no_wave_references.py:OPTOUT_RE",
934 "checks/check_script_references.py:OPT_OUT",
935 "checks/check_tree_coverage.py:BASELINE_FILE",
936 "checks/check_tree_coverage.py:KIND_MEASURED",
937 "checks/check_tree_coverage.py:KIND_UNMEASURED",
938 "checks/check_tree_coverage.py:MEASURED_COLUMNS",
939 "checks/check_tree_coverage.py:UNMEASURED_COLUMNS",
940 "checks/check_tz_boundary_discard.py:WAIVER_RE",
941 "checks/cite_ratchet.py:BASELINE_COLUMNS",
942 "checks/cite_ratchet.py:BASELINE_FILE",
943 "checks/doxy_functions.py:_COPY_RE",
944 "checks/doxy_functions.py:_HEADER_STUB_MARKERS",
945 "checks/doxy_functions.py:_NOLINT_NEXT_RE",
946 "checks/line_citation_lex.py:CITES_OK_RE",
947 "checks/matrix_ratchet.py:BASELINE_FILE",
948 "checks/mcdc_compound_ratchet.py:BASELINE_FILE",
949 "checks/misra_ratchet.py:BASELINE_COLUMNS",
950 "checks/soup_manifest.py:KIND_LOCAL",
951 "checks/soup_manifest.py:KIND_PATCH",
952 "checks/suppression_c_control_scan.py:GTEST_RE",
953 "checks/suppression_c_control_scan.py:MCDC_COMMENT_HINT_RE",
954 "checks/suppression_c_control_scan.py:MCDC_COMMENT_RE",
955 "checks/suppression_c_control_scan.py:MCDC_DEACTIVATED_INVOCATION_RE",
956 "checks/suppression_c_control_scan.py:MCDC_MACRO_RE",
957 "checks/suppression_c_control_scan.py:UNITY_RE",
958 "checks/tidy_ratchet.py:BASELINE_COLUMNS",
959 "checks/tidy_ratchet.py:BASELINE_FILE",
960 "checks/tree_coverage_model.py:REASONS",
961 "checks/tree_coverage_model.py:REASON_COMPILED",
962 "checks/tree_coverage_model.py:REASON_FIRMWARE",
963 "checks/tree_coverage_model.py:REASON_HOSTED",
964 "checks/tree_coverage_model.py:REASON_PLATFORM",
965 "ci/check_ci_parity.py:FORBIDDEN_IN_INFRA",
966 "ci/check_ci_parity.py:INFRA_MARKER_RE",
967 "ci/check_ci_parity.py:MIN_REASON_CHARS",
968 "ci/check_selftest_coverage.py:BASELINE_FILE",
969 ),
970 ),
971 *additional_schema_groups(),
972)
973
974AUTHORITY_SCHEMAS = {
975 "scripts/" + identity: AuthoritySchema(subtype, mode)
976 for subtype, mode, identities in _SCHEMA_GROUPS
977 for identity in identities
978}
979
980NON_AUTHORITY_CATEGORIES = non_authority_categories()