# RTL-P2.1390 — tests the pre-commit hook runs on EVERY commit, docs-only included.
#
# Each refuses a defect that a commit can introduce without touching the
# guard's own subject, so no scoped selector (filename, rr-deps cone, test
# dependents) ever picks it, and each landed main red while scoped commits
# stayed green. One pytest node id per line; `#` starts a comment.
# test_hook_always_run_guards_p2_1390 pins that every node here exists.

# (a) a restricted name in any tracked file, plain or obfuscated.
sdk/cli/tests/test_no_personal_project_leaks.py::test_no_restricted_name_in_tracked_files
sdk/cli/tests/test_no_personal_project_leaks.py::test_no_restricted_name_is_tracked_in_this_repo_even_obfuscated

# (b) a CLI leaf that is neither JSON-capable nor classified in the baseline.
sdk/cli/tests/test_json_output_contract_p2765.py::TestJsonContractGuard::test_every_leaf_command_is_json_or_baselined

# (c) an `rr ...` command in schema, hint or help text that does not resolve.
sdk/cli/tests/test_rr_commands_in_hints_resolve_p3_1773.py

# (d) RTL-P2.1648 — the JSON-contract count pins. A commit that adds a --json
# leaf passes (b) but moves the live counts; the pins walk the CLI tree and
# import no staged file, so no dependent selector finds them (RTL-T2.312).
sdk/cli/tests/test_json_output_contract_p2765.py::TestJsonContractGuard::test_live_progress_counts_are_pinned_independently
sdk/cli/tests/test_json_output_contract_p2765.py::TestJsonContractGuard::test_pre_release_summary_surface_reports_live_counts
sdk/cli/tests/test_doctor.py::TestDoctorJson::test_json_surfaces_json_contract_progress

# (e) RTL-P2.1648 — a fixed-window source slice in any sdk/**/tests file. The
# guard scans every test file, so a commit adding one in an unrelated test
# never selects it (RTL-T2.313).
sdk/cli/tests/test_source_function_slice_guard_p3_1841.py::test_no_new_function_slices_in_sdk_tests

# (f) RTL-P2.1721 — the runtime ticket-ref ceiling. Any commit can add a ticket
# ID to a runtime string in any compiled module, so no scoped selector picks
# the guard; main went red three times (RTL-T2.326, T2.328, T2.329). Since
# RTL-P2.1661 the ceiling is 0, and an exemption that went stale fails too.
scripts/tests/test_runtime_literal_ticket_refs_p2_1661.py::test_runtime_literal_ticket_refs_stay_within_the_ceiling
scripts/tests/test_runtime_literal_ticket_refs_p2_1661.py::test_every_runtime_data_ticket_ref_is_still_matched_where_it_is_allowed

# (f) RTL-P2.1727 — guards whose scan no anchor can cover. The inventory scans
# every sdk/cli test, so a new unmarked tree scanner never selects it; the
# leak scan matches private patterns loaded at run time; the history-revision
# guard scans test files only. Each takes about 1 s or less.
sdk/cli/tests/test_tree_scan_inventory_p2_1727.py::test_every_python_tree_scanner_is_reachable_by_the_gate
sdk/cli/tests/test_no_personal_project_leaks.py::test_no_personal_project_name_in_cli_command
sdk/cli/tests/test_template_readme_no_checkout_cd_p3_2056.py::test_no_sweep_test_reads_a_historical_revision

# (g) RTL-P3.2070 — engine tree scanners no anchor can reach. Each reads test
# files, or a tree the engine cone ignores (rr_cocotb_tb/, sim/cocotb/), or
# catches a file that merely exists (a new routertl_core module neither compiled
# nor excluded), so no changed-code anchor ever names its defect. About 3 s
# together with the importorskip scan's per-file cache warm.
sdk/engine/tests/test_bfm_emits_kat_guard_p3_836.py
sdk/engine/tests/test_rr_cocotb_tb_packaging_p3_628.py::test_not_under_routertl_core_strip_safe
sdk/engine/tests/test_rr_cocotb_tb_packaging_p3_628.py::test_no_source_resurrects_old_tb_import
sdk/engine/tests/test_rr_cocotb_tb_packaging_p3_628.py::test_pytest_modules_importorskip_before_optional_cocotb_imports
sdk/engine/tests/test_cython_build.py::TestBuildInfrastructure::test_cythonize_script_matches_setup_glob
sdk/engine/tests/test_tools_shim.py::TestNoTestPatchesThroughShim::test_no_patch_targets_via_tools_alias
sdk/engine/tests/test_root_proof_write_denial_t2_317.py::test_the_scan_sees_the_known_denials
sdk/engine/tests/test_root_proof_write_denial_t2_317.py::test_every_write_denial_handles_root
sdk/engine/tests/test_hook_config.py::TestPrecommitEthernetExclusions::test_all_ethernet_cocotb_modules_are_excluded
sdk/engine/tests/test_bitbucket_cli_pipeline.py::test_base_install_test_dirs_guard_mcp_imports
