fn build_commit_enforcement_checks(
    project_path: &Path,
    comply_config: &crate::models::comply_config::ComplyConfig,
) -> Vec<ComplianceCheck> {
    vec![
        filter_check_by_config(check_readme_layout(project_path), "cb-1320", comply_config),
        filter_check_by_config(
            check_dockerfile_contract(project_path),
            "cb-1321",
            comply_config,
        ),
        filter_check_by_config(check_svg_contract(project_path), "cb-1322", comply_config),
        filter_check_by_config(
            check_forjar_contract(project_path),
            "cb-1323",
            comply_config,
        ),
        filter_check_by_config(
            check_mdbook_contract(project_path),
            "cb-1324",
            comply_config,
        ),
        filter_check_by_config(
            check_changelog_contract(project_path),
            "cb-1325",
            comply_config,
        ),
        filter_check_by_config(check_badge_contract(project_path), "cb-1326", comply_config),
        filter_check_by_config(
            check_work_contract_validity(project_path),
            "cb-1331",
            comply_config,
        ),
        filter_check_by_config(
            check_cache_staleness(project_path),
            "cb-1332",
            comply_config,
        ),
        filter_check_by_config(
            check_hook_single_writer(project_path),
            "cb-1333",
            comply_config,
        ),
        filter_check_by_config(
            check_hook_atomic_writes(project_path),
            "cb-1334",
            comply_config,
        ),
        filter_check_by_config(
            check_hook_determinism(project_path),
            "cb-1335",
            comply_config,
        ),
        filter_check_by_config(
            check_hook_no_injection(project_path),
            "cb-1336",
            comply_config,
        ),
        filter_check_by_config(
            check_hook_performance(project_path),
            "cb-1337",
            comply_config,
        ),
        filter_check_by_config(
            check_verification_ratchet(project_path),
            "cb-1330",
            comply_config,
        ),
        filter_check_by_config(
            check_no_ghost_bindings(project_path),
            "cb-1338",
            comply_config,
        ),
        filter_check_by_config(
            check_no_placeholder_preconditions(project_path),
            "cb-1339",
            comply_config,
        ),
        filter_check_by_config(
            check_enforcement_penetration(project_path),
            "cb-1340",
            comply_config,
        ),
        filter_check_by_config(
            check_spec_number_accuracy(project_path),
            "cb-1341",
            comply_config,
        ),
        filter_check_by_config(
            check_assertion_placement(project_path),
            "cb-1343",
            comply_config,
        ),
        filter_check_by_config(
            check_differential_obligations(project_path),
            "cb-1350",
            comply_config,
        ),
        filter_check_by_config(
            check_binding_index_freshness(project_path),
            "cb-1351",
            comply_config,
        ),
        filter_check_by_config(
            check_assume_guarantee_chains(project_path),
            "cb-1352",
            comply_config,
        ),
        filter_check_by_config(
            check_ag_cycle_detection(project_path),
            "cb-1353",
            comply_config,
        ),
        filter_check_by_config(
            check_contract_query_readiness(project_path),
            "cb-1354",
            comply_config,
        ),
        filter_check_by_config(
            check_codegen_compiles(project_path),
            "cb-1342",
            comply_config,
        ),
    ]
}

/// CB-1600..CB-1609: work-contract binding enforcement (Component 27).
fn build_binding_scope_checks(
    project_path: &Path,
    comply_config: &crate::models::comply_config::ComplyConfig,
) -> Vec<ComplianceCheck> {
    use super::check_binding_scope as bs;
    // Per-check parallel: 10 binding-scope checks that read binding.yaml /
    // contract YAML and run git *read* commands (status/ls-files) — safe to
    // run concurrently.
    run_checks_parallel(
        project_path,
        comply_config,
        vec![
            (
                "cb-1600",
                bs::check_binding_scope_orphan as fn(&Path) -> ComplianceCheck,
            ),
            ("cb-1601", bs::check_binding_sha_drift),
            ("cb-1602", bs::check_binding_unbind_audit),
            ("cb-1603", bs::check_binding_inherited_clauses),
            ("cb-1604", bs::check_binding_postcondition_weakening),
            ("cb-1605", bs::check_binding_kani_harnesses),
            ("cb-1606", bs::check_binding_lean_theorem),
            ("cb-1607", bs::check_binding_equation_exists),
            ("cb-1608", bs::check_binding_cross_consistency),
            ("cb-1609", bs::check_binding_file_tracked),
        ],
    )
}

