From 36afddf2e0493ded6849550688ce246b9a122286 Mon Sep 17 00:00:00 2001
From: Abdul Wadood <awadood@gitlab.com>
Date: Tue, 29 Oct 2024 21:02:58 +0000
Subject: [PATCH] Fix Lint/RedundantCopDisableDirective offenses

As we want to enable this cop after fixing all the offenses.
---
 .../avoid_using_pluck_without_limit.yml       |   1 -
 .../gemspec/add_runtime_dependency.yml        |   1 +
 .../gitlab/documentation_links/link.yml       |   1 -
 .rubocop_todo/gitlab/namespaced_class.yml     |   1 -
 .rubocop_todo/layout/extra_spacing.yml        |   1 -
 .../layout/first_hash_element_indentation.yml |   1 -
 .../layout/line_break_after_final_mixin.yml   |   3 -
 ...e_end_string_concatenation_indentation.yml |   1 -
 .rubocop_todo/layout/line_length.yml          |   5 -
 .../lint/constant_definition_in_block.yml     |   1 -
 .../lint/missing_cop_enable_directive.yml     |   4 -
 .../lint/redundant_cop_disable_directive.yml  | 273 +-----------------
 .rubocop_todo/lint/to_enum_arguments.yml      |   5 -
 .rubocop_todo/lint/unused_method_argument.yml |   1 -
 .../naming/heredoc_delimiter_naming.yml       |   1 -
 .../string_identifier_argument.yml            |   1 -
 .rubocop_todo/rails/date.yml                  |   1 -
 .rubocop_todo/rspec/any_instance_of.yml       |   1 -
 .rubocop_todo/rspec/be_eq.yml                 |   4 -
 .rubocop_todo/rspec/be_nil.yml                |   3 -
 .rubocop_todo/rspec/context_wording.yml       |   2 -
 .rubocop_todo/rspec/duplicated_metadata.yml   |   1 +
 .rubocop_todo/rspec/empty_metadata.yml        |   1 +
 .rubocop_todo/rspec/empty_output.yml          |   1 +
 .../rspec/example_without_description.yml     |   2 -
 .rubocop_todo/rspec/expect_in_hook.yml        |   1 -
 .rubocop_todo/rspec/feature_category.yml      |   3 -
 .../rspec/identical_equality_assertion.yml    |   2 -
 .rubocop_todo/rspec/instance_variable.yml     |   1 -
 .rubocop_todo/rspec/metadata_style.yml        |   2 -
 .rubocop_todo/rspec/named_subject.yml         |   1 -
 .rubocop_todo/rspec/receive_messages.yml      |   4 -
 .rubocop_todo/rspec/spec_file_path_format.yml |   1 -
 .../rspec/verified_double_reference.yml       |   1 -
 .rubocop_todo/rspec/verified_doubles.yml      |   2 -
 .rubocop_todo/style/arguments_forwarding.yml  |   2 -
 .rubocop_todo/style/empty_literal.yml         |   2 -
 .rubocop_todo/style/hash_each_methods.yml     |   2 -
 .../style/inline_disable_annotation.yml       | 153 ----------
 .../redundant_interpolation_unfreeze.yml      |   1 -
 .rubocop_todo/style/symbol_proc.yml           |   1 -
 app/controllers/concerns/issuable_actions.rb  |   2 -
 app/controllers/concerns/preview_markdown.rb  |   3 -
 app/controllers/concerns/renders_notes.rb     |   4 -
 .../concerns/web_hooks/hook_log_actions.rb    |   2 -
 .../groups/autocomplete_sources_controller.rb |   2 -
 app/controllers/groups/labels_controller.rb   |   2 +-
 .../profiles/notifications_controller.rb      |   2 -
 .../merge_requests/diffs_controller.rb        |   2 -
 app/controllers/projects/tags_controller.rb   |   2 -
 app/graphql/gitlab_schema.rb                  |   2 +-
 .../concerns/caching_array_resolver.rb        |   2 +-
 app/graphql/resolvers/labels_resolver.rb      |   3 +-
 .../work_item_references_resolver.rb          |   2 -
 app/graphql/types/base_enum.rb                |   2 -
 app/graphql/types/board_list_type.rb          |   2 +-
 .../resources/components/input_type.rb        |   2 -
 .../resources/verification_level_enum.rb      |   2 -
 .../verification_status_enum.rb               |   4 -
 .../labels/search_field_list_enum.rb          |   2 -
 .../types/packages/helm/dependency_type.rb    |   2 +-
 .../types/projects/service_type_enum.rb       |   2 +-
 app/helpers/diff_helper.rb                    |   4 +-
 app/helpers/lazy_image_tag_helper.rb          |   2 +-
 app/helpers/search_helper.rb                  |   2 -
 app/helpers/sidebars_helper.rb                |   6 +-
 app/models/bulk_import.rb                     |   3 -
 app/models/clusters/cluster.rb                |   2 +-
 app/models/compare.rb                         |   2 +-
 .../cascading_namespace_setting_attribute.rb  |  12 +-
 .../cascading_project_setting_attribute.rb    |   2 -
 app/models/concerns/from_except.rb            |   2 -
 app/models/concerns/from_intersect.rb         |   2 -
 app/models/concerns/from_union.rb             |   2 -
 app/models/concerns/issuable.rb               |   6 +-
 app/models/concerns/redis_cacheable.rb        |   2 +-
 app/models/merge_request_diff_commit.rb       |   2 +-
 app/models/ml/model_version.rb                |   2 +-
 app/models/user.rb                            |   4 +-
 app/models/wiki_page/meta.rb                  |   4 +-
 .../dev_ops_report/metric_presenter.rb        |   2 -
 app/serializers/diffs_entity.rb               |   6 -
 app/serializers/fork_namespace_entity.rb      |   2 -
 .../boards/base_items_list_service.rb         |   2 -
 .../ci/job_artifacts/destroy_batch_service.rb |   2 -
 .../ci/runners/bulk_delete_runners_service.rb |   3 -
 .../database/consistency_check_service.rb     |   2 -
 .../copy_design_collection/copy_service.rb    |   2 -
 app/services/groups/destroy_service.rb        |   2 -
 .../groups/import_export/import_service.rb    |   4 +-
 .../placeholder_references/push_service.rb    |   4 +-
 app/services/issuable_base_service.rb         |   2 -
 app/services/issues/export_csv_service.rb     |   2 -
 .../referenced_merge_requests_service.rb      |   2 -
 app/services/labels/transfer_service.rb       |   2 -
 .../members/projects/creator_service.rb       |   2 -
 .../members/standard_member_builder.rb        |   2 +-
 .../build_xml_base_service.rb                 |   2 +-
 .../projects/auto_devops/disable_service.rb   |   2 -
 .../projects/open_issues_count_service.rb     |   1 -
 app/services/releases/create_service.rb       |  14 +-
 app/services/releases/update_service.rb       |  14 +-
 app/services/users/activate_service.rb        |   2 +-
 app/services/web_hook_service.rb              |   2 -
 .../object_storage/cdn/google_ip_cache.rb     |   3 -
 app/workers/concerns/application_worker.rb    |   4 +-
 app/workers/create_note_diff_file_worker.rb   |   2 +-
 .../execution_worker.rb                       |   2 +-
 app/workers/import_issues_csv_worker.rb       |   2 +-
 .../process_alert_worker_v2.rb                |   2 +-
 .../expiring_email_notification_worker.rb     |   2 +-
 app/workers/merge_worker.rb                   |   2 +-
 app/workers/new_merge_request_worker.rb       |   2 +-
 ...remove_unaccepted_member_invites_worker.rb |   2 +-
 ..._google_list_objects_match_glob_support.rb |   2 -
 config/initializers/grape_validators.rb       |   6 +-
 config/initializers/sprockets_patch.rb        |   6 -
 config/initializers/wikicloth_redos_patch.rb  |   6 -
 config/initializers/wikicloth_ruby_3_patch.rb |   8 -
 config/routes/api.rb                          |   2 +-
 .../admin/application_settings_controller.rb  |   2 +-
 .../ee/groups/group_members_controller.rb     |   6 +-
 .../productivity_analytics_controller.rb      |   2 -
 ee/app/controllers/groups/todos_controller.rb |   2 -
 .../contributions_resolver.rb                 |   3 -
 ee/app/graphql/types/boards/epic_list_type.rb |   2 +-
 .../minutes/namespace_monthly_usage_type.rb   |   1 -
 ...ncall_rotation_active_period_input_type.rb |   2 -
 .../types/product_analytics/category_enum.rb  |   2 -
 .../types/product_analytics/state_enum.rb     |   2 -
 ee/app/graphql/types/sbom/source_type_enum.rb |   3 -
 ee/app/graphql/types/scan_type.rb             |   1 -
 .../types/vulnerability_request_type.rb       |   2 +-
 ee/app/helpers/ee/boards_helper.rb            |   2 -
 .../projects/on_demand_scans_helper.rb        |   2 -
 .../ai/ai_resource/concerns/noteable.rb       |   2 +-
 ee/app/models/approver.rb                     |   2 +-
 ee/app/models/approver_group.rb               |   2 +-
 ee/app/models/dast/branch.rb                  |   3 -
 ee/app/models/ee/epic.rb                      |   2 +-
 ee/app/models/ee/group.rb                     |   2 +-
 ee/app/models/ee/merge_request.rb             |   6 +-
 ee/app/models/ee/project.rb                   |  20 +-
 ee/app/models/ee/user.rb                      |  12 +-
 ee/app/models/ee/vulnerability.rb             |   4 +-
 ee/app/models/geo_node.rb                     |   4 +-
 .../approval_rules/summarizable.rb            |   2 +-
 .../requirements_management/requirement.rb    |   2 +-
 ee/app/models/vulnerabilities/finding.rb      |   2 -
 .../dashboard_environments_serializer.rb      |   2 -
 .../consistency_check_service.rb              |   2 -
 .../cycle_analytics/data_loader_service.rb    |   2 -
 .../user_rules_destroy_service.rb             |   2 +-
 .../services/dora/aggregate_scores_service.rb |   2 -
 .../services/ee/boards/issues/list_service.rb |   2 -
 .../ee/ci/queue/build_queue_service.rb        |   1 -
 .../notification_recipients/builder/base.rb   |   2 +-
 .../mark_resolved_as_detected.rb              |   2 +-
 .../sync_any_merge_request_rules_service.rb   |   2 -
 .../process_scan_result_policy_service.rb     |   2 -
 .../bulk_create_scan_result_policy_service.rb |   2 +-
 .../workers/ee/issuable_export_csv_worker.rb  |   2 +-
 ..._up_group_protected_branch_rules_worker.rb |   2 +-
 .../scan_security_report_secrets_worker.rb    |   2 +-
 ...chestration_policy_rule_schedule_worker.rb |   2 -
 .../create_pipeline_worker.rb                 |   2 +-
 .../mark_dropped_as_resolved_worker.rb        |   2 -
 .../development/93_vsd_overview_counts.rb     |   2 -
 .../merge_request_metrics_calculator.rb       |   2 -
 ee/lib/api/admin/search/migrations.rb         |   2 +-
 ee/lib/api/audit_events.rb                    |   3 -
 ee/lib/api/dora/metrics.rb                    |   3 +-
 .../analytics/code_review/merge_request.rb    |   2 -
 ee/lib/ee/api/helpers.rb                      |   2 -
 ee/lib/ee/api/helpers/internal_helpers.rb     |   2 -
 ee/lib/ee/gitlab/event_store.rb               |   2 +-
 ee/lib/ee/gitlab/usage_data.rb                |   5 -
 ee/lib/elastic/latest/git_class_proxy.rb      |   1 -
 .../analytics/type_of_work/tasks_by_type.rb   |   2 -
 .../duo/developments/feature_flag_enabler.rb  |   2 -
 ee/lib/gitlab/status_page/storage/object.rb   |   3 -
 ee/lib/langsmith/run_helpers.rb               |   2 +-
 .../seat_count_alert_spec.rb                  |   2 +-
 .../concerns/routable_actions_spec.rb         |   2 +-
 .../factories/package_metadata/pm_licenses.rb |   2 -
 .../lead_creation_form_validation_spec.rb     |   2 +-
 ee/spec/helpers/ee/releases_helper_spec.rb    |   2 -
 .../self_signed/access_data_reader_spec.rb    |   2 -
 .../instructions_extractor_spec.rb            |   2 -
 .../lib/ee/gitlab/issuable_metadata_spec.rb   |   2 +-
 ee/spec/lib/gitlab/geo/log_helpers_spec.rb    |   2 +-
 .../completions/chat_real_requests_spec.rb    |  18 --
 ...pplied_scan_result_policies_metric_spec.rb |   2 +-
 ..._required_approvals_average_metric_spec.rb |   2 +-
 .../api/vulnerability_findings_spec.rb        |   6 +-
 ee/spec/requests/git_http_geo_spec.rb         |   2 -
 .../external_issue_link_entity_spec.rb        |   3 -
 .../security/merge_reports_service_spec.rb    |   2 +-
 ...earch_indexed_container_shared_examples.rb |   4 +-
 ...geo_verifiable_registry_shared_examples.rb |  13 +-
 lib/api/api.rb                                |   2 +-
 lib/api/entities/issuable_time_stats.rb       |   2 -
 lib/api/entities/tag.rb                       |   3 -
 lib/api/helpers.rb                            |   2 -
 lib/api/issue_links.rb                        |   3 -
 lib/backup/options.rb                         |   4 +-
 lib/bulk_imports/pipeline/runner.rb           |   2 +-
 lib/container_registry/tag.rb                 |   2 -
 lib/event_filter.rb                           |   2 -
 lib/feature.rb                                |   2 +-
 .../aggregated/base_query_builder.rb          |   2 -
 .../aggregated/records_fetcher.rb             |   2 -
 .../cycle_analytics/base_query_builder.rb     |   2 -
 .../cycle_analytics/records_fetcher.rb        |   4 -
 lib/gitlab/application_context.rb             |   4 -
 lib/gitlab/cache/request_cache.rb             |   2 +-
 lib/gitlab/data_builder/pipeline.rb           |   2 -
 lib/gitlab/diff/file.rb                       |   4 -
 .../diff/file_collection/paginated_diffs.rb   |   2 +-
 lib/gitlab/diff/pair_selector.rb              |   3 -
 lib/gitlab/diff/parser.rb                     |   2 +-
 .../rendered/notebook/diff_file_helper.rb     |   2 +-
 .../encrypted_incoming_email_command.rb       |   2 -
 lib/gitlab/encrypted_redis_command.rb         |   2 -
 .../encrypted_service_desk_email_command.rb   |   2 -
 lib/gitlab/encrypted_smtp_command.rb          |   2 -
 .../processor/sidekiq_processor.rb            |   2 +-
 lib/gitlab/file_detector.rb                   |   2 +-
 lib/gitlab/git/commit.rb                      |   2 -
 lib/gitlab/git/patches/collection.rb          |   2 -
 lib/gitlab/github_import/markdown_text.rb     |   2 -
 lib/gitlab/github_import/user_finder.rb       |   4 -
 .../graphql/pagination/keyset/connection.rb   |   2 -
 lib/gitlab/health_checks/metric.rb            |   3 -
 lib/gitlab/health_checks/probes/status.rb     |   3 -
 lib/gitlab/health_checks/result.rb            |   3 -
 lib/gitlab/middleware/release_env.rb          |   3 -
 lib/gitlab/object_hierarchy.rb                |   4 -
 .../keyset/column_order_definition.rb         |   2 -
 lib/gitlab/pagination/keyset/pager.rb         |   2 +-
 lib/gitlab/patch/old_redis_cache_store.rb     |   2 +-
 lib/gitlab/patch/redis_cache_store.rb         |   2 +-
 lib/gitlab/profiler.rb                        |   2 -
 lib/gitlab/project_search_results.rb          |   2 -
 lib/gitlab/rack_attack/user_allowlist.rb      |   2 +-
 lib/gitlab/redis/hll.rb                       |   3 -
 lib/gitlab/search/sort_options.rb             |   2 +-
 lib/gitlab/sidekiq_config/cli_methods.rb      |   2 +-
 lib/gitlab/slash_commands/issue_search.rb     |   2 -
 lib/gitlab/slash_commands/result.rb           |   3 -
 lib/gitlab/tracking.rb                        |   2 +-
 .../count_imported_projects_metric.rb         |   4 +-
 .../instrumentations/database_metric.rb       |   2 +-
 .../instrumentations/numbers_metric.rb        |   2 +-
 lib/gitlab/usage_data.rb                      |   3 -
 lib/gitlab/usage_data_queries.rb              |   4 -
 lib/gitlab/verify/ci_secure_files.rb          |   2 -
 lib/gitlab/x509/signature.rb                  |   4 +-
 lib/tasks/gitlab/cleanup.rake                 |   4 +-
 lib/tasks/gitlab/seed/group_seed.rake         |   2 -
 .../create_merge_request_with_secure_spec.rb  |   4 +-
 rubocop/cop/gettext/static_identifier.rb      |   2 +-
 rubocop/cop/gitlab/feature_available_usage.rb |   2 +-
 rubocop/cop/migration/add_reference.rb        |   2 +-
 rubocop/cop/rake/require.rb                   |   2 +-
 .../rspec/factory_bot/inline_association.rb   |   2 +-
 rubocop/cop/static_translation_definition.rb  |   2 +-
 rubocop/feature_categories.rb                 |   4 +-
 rubocop/formatter/todo_formatter.rb           |   2 +-
 sidekiq_cluster/cli.rb                        |   2 +-
 sidekiq_cluster/sidekiq_cluster.rb            |   2 +-
 .../groups/milestones_controller_spec.rb      |   2 +-
 .../two_factor_auths_controller_spec.rb       |   6 +-
 .../projects/milestones_controller_spec.rb    |   2 +-
 spec/features/issues/discussion_lock_spec.rb  |   2 +-
 spec/features/issues/user_edits_issue_spec.rb |   2 +-
 spec/frontend/fixtures/merge_requests.rb      |   2 -
 spec/lib/backup/manager_spec.rb               |   2 +-
 spec/lib/gitlab/avatar_cache_spec.rb          |   2 +-
 .../notebook/diff_file_helper_spec.rb         |   2 +-
 spec/lib/gitlab/gfm/uploads_rewriter_spec.rb  |   2 +-
 spec/lib/gitlab/git/tree_spec.rb              |   6 -
 .../project/relation_saver_spec.rb            |   8 +-
 .../memory/watchdog/configurator_spec.rb      |   2 -
 .../metrics/exporter/base_exporter_spec.rb    |   2 +-
 .../gitlab/namespaced_session_store_spec.rb   |   3 -
 .../gitlab/pagination/keyset/iterator_spec.rb |   4 +-
 spec/lib/gitlab/quick_actions/dsl_spec.rb     |   2 +-
 spec/lib/gitlab/redis/multi_store_spec.rb     |   2 -
 spec/lib/gitlab/shard_health_cache_spec.rb    |   2 +-
 .../sidekiq_middleware/server_metrics_spec.rb |   2 -
 .../size_limiter/server_spec.rb               |   1 -
 spec/lib/omni_auth/strategies/jwt_spec.rb     |   2 -
 spec/models/ci/build_trace_chunk_spec.rb      |   2 +-
 .../models/concerns/triggerable_hooks_spec.rb |   2 +-
 .../pypi/simple_index_presenter_spec.rb       |   8 +-
 .../simple_package_versions_presenter_spec.rb |   4 +-
 spec/requests/api/graphql/ci/config_spec.rb   |   2 -
 spec/scripts/duo_chat/reporter_spec.rb        |   2 +-
 .../metric_images/upload_service_spec.rb      |   3 +-
 .../boards/lists/list_service_spec.rb         |   3 +-
 spec/support/finder_collection.rb             |   2 +-
 spec/support/forgery_protection.rb            |   2 +-
 .../database/multiple_databases_helpers.rb    |   4 +-
 spec/support/helpers/graphql_helpers.rb       |   1 -
 spec/support/helpers/snowplow_helpers.rb      |   6 +-
 .../editable_merge_request_shared_examples.rb |   2 +-
 .../lib/gitlab/regex_shared_examples.rb       |  10 +-
 .../models/boards/listable_shared_examples.rb |   2 +-
 .../escalatable_shared_examples.rb            |   2 -
 .../cycle_analytics_stage_shared_examples.rb  |   2 -
 .../distribution_key_shared_examples.rb       |   2 +-
 .../api/rubygems_packages_shared_examples.rb  |   2 +-
 313 files changed, 240 insertions(+), 1036 deletions(-)
 delete mode 100644 .rubocop_todo/lint/to_enum_arguments.yml

diff --git a/.rubocop_todo/database/avoid_using_pluck_without_limit.yml b/.rubocop_todo/database/avoid_using_pluck_without_limit.yml
index 690961890b9c..3fd82482aba8 100644
--- a/.rubocop_todo/database/avoid_using_pluck_without_limit.yml
+++ b/.rubocop_todo/database/avoid_using_pluck_without_limit.yml
@@ -139,7 +139,6 @@ Database/AvoidUsingPluckWithoutLimit:
     - 'ee/app/services/approval_rules/params_filtering_service.rb'
     - 'ee/app/services/click_house/data_ingestion/ci_finished_builds_sync_service.rb'
     - 'ee/app/services/ee/groups/destroy_service.rb'
-    - 'ee/app/services/ee/search/global_service.rb'
     - 'ee/app/services/epics/update_dates_service.rb'
     - 'ee/app/services/gitlab_subscriptions/preview_billable_user_change_service.rb'
     - 'ee/app/services/security/merge_request_security_report_generation_service.rb'
diff --git a/.rubocop_todo/gemspec/add_runtime_dependency.yml b/.rubocop_todo/gemspec/add_runtime_dependency.yml
index a70c8debc004..50bd80e5a6c4 100644
--- a/.rubocop_todo/gemspec/add_runtime_dependency.yml
+++ b/.rubocop_todo/gemspec/add_runtime_dependency.yml
@@ -1,3 +1,4 @@
 ---
+# Cop supports --autocorrect.
 Gemspec/AddRuntimeDependency:
   Details: grace period
diff --git a/.rubocop_todo/gitlab/documentation_links/link.yml b/.rubocop_todo/gitlab/documentation_links/link.yml
index 17532e23e8df..8ebf9ec31ace 100644
--- a/.rubocop_todo/gitlab/documentation_links/link.yml
+++ b/.rubocop_todo/gitlab/documentation_links/link.yml
@@ -25,7 +25,6 @@ Gitlab/DocumentationLinks/Link:
     - 'ee/app/helpers/vulnerabilities_helper.rb'
     - 'ee/app/models/integrations/github.rb'
     - 'ee/app/presenters/ee/merge_request_presenter.rb'
-    - 'ee/app/presenters/gitlab_subscriptions/trials/duo_enterprise_status_widget_presenter.rb'
     - 'ee/lib/api/managed_licenses.rb'
     - 'ee/lib/ee/gitlab/namespace_storage_size_error_message.rb'
     - 'ee/lib/gitlab/checks/secrets_check.rb'
diff --git a/.rubocop_todo/gitlab/namespaced_class.yml b/.rubocop_todo/gitlab/namespaced_class.yml
index 20c7209f750e..621ddb1b797a 100644
--- a/.rubocop_todo/gitlab/namespaced_class.yml
+++ b/.rubocop_todo/gitlab/namespaced_class.yml
@@ -408,7 +408,6 @@ Gitlab/NamespacedClass:
     - 'app/presenters/group_clusterable_presenter.rb'
     - 'app/presenters/group_member_presenter.rb'
     - 'app/presenters/instance_clusterable_presenter.rb'
-    - 'app/presenters/issue_email_participant_presenter.rb'
     - 'app/presenters/issue_presenter.rb'
     - 'app/presenters/label_presenter.rb'
     - 'app/presenters/member_presenter.rb'
diff --git a/.rubocop_todo/layout/extra_spacing.yml b/.rubocop_todo/layout/extra_spacing.yml
index 76ca09f9f14e..5f0e5e91bbf0 100644
--- a/.rubocop_todo/layout/extra_spacing.yml
+++ b/.rubocop_todo/layout/extra_spacing.yml
@@ -14,5 +14,4 @@ Layout/ExtraSpacing:
     - 'ee/spec/services/app_sec/fuzzing/api/ci_configuration_create_service_spec.rb'
     - 'ee/spec/services/ci/create_pipeline_service/dast_configuration_spec.rb'
     - 'spec/lib/gitlab/database/background_migration/batch_optimizer_spec.rb'
-    - 'spec/lib/gitlab/database/no_new_tables_with_gitlab_main_schema_spec.rb'
     - 'spec/lib/gitlab/database/reindexing/index_selection_spec.rb'
diff --git a/.rubocop_todo/layout/first_hash_element_indentation.yml b/.rubocop_todo/layout/first_hash_element_indentation.yml
index b5b6af90ddf8..7b70ce48fe74 100644
--- a/.rubocop_todo/layout/first_hash_element_indentation.yml
+++ b/.rubocop_todo/layout/first_hash_element_indentation.yml
@@ -70,7 +70,6 @@ Layout/FirstHashElementIndentation:
     - 'spec/lib/gitlab/import_export/members_mapper_spec.rb'
     - 'spec/lib/gitlab/instrumentation_helper_spec.rb'
     - 'spec/lib/gitlab/metrics/subscribers/action_cable_spec.rb'
-    - 'spec/lib/gitlab/sidekiq_migrate_jobs_spec.rb'
     - 'spec/lib/gitlab/workhorse_spec.rb'
     - 'spec/lib/mattermost/team_spec.rb'
     - 'spec/lib/peek/views/redis_detailed_spec.rb'
diff --git a/.rubocop_todo/layout/line_break_after_final_mixin.yml b/.rubocop_todo/layout/line_break_after_final_mixin.yml
index a79e07865989..0546ed823695 100644
--- a/.rubocop_todo/layout/line_break_after_final_mixin.yml
+++ b/.rubocop_todo/layout/line_break_after_final_mixin.yml
@@ -7,8 +7,6 @@ Layout/LineBreakAfterFinalMixin:
     - 'app/models/alert_management/metric_image.rb'
     - 'app/models/integrations/pushover.rb'
     - 'app/models/integrations/telegram.rb'
-    - 'app/models/plan_limits.rb'
-    - 'app/models/project_feature_usage.rb'
     - 'app/models/protected_branch/merge_access_level.rb'
     - 'app/models/protected_branch/push_access_level.rb'
     - 'app/policies/project_member_policy.rb'
@@ -63,7 +61,6 @@ Layout/LineBreakAfterFinalMixin:
     - 'ee/app/models/approval_project_rules_protected_branch.rb'
     - 'ee/app/models/approval_rules/approval_group_rule.rb'
     - 'ee/app/models/approval_rules/approval_group_rules_protected_branch.rb'
-    - 'ee/app/models/namespace_limit.rb'
     - 'ee/app/models/vulnerabilities/scanner.rb'
     - 'ee/app/models/vulnerabilities/statistic.rb'
     - 'ee/app/services/ee/ip_restrictions/update_service.rb'
diff --git a/.rubocop_todo/layout/line_end_string_concatenation_indentation.yml b/.rubocop_todo/layout/line_end_string_concatenation_indentation.yml
index f59795126adf..20e04abc43c9 100644
--- a/.rubocop_todo/layout/line_end_string_concatenation_indentation.yml
+++ b/.rubocop_todo/layout/line_end_string_concatenation_indentation.yml
@@ -402,7 +402,6 @@ Layout/LineEndStringConcatenationIndentation:
     - 'lib/gitlab/config_checker/external_database_checker.rb'
     - 'lib/gitlab/database/background_migration/batched_migration_runner.rb'
     - 'lib/gitlab/database/decomposition/migrate.rb'
-    - 'lib/gitlab/database/dictionary.rb'
     - 'lib/gitlab/database/gitlab_schema.rb'
     - 'lib/gitlab/database/migration_helpers/wraparound_vacuum_helpers.rb'
     - 'lib/gitlab/database/migrations/pg_backend_pid.rb'
diff --git a/.rubocop_todo/layout/line_length.yml b/.rubocop_todo/layout/line_length.yml
index ab0cecfcd752..2b6b80c55378 100644
--- a/.rubocop_todo/layout/line_length.yml
+++ b/.rubocop_todo/layout/line_length.yml
@@ -367,7 +367,6 @@ Layout/LineLength:
     - 'app/presenters/instance_clusterable_presenter.rb'
     - 'app/presenters/merge_request_presenter.rb'
     - 'app/presenters/packages/composer/packages_presenter.rb'
-    - 'app/presenters/packages/conan/package_presenter.rb'
     - 'app/presenters/project_clusterable_presenter.rb'
     - 'app/presenters/project_presenter.rb'
     - 'app/presenters/snippet_blob_presenter.rb'
@@ -584,7 +583,6 @@ Layout/LineLength:
     - 'config/initializers/zz_metrics.rb'
     - 'config/routes.rb'
     - 'config/routes/admin.rb'
-    - 'config/routes/api.rb'
     - 'config/routes/group.rb'
     - 'config/routes/import.rb'
     - 'config/routes/project.rb'
@@ -2610,7 +2608,6 @@ Layout/LineLength:
     - 'qa/qa/specs/features/browser_ui/4_verify/pipeline/merge_mr_when_pipline_is_blocked_spec.rb'
     - 'qa/qa/specs/features/browser_ui/4_verify/pipeline/trigger_matrix_spec.rb'
     - 'qa/qa/specs/features/browser_ui/4_verify/runner/register_runner_spec.rb'
-    - 'qa/qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb'
     - 'qa/qa/specs/features/ee/api/3_create/wiki/group_wiki_repository_storage_move_spec.rb'
     - 'qa/qa/specs/features/ee/browser_ui/11_fulfillment/license/license_spec.rb'
     - 'qa/qa/specs/features/ee/browser_ui/2_plan/burndown_chart/burndown_chart_spec.rb'
@@ -2637,7 +2634,6 @@ Layout/LineLength:
     - 'qa/qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_subgroup_spec.rb'
     - 'qa/qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_http_spec.rb'
     - 'qa/qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_ssh_with_key_spec.rb'
-    - 'qa/qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb'
     - 'qa/qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb'
     - 'qa/qa/specs/features/ee/browser_ui/4_verify/pipeline_subscription_with_group_owned_project_spec.rb'
     - 'qa/qa/specs/features/ee/browser_ui/4_verify/transient/merge_trains_transient_bug_spec.rb'
@@ -4498,7 +4494,6 @@ Layout/LineLength:
     - 'spec/workers/container_expiration_policies/cleanup_container_repository_worker_spec.rb'
     - 'spec/workers/container_expiration_policy_worker_spec.rb'
     - 'spec/workers/create_pipeline_worker_spec.rb'
-    - 'spec/workers/dependency_proxy/image_ttl_group_policy_worker_spec.rb'
     - 'spec/workers/deployments/update_environment_worker_spec.rb'
     - 'spec/workers/disallow_two_factor_for_subgroups_worker_spec.rb'
     - 'spec/workers/email_receiver_worker_spec.rb'
diff --git a/.rubocop_todo/lint/constant_definition_in_block.yml b/.rubocop_todo/lint/constant_definition_in_block.yml
index 32d4d57066d1..6c0446325884 100644
--- a/.rubocop_todo/lint/constant_definition_in_block.yml
+++ b/.rubocop_todo/lint/constant_definition_in_block.yml
@@ -31,7 +31,6 @@ Lint/ConstantDefinitionInBlock:
     - 'lib/tasks/gitlab/db.rake'
     - 'lib/tasks/gitlab/db/validate_config.rake'
     - 'lib/tasks/gitlab/docs/compile_deprecations.rake'
-    - 'lib/tasks/gitlab/docs/compile_windows.rake'
     - 'lib/tasks/gitlab/graphql.rake'
     - 'lib/tasks/gitlab/refresh_project_statistics_build_artifacts_size.rake'
     - 'lib/tasks/gitlab/snippets.rake'
diff --git a/.rubocop_todo/lint/missing_cop_enable_directive.yml b/.rubocop_todo/lint/missing_cop_enable_directive.yml
index 31c3334e27af..a923a114536f 100644
--- a/.rubocop_todo/lint/missing_cop_enable_directive.yml
+++ b/.rubocop_todo/lint/missing_cop_enable_directive.yml
@@ -67,10 +67,8 @@ Lint/MissingCopEnableDirective:
     - 'ee/app/graphql/types/ci/code_coverage_activity_type.rb'
     - 'ee/app/graphql/types/ci/code_coverage_summary_type.rb'
     - 'ee/app/graphql/types/ci/code_quality_degradation_type.rb'
-    - 'ee/app/graphql/types/ci/minutes/namespace_monthly_usage_type.rb'
     - 'ee/app/graphql/types/ci/minutes/project_monthly_usage_type.rb'
     - 'ee/app/graphql/types/dast/profile_cadence_type.rb'
-    - 'ee/app/graphql/types/scan_type.rb'
     - 'ee/app/graphql/types/scanned_resource_type.rb'
     - 'ee/app/graphql/types/security_report_summary_section_type.rb'
     - 'ee/app/graphql/types/security_report_summary_type.rb'
@@ -105,7 +103,6 @@ Lint/MissingCopEnableDirective:
     - 'ee/app/graphql/types/vulnerable_dependency_type.rb'
     - 'ee/app/graphql/types/vulnerable_kubernetes_resource_type.rb'
     - 'ee/app/graphql/types/vulnerable_package_type.rb'
-    - 'ee/app/services/ee/ci/queue/build_queue_service.rb'
     - 'ee/app/workers/ci/runners/stale_group_runners_prune_cron_worker.rb'
     - 'ee/lib/api/ldap_group_links.rb'
     - 'ee/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules.rb'
@@ -131,5 +128,4 @@ Lint/MissingCopEnableDirective:
     - 'lib/unnested_in_filters/dsl.rb'
     - 'qa/qa/scenario/test/integration/registry_with_cdn.rb'
     - 'spec/benchmarks/banzai_benchmark.rb'
-    - 'spec/lib/gitlab/sidekiq_middleware/size_limiter/server_spec.rb'
     - 'spec/support/capybara.rb'
diff --git a/.rubocop_todo/lint/redundant_cop_disable_directive.yml b/.rubocop_todo/lint/redundant_cop_disable_directive.yml
index c1d724eb35ac..8f7b0cafeefa 100644
--- a/.rubocop_todo/lint/redundant_cop_disable_directive.yml
+++ b/.rubocop_todo/lint/redundant_cop_disable_directive.yml
@@ -1,108 +1,31 @@
 ---
 # Cop supports --autocorrect.
 Lint/RedundantCopDisableDirective:
-  # Offense count: 573
+  # Offense count: 230
   # Temporarily disabled due to too many offenses
   Enabled: false
   Exclude:
     - 'app/controllers/concerns/enforces_two_factor_authentication.rb'
-    - 'app/controllers/concerns/issuable_actions.rb'
-    - 'app/controllers/concerns/preview_markdown.rb'
-    - 'app/controllers/concerns/renders_notes.rb'
-    - 'app/controllers/concerns/web_hooks/hook_log_actions.rb'
-    - 'app/controllers/groups/autocomplete_sources_controller.rb'
-    - 'app/controllers/groups/labels_controller.rb'
     - 'app/controllers/groups/milestones_controller.rb'
-    - 'app/controllers/profiles/notifications_controller.rb'
-    - 'app/controllers/projects/merge_requests/diffs_controller.rb'
-    - 'app/controllers/projects/tags_controller.rb'
     - 'app/finders/autocomplete/move_to_project_finder.rb'
     - 'app/finders/autocomplete/routes_finder.rb'
     - 'app/finders/autocomplete/users_finder.rb'
     - 'app/finders/ci/daily_build_group_report_results_finder.rb'
     - 'app/finders/ci/runner_jobs_finder.rb'
     - 'app/finders/users_finder.rb'
-    - 'app/graphql/gitlab_schema.rb'
     - 'app/graphql/resolvers/ci/pipeline_job_artifacts_resolver.rb'
-    - 'app/graphql/resolvers/concerns/caching_array_resolver.rb'
-    - 'app/graphql/resolvers/labels_resolver.rb'
-    - 'app/graphql/resolvers/work_item_references_resolver.rb'
-    - 'app/graphql/types/base_enum.rb'
-    - 'app/graphql/types/board_list_type.rb'
-    - 'app/graphql/types/ci/catalog/resources/components/input_type.rb'
-    - 'app/graphql/types/ci/catalog/resources/verification_level_enum.rb'
     - 'app/graphql/types/ci/runner_web_url_edge.rb'
-    - 'app/graphql/types/commit_signatures/verification_status_enum.rb'
-    - 'app/graphql/types/issuables/labels/search_field_list_enum.rb'
-    - 'app/graphql/types/packages/helm/dependency_type.rb'
-    - 'app/graphql/types/projects/service_type_enum.rb'
-    - 'app/helpers/diff_helper.rb'
-    - 'app/helpers/lazy_image_tag_helper.rb'
-    - 'app/helpers/search_helper.rb'
-    - 'app/helpers/sidebars_helper.rb'
-    - 'app/models/bulk_import.rb'
-    - 'app/models/clusters/cluster.rb'
-    - 'app/models/compare.rb'
-    - 'app/models/concerns/cascading_namespace_setting_attribute.rb'
-    - 'app/models/concerns/cascading_project_setting_attribute.rb'
-    - 'app/models/concerns/from_except.rb'
-    - 'app/models/concerns/from_intersect.rb'
-    - 'app/models/concerns/from_union.rb'
-    - 'app/models/concerns/issuable.rb'
-    - 'app/models/concerns/redis_cacheable.rb'
-    - 'app/models/merge_request_diff_commit.rb'
-    - 'app/models/ml/model_version.rb'
-    - 'app/models/user.rb'
-    - 'app/models/wiki_page/meta.rb'
     - 'app/models/work_items/type.rb'
     - 'app/policies/issue_policy.rb'
     - 'app/presenters/ci/build_runner_presenter.rb'
-    - 'app/presenters/dev_ops_report/metric_presenter.rb'
-    - 'app/serializers/diffs_entity.rb'
-    - 'app/serializers/fork_namespace_entity.rb'
-    - 'app/services/boards/base_items_list_service.rb'
-    - 'app/services/ci/job_artifacts/destroy_batch_service.rb'
     - 'app/services/ci/register_job_service.rb'
     - 'app/services/ci/retry_job_service.rb'
-    - 'app/services/ci/runners/bulk_delete_runners_service.rb'
-    - 'app/services/database/consistency_check_service.rb'
-    - 'app/services/design_management/copy_design_collection/copy_service.rb'
-    - 'app/services/groups/destroy_service.rb'
-    - 'app/services/groups/import_export/import_service.rb'
-    - 'app/services/import/placeholder_references/push_service.rb'
-    - 'app/services/issuable_base_service.rb'
-    - 'app/services/issues/export_csv_service.rb'
-    - 'app/services/issues/referenced_merge_requests_service.rb'
-    - 'app/services/labels/transfer_service.rb'
-    - 'app/services/members/projects/creator_service.rb'
-    - 'app/services/members/standard_member_builder.rb'
-    - 'app/services/packages/rpm/repository_metadata/build_xml_base_service.rb'
-    - 'app/services/projects/auto_devops/disable_service.rb'
-    - 'app/services/projects/open_issues_count_service.rb'
-    - 'app/services/releases/create_service.rb'
-    - 'app/services/releases/update_service.rb'
-    - 'app/services/users/activate_service.rb'
-    - 'app/services/web_hook_service.rb'
-    - 'app/uploaders/object_storage/cdn/google_ip_cache.rb'
+    - 'app/services/work_items/data_sync/clone_service.rb'
+    - 'app/services/work_items/data_sync/move_service.rb'
     - 'app/workers/authorized_project_update/user_refresh_over_user_range_worker.rb'
     - 'app/workers/ci/track_failed_build_worker.rb'
-    - 'app/workers/concerns/application_worker.rb'
-    - 'app/workers/create_note_diff_file_worker.rb'
-    - 'app/workers/database/batched_background_migration/execution_worker.rb'
-    - 'app/workers/import_issues_csv_worker.rb'
-    - 'app/workers/incident_management/process_alert_worker_v2.rb'
-    - 'app/workers/members/expiring_email_notification_worker.rb'
-    - 'app/workers/merge_worker.rb'
-    - 'app/workers/new_merge_request_worker.rb'
-    - 'app/workers/remove_unaccepted_member_invites_worker.rb'
     - 'app/workers/run_pipeline_schedule_worker.rb'
-    - 'config/initializers/fog_google_list_objects_match_glob_support.rb'
-    - 'config/initializers/grape_validators.rb'
-    - 'config/initializers/sprockets_patch.rb'
     - 'config/initializers/warden.rb'
-    - 'config/initializers/wikicloth_redos_patch.rb'
-    - 'config/initializers/wikicloth_ruby_3_patch.rb'
-    - 'config/routes/api.rb'
     - 'db/migrate/20240701145111_add_namespace_import_users_table.rb'
     - 'db/migrate/20240829163210_create_instance_integrations_table.rb'
     - 'db/post_migrate/20231017064317_swap_columns_for_ci_pipeline_variables_pipeline_id_bigint.rb'
@@ -128,11 +51,7 @@ Lint/RedundantCopDisableDirective:
     - 'db/post_migrate/20240430015514_swap_columns_for_p_ci_builds_user_id.rb'
     - 'db/post_migrate/20240902014331_sync_fk_referencing_p_ci_pipelines.rb'
     - 'db/post_migrate/20240917143249_partition_ci_build_trace_metadata3.rb'
-    - 'ee/app/controllers/ee/admin/application_settings_controller.rb'
-    - 'ee/app/controllers/ee/groups/group_members_controller.rb'
     - 'ee/app/controllers/ee/projects/settings/ci_cd_controller.rb'
-    - 'ee/app/controllers/groups/analytics/productivity_analytics_controller.rb'
-    - 'ee/app/controllers/groups/todos_controller.rb'
     - 'ee/app/finders/epics/with_issues_finder.rb'
     - 'ee/app/finders/geo/registry_finder.rb'
     - 'ee/app/finders/groups/users_finder.rb'
@@ -140,60 +59,10 @@ Lint/RedundantCopDisableDirective:
     - 'ee/app/finders/search/projects_finder.rb'
     - 'ee/app/finders/status_page/incident_comments_finder.rb'
     - 'ee/app/finders/status_page/incidents_finder.rb'
-    - 'ee/app/graphql/resolvers/analytics/contribution_analytics/contributions_resolver.rb'
-    - 'ee/app/graphql/types/boards/epic_list_type.rb'
-    - 'ee/app/graphql/types/ci/minutes/namespace_monthly_usage_type.rb'
-    - 'ee/app/graphql/types/incident_management/oncall_rotation_active_period_input_type.rb'
-    - 'ee/app/graphql/types/product_analytics/category_enum.rb'
-    - 'ee/app/graphql/types/product_analytics/state_enum.rb'
-    - 'ee/app/graphql/types/sbom/source_type_enum.rb'
-    - 'ee/app/graphql/types/scan_type.rb'
-    - 'ee/app/graphql/types/vulnerability_request_type.rb'
-    - 'ee/app/helpers/ee/boards_helper.rb'
-    - 'ee/app/helpers/projects/on_demand_scans_helper.rb'
-    - 'ee/app/models/ai/ai_resource/concerns/noteable.rb'
-    - 'ee/app/models/approver.rb'
-    - 'ee/app/models/approver_group.rb'
     - 'ee/app/models/ci/finished_build_ch_sync_event.rb'
-    - 'ee/app/models/dast/branch.rb'
-    - 'ee/app/models/ee/epic.rb'
-    - 'ee/app/models/ee/group.rb'
-    - 'ee/app/models/ee/merge_request.rb'
-    - 'ee/app/models/ee/project.rb'
-    - 'ee/app/models/ee/user.rb'
-    - 'ee/app/models/ee/vulnerability.rb'
-    - 'ee/app/models/geo_node.rb'
-    - 'ee/app/models/protected_environments/approval_rules/summarizable.rb'
-    - 'ee/app/models/requirements_management/requirement.rb'
-    - 'ee/app/models/vulnerabilities/finding.rb'
-    - 'ee/app/serializers/dashboard_environments_serializer.rb'
-    - 'ee/app/services/analytics/cycle_analytics/consistency_check_service.rb'
-    - 'ee/app/services/analytics/cycle_analytics/data_loader_service.rb'
-    - 'ee/app/services/approval_rules/user_rules_destroy_service.rb'
-    - 'ee/app/services/dora/aggregate_scores_service.rb'
-    - 'ee/app/services/ee/boards/issues/list_service.rb'
-    - 'ee/app/services/ee/ci/queue/build_queue_service.rb'
-    - 'ee/app/services/ee/notification_recipients/builder/base.rb'
-    - 'ee/app/services/security/ingestion/tasks/ingest_vulnerabilities/mark_resolved_as_detected.rb'
-    - 'ee/app/services/security/scan_result_policies/sync_any_merge_request_rules_service.rb'
-    - 'ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb'
+    - 'ee/app/services/search/zoekt/routing_service.rb'
     - 'ee/app/services/security/token_revocation_service.rb'
-    - 'ee/app/services/software_license_policies/bulk_create_scan_result_policy_service.rb'
-    - 'ee/app/workers/ee/issuable_export_csv_worker.rb'
-    - 'ee/app/workers/members_destroyer/clean_up_group_protected_branch_rules_worker.rb'
-    - 'ee/app/workers/scan_security_report_secrets_worker.rb'
-    - 'ee/app/workers/security/orchestration_policy_rule_schedule_worker.rb'
-    - 'ee/app/workers/security/scan_execution_policies/create_pipeline_worker.rb'
-    - 'ee/app/workers/vulnerabilities/mark_dropped_as_resolved_worker.rb'
-    - 'ee/db/fixtures/development/93_vsd_overview_counts.rb'
     - 'ee/db/geo/migrate/20210504143244_add_verification_to_merge_request_diff_registry.rb'
-    - 'ee/lib/analytics/merge_request_metrics_calculator.rb'
-    - 'ee/lib/api/admin/search/migrations.rb'
-    - 'ee/lib/api/audit_events.rb'
-    - 'ee/lib/api/dora/metrics.rb'
-    - 'ee/lib/ee/api/entities/analytics/code_review/merge_request.rb'
-    - 'ee/lib/ee/api/helpers.rb'
-    - 'ee/lib/ee/api/helpers/internal_helpers.rb'
     - 'ee/lib/ee/gitlab/background_migration/backfill_dismissal_reason_in_vulnerability_reads.rb'
     - 'ee/lib/ee/gitlab/background_migration/backfill_missing_vulnerability_dismissal_details.rb'
     - 'ee/lib/ee/gitlab/background_migration/backfill_zoekt_replicas.rb'
@@ -202,62 +71,21 @@ Lint/RedundantCopDisableDirective:
     - 'ee/lib/ee/gitlab/background_migration/migrate_vulnerabilities_feedback_to_vulnerabilities_state_transition.rb'
     - 'ee/lib/ee/gitlab/background_migration/populate_denormalized_columns_for_sbom_occurrences.rb'
     - 'ee/lib/ee/gitlab/background_migration/purge_stale_security_scans.rb'
-    - 'ee/lib/ee/gitlab/event_store.rb'
-    - 'ee/lib/ee/gitlab/usage_data.rb'
-    - 'ee/lib/elastic/latest/git_class_proxy.rb'
-    - 'ee/lib/gitlab/analytics/type_of_work/tasks_by_type.rb'
-    - 'ee/lib/gitlab/duo/developments/feature_flag_enabler.rb'
-    - 'ee/lib/gitlab/status_page/storage/object.rb'
-    - 'ee/lib/langsmith/run_helpers.rb'
-    - 'ee/spec/controllers/concerns/gitlab_subscriptions/seat_count_alert_spec.rb'
-    - 'ee/spec/controllers/concerns/routable_actions_spec.rb'
-    - 'ee/spec/factories/package_metadata/pm_licenses.rb'
     - 'ee/spec/features/groups/settings/domain_verification_spec.rb'
     - 'ee/spec/features/projects/mirror_spec.rb'
-    - 'ee/spec/features/projects/pipelines/user_sees_security_tab_spec.rb'
-    - 'ee/spec/features/trials/lead_creation_form_validation_spec.rb'
-    - 'ee/spec/helpers/ee/releases_helper_spec.rb'
     - 'ee/spec/lib/banzai/filter/references/iterations_cadence_reference_filter_spec.rb'
-    - 'ee/spec/lib/cloud_connector/self_signed/access_data_reader_spec.rb'
-    - 'ee/spec/lib/code_suggestions/instructions_extractor_spec.rb'
     - 'ee/spec/lib/ee/gitlab/background_migration/backfill_missing_vulnerability_dismissal_details_spec.rb'
     - 'ee/spec/lib/ee/gitlab/background_migration/delete_orphaned_transferred_project_approval_rules_spec.rb'
     - 'ee/spec/lib/ee/gitlab/background_migration/populate_denormalized_columns_for_sbom_occurrences_spec.rb'
     - 'ee/spec/lib/ee/gitlab/background_migration/purge_security_scans_with_empty_finding_data_spec.rb'
-    - 'ee/spec/lib/ee/gitlab/issuable_metadata_spec.rb'
     - 'ee/spec/lib/gitlab/elastic/client_spec.rb'
-    - 'ee/spec/lib/gitlab/geo/log_helpers_spec.rb'
-    - 'ee/spec/lib/gitlab/llm/completions/chat_real_requests_spec.rb'
     - 'ee/spec/lib/gitlab/usage/metrics/instrumentations/count_secure_pipelines_metric_spec.rb'
     - 'ee/spec/lib/gitlab/usage/metrics/instrumentations/count_security_scans_metric_spec.rb'
-    - 'ee/spec/lib/gitlab/usage/metrics/instrumentations/count_user_merge_requests_for_projects_with_applied_scan_result_policies_metric_spec.rb'
-    - 'ee/spec/lib/gitlab/usage/metrics/instrumentations/protected_environment_approval_rules_required_approvals_average_metric_spec.rb'
-    - 'ee/spec/requests/api/vulnerability_findings_spec.rb'
-    - 'ee/spec/requests/git_http_geo_spec.rb'
-    - 'ee/spec/serializers/vulnerabilities/external_issue_link_entity_spec.rb'
-    - 'ee/spec/services/security/merge_reports_service_spec.rb'
     - 'ee/spec/support/shared_examples/features/dashboard_saml_reauth_banner_shared_examples.rb'
-    - 'ee/spec/support/shared_examples/models/elasticsearch_indexed_container_shared_examples.rb'
-    - 'ee/spec/support/shared_examples/models/geo_verifiable_registry_shared_examples.rb'
     - 'ee/spec/views/admin/users/show.html.haml_spec.rb'
-    - 'lib/api/api.rb'
     - 'lib/api/ci/variables.rb'
     - 'lib/api/commit_statuses.rb'
-    - 'lib/api/entities/issuable_time_stats.rb'
-    - 'lib/api/entities/tag.rb'
-    - 'lib/api/helpers.rb'
-    - 'lib/api/issue_links.rb'
     - 'lib/api/submodules.rb'
-    - 'lib/backup/options.rb'
-    - 'lib/bulk_imports/pipeline/runner.rb'
-    - 'lib/container_registry/tag.rb'
-    - 'lib/event_filter.rb'
-    - 'lib/feature.rb'
-    - 'lib/gitlab/analytics/cycle_analytics/aggregated/base_query_builder.rb'
-    - 'lib/gitlab/analytics/cycle_analytics/aggregated/records_fetcher.rb'
-    - 'lib/gitlab/analytics/cycle_analytics/base_query_builder.rb'
-    - 'lib/gitlab/analytics/cycle_analytics/records_fetcher.rb'
-    - 'lib/gitlab/application_context.rb'
     - 'lib/gitlab/auth/current_user_mode.rb'
     - 'lib/gitlab/background_migration/backfill_desired_sharding_key_partition_job.rb'
     - 'lib/gitlab/background_migration/backfill_epic_basic_fields_to_work_item_record.rb'
@@ -297,7 +125,6 @@ Lint/RedundantCopDisableDirective:
     - 'lib/gitlab/background_migration/update_jira_tracker_data_deployment_type_based_on_url.rb'
     - 'lib/gitlab/background_migration/update_workspaces_config_version.rb'
     - 'lib/gitlab/background_migration/update_workspaces_config_version3.rb'
-    - 'lib/gitlab/cache/request_cache.rb'
     - 'lib/gitlab/ci/ansi2json/parser.rb'
     - 'lib/gitlab/ci/build/artifacts/metadata/entry.rb'
     - 'lib/gitlab/ci/config/external/mapper/verifier.rb'
@@ -309,7 +136,6 @@ Lint/RedundantCopDisableDirective:
     - 'lib/gitlab/ci/reports/test_suite.rb'
     - 'lib/gitlab/ci/reports/test_suite_summary.rb'
     - 'lib/gitlab/cleanup/personal_access_tokens.rb'
-    - 'lib/gitlab/data_builder/pipeline.rb'
     - 'lib/gitlab/database/consistency_checker.rb'
     - 'lib/gitlab/database/gitlab_schema.rb'
     - 'lib/gitlab/database/migration.rb'
@@ -318,63 +144,12 @@ Lint/RedundantCopDisableDirective:
     - 'lib/gitlab/database/migrations/observers/query_log.rb'
     - 'lib/gitlab/database/migrations/runner_backoff/migration_helpers.rb'
     - 'lib/gitlab/database/migrations/squasher.rb'
-    - 'lib/gitlab/diff/file.rb'
-    - 'lib/gitlab/diff/file_collection/paginated_diffs.rb'
-    - 'lib/gitlab/diff/pair_selector.rb'
-    - 'lib/gitlab/diff/parser.rb'
-    - 'lib/gitlab/diff/rendered/notebook/diff_file_helper.rb'
-    - 'lib/gitlab/encrypted_incoming_email_command.rb'
-    - 'lib/gitlab/encrypted_redis_command.rb'
-    - 'lib/gitlab/encrypted_service_desk_email_command.rb'
-    - 'lib/gitlab/encrypted_smtp_command.rb'
-    - 'lib/gitlab/error_tracking/processor/sidekiq_processor.rb'
-    - 'lib/gitlab/file_detector.rb'
-    - 'lib/gitlab/git/commit.rb'
-    - 'lib/gitlab/git/patches/collection.rb'
-    - 'lib/gitlab/github_import/markdown_text.rb'
-    - 'lib/gitlab/github_import/user_finder.rb'
-    - 'lib/gitlab/graphql/pagination/keyset/connection.rb'
-    - 'lib/gitlab/health_checks/metric.rb'
-    - 'lib/gitlab/health_checks/probes/status.rb'
-    - 'lib/gitlab/health_checks/result.rb'
     - 'lib/gitlab/lfs_token.rb'
-    - 'lib/gitlab/middleware/release_env.rb'
-    - 'lib/gitlab/object_hierarchy.rb'
-    - 'lib/gitlab/pagination/keyset/column_order_definition.rb'
-    - 'lib/gitlab/pagination/keyset/pager.rb'
-    - 'lib/gitlab/patch/old_redis_cache_store.rb'
-    - 'lib/gitlab/patch/redis_cache_store.rb'
-    - 'lib/gitlab/profiler.rb'
-    - 'lib/gitlab/project_search_results.rb'
-    - 'lib/gitlab/rack_attack/user_allowlist.rb'
-    - 'lib/gitlab/redis/hll.rb'
-    - 'lib/gitlab/search/sort_options.rb'
+    - 'lib/gitlab/popen/runner.rb'
     - 'lib/gitlab/seeders/ci/runner/runner_fleet_seeder.rb'
-    - 'lib/gitlab/sidekiq_config/cli_methods.rb'
-    - 'lib/gitlab/slash_commands/issue_search.rb'
-    - 'lib/gitlab/slash_commands/result.rb'
-    - 'lib/gitlab/tracking.rb'
-    - 'lib/gitlab/usage/metrics/instrumentations/count_imported_projects_metric.rb'
-    - 'lib/gitlab/usage/metrics/instrumentations/database_metric.rb'
-    - 'lib/gitlab/usage/metrics/instrumentations/numbers_metric.rb'
-    - 'lib/gitlab/usage_data.rb'
-    - 'lib/gitlab/usage_data_queries.rb'
-    - 'lib/gitlab/verify/ci_secure_files.rb'
-    - 'lib/gitlab/x509/signature.rb'
-    - 'lib/tasks/gitlab/cleanup.rake'
-    - 'lib/tasks/gitlab/seed/group_seed.rake'
     - 'qa/qa/resource/user_runners.rb'
     - 'qa/qa/service/docker_run/gitlab_runner.rb'
-    - 'qa/qa/specs/features/ee/browser_ui/10_govern/create_merge_request_with_secure_spec.rb'
     - 'qa/qa/vendor/one_password/cli.rb'
-    - 'rubocop/cop/gettext/static_identifier.rb'
-    - 'rubocop/cop/gitlab/feature_available_usage.rb'
-    - 'rubocop/cop/migration/add_reference.rb'
-    - 'rubocop/cop/rake/require.rb'
-    - 'rubocop/cop/rspec/factory_bot/inline_association.rb'
-    - 'rubocop/cop/static_translation_definition.rb'
-    - 'rubocop/feature_categories.rb'
-    - 'rubocop/formatter/todo_formatter.rb'
     - 'scripts/failed_tests.rb'
     - 'scripts/feature_flags/used-feature-flags'
     - 'scripts/generate_rspec_pipeline.rb'
@@ -382,20 +157,9 @@ Lint/RedundantCopDisableDirective:
     - 'scripts/security-harness'
     - 'scripts/setup/generate-as-if-foss-env.rb'
     - 'scripts/verify-tff-mapping'
-    - 'sidekiq_cluster/cli.rb'
-    - 'sidekiq_cluster/sidekiq_cluster.rb'
     - 'spec/components/previews/pajamas/banner_component_preview.rb'
-    - 'spec/controllers/groups/milestones_controller_spec.rb'
-    - 'spec/controllers/profiles/two_factor_auths_controller_spec.rb'
-    - 'spec/controllers/projects/milestones_controller_spec.rb'
-    - 'spec/features/environments/environments_folder_spec.rb'
     - 'spec/features/groups/participants_autocomplete_spec.rb'
-    - 'spec/features/issues/discussion_lock_spec.rb'
-    - 'spec/features/issues/user_edits_issue_spec.rb'
     - 'spec/features/merge_request/user_edits_mr_spec.rb'
-    - 'spec/frontend/fixtures/merge_requests.rb'
-    - 'spec/lib/backup/manager_spec.rb'
-    - 'spec/lib/gitlab/avatar_cache_spec.rb'
     - 'spec/lib/gitlab/background_migration/backfill_finding_id_in_vulnerabilities_spec.rb'
     - 'spec/lib/gitlab/background_migration/backfill_missing_ci_cd_settings_spec.rb'
     - 'spec/lib/gitlab/background_migration/backfill_root_storage_statistics_fork_storage_sizes_spec.rb'
@@ -412,32 +176,13 @@ Lint/RedundantCopDisableDirective:
     - 'spec/lib/gitlab/database/health_status/indicators/wal_rate_spec.rb'
     - 'spec/lib/gitlab/database/load_balancing/transaction_leaking_spec.rb'
     - 'spec/lib/gitlab/database/migration_helpers/restrict_gitlab_schema_spec.rb'
-    - 'spec/lib/gitlab/diff/rendered/notebook/diff_file_helper_spec.rb'
     - 'spec/lib/gitlab/doorkeeper_secret_storing/secret/pbkdf2_sha512_spec.rb'
     - 'spec/lib/gitlab/doorkeeper_secret_storing/token/pbkdf2_sha512_spec.rb'
-    - 'spec/lib/gitlab/gfm/uploads_rewriter_spec.rb'
-    - 'spec/lib/gitlab/git/tree_spec.rb'
-    - 'spec/lib/gitlab/import_export/project/relation_saver_spec.rb'
-    - 'spec/lib/gitlab/memory/watchdog/configurator_spec.rb'
     - 'spec/lib/gitlab/merge_requests/message_generator_spec.rb'
-    - 'spec/lib/gitlab/metrics/exporter/base_exporter_spec.rb'
-    - 'spec/lib/gitlab/namespaced_session_store_spec.rb'
-    - 'spec/lib/gitlab/pagination/keyset/iterator_spec.rb'
-    - 'spec/lib/gitlab/quick_actions/dsl_spec.rb'
-    - 'spec/lib/gitlab/redis/multi_store_spec.rb'
     - 'spec/lib/gitlab/search/abuse_detection_spec.rb'
-    - 'spec/lib/gitlab/shard_health_cache_spec.rb'
-    - 'spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb'
-    - 'spec/lib/gitlab/sidekiq_middleware/size_limiter/server_spec.rb'
-    - 'spec/lib/omni_auth/strategies/jwt_spec.rb'
     - 'spec/migrations/db/post_migrate/20240319005754_swap_columns_for_upstream_pipeline_id_between_ci_builds_and_ci_pipelines_spec.rb'
-    - 'spec/models/ci/build_trace_chunk_spec.rb'
     - 'spec/models/concerns/encrypted_user_password_spec.rb'
-    - 'spec/models/concerns/triggerable_hooks_spec.rb'
-    - 'spec/presenters/packages/pypi/simple_index_presenter_spec.rb'
-    - 'spec/presenters/packages/pypi/simple_package_versions_presenter_spec.rb'
     - 'spec/requests/api/alert_management_alerts_spec.rb'
-    - 'spec/requests/api/graphql/ci/config_spec.rb'
     - 'spec/requests/projects/releases_controller_spec.rb'
     - 'spec/scripts/duo_chat/reporter_spec.rb'
     - 'spec/services/alert_management/metric_images/upload_service_spec.rb'
@@ -447,17 +192,9 @@ Lint/RedundantCopDisableDirective:
     - 'spec/support/helpers/database/multiple_databases_helpers.rb'
     - 'spec/support/helpers/graphql_helpers.rb'
     - 'spec/support/helpers/migrations_helpers/vulnerabilities_findings_helper.rb'
-    - 'spec/support/helpers/snowplow_helpers.rb'
     - 'spec/support/helpers/wait_for_requests.rb'
-    - 'spec/support/shared_examples/features/editable_merge_request_shared_examples.rb'
     - 'spec/support/shared_examples/features/milestone_editing_shared_examples.rb'
-    - 'spec/support/shared_examples/lib/gitlab/regex_shared_examples.rb'
-    - 'spec/support/shared_examples/models/boards/listable_shared_examples.rb'
-    - 'spec/support/shared_examples/models/concerns/incident_management/escalatable_shared_examples.rb'
     - 'spec/support/shared_examples/models/concerns/protected_ref_access_shared_examples.rb'
-    - 'spec/support/shared_examples/models/cycle_analytics_stage_shared_examples.rb'
-    - 'spec/support/shared_examples/models/packages/debian/distribution_key_shared_examples.rb'
-    - 'spec/support/shared_examples/requests/api/rubygems_packages_shared_examples.rb'
     - 'tooling/danger/ignored_model_columns.rb'
     - 'tooling/danger/sidekiq_queues.rb'
     - 'tooling/danger/stable_branch.rb'
diff --git a/.rubocop_todo/lint/to_enum_arguments.yml b/.rubocop_todo/lint/to_enum_arguments.yml
deleted file mode 100644
index 22b5d1f3a9df..000000000000
--- a/.rubocop_todo/lint/to_enum_arguments.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-Lint/ToEnumArguments:
-  Exclude:
-    - 'lib/gitlab/ci/trace/stream.rb'
-    - 'spec/lib/gitlab/ci/trace/section_parser_spec.rb'
diff --git a/.rubocop_todo/lint/unused_method_argument.yml b/.rubocop_todo/lint/unused_method_argument.yml
index 8079fb222478..c4800ac7be7a 100644
--- a/.rubocop_todo/lint/unused_method_argument.yml
+++ b/.rubocop_todo/lint/unused_method_argument.yml
@@ -183,7 +183,6 @@ Lint/UnusedMethodArgument:
     - 'app/workers/gitlab/jira_import/import_issue_worker.rb'
     - 'app/workers/issues/rebalancing_worker.rb'
     - 'app/workers/personal_access_tokens/expired_notification_worker.rb'
-    - 'app/workers/personal_access_tokens/expiring_worker.rb'
     - 'app/workers/process_commit_worker.rb'
     - 'app/workers/projects/inactive_projects_deletion_cron_worker.rb'
     - 'app/workers/projects/refresh_build_artifacts_size_statistics_worker.rb'
diff --git a/.rubocop_todo/naming/heredoc_delimiter_naming.yml b/.rubocop_todo/naming/heredoc_delimiter_naming.yml
index 67127331c37f..1aa22c71f946 100644
--- a/.rubocop_todo/naming/heredoc_delimiter_naming.yml
+++ b/.rubocop_todo/naming/heredoc_delimiter_naming.yml
@@ -32,7 +32,6 @@ Naming/HeredocDelimiterNaming:
     - 'lib/gitlab/sql/set_operator.rb'
     - 'lib/gitlab/utils/delegator_override/validator.rb'
     - 'lib/tasks/gitlab/docs/compile_deprecations.rake'
-    - 'lib/tasks/gitlab/docs/compile_windows.rake'
     - 'lib/tasks/gitlab/password.rake'
     - 'rubocop/cop/database/multiple_databases.rb'
     - 'rubocop/cop/database/rescue_query_canceled.rb'
diff --git a/.rubocop_todo/performance/string_identifier_argument.yml b/.rubocop_todo/performance/string_identifier_argument.yml
index 0443461e5ecc..d6bd44559915 100644
--- a/.rubocop_todo/performance/string_identifier_argument.yml
+++ b/.rubocop_todo/performance/string_identifier_argument.yml
@@ -21,7 +21,6 @@ Performance/StringIdentifierArgument:
     - 'app/models/concerns/sanitizable.rb'
     - 'app/models/concerns/signature_type.rb'
     - 'app/models/concerns/token_authenticatable.rb'
-    - 'app/models/concerns/token_authenticatable_strategies/base.rb'
     - 'app/models/integrations/base_third_party_wiki.rb'
     - 'app/models/integrations/field.rb'
     - 'app/models/namespace_statistics.rb'
diff --git a/.rubocop_todo/rails/date.yml b/.rubocop_todo/rails/date.yml
index a63f7f196656..52d4b5015709 100644
--- a/.rubocop_todo/rails/date.yml
+++ b/.rubocop_todo/rails/date.yml
@@ -138,7 +138,6 @@ Rails/Date:
     - 'qa/qa/page/profile/ssh_keys.rb'
     - 'qa/qa/resource/ssh_key.rb'
     - 'qa/qa/specs/features/browser_ui/6_release/deploy_token/add_deploy_token_spec.rb'
-    - 'qa/qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb'
     - 'qa/qa/specs/features/ee/api/2_plan/epics_to_work_items_sync_spec.rb'
     - 'qa/qa/specs/features/ee/browser_ui/12_systems/geo/ssh_push_spec.rb'
     - 'qa/qa/specs/features/ee/browser_ui/12_systems/geo/ssh_push_to_secondary_spec.rb'
diff --git a/.rubocop_todo/rspec/any_instance_of.yml b/.rubocop_todo/rspec/any_instance_of.yml
index 6e96bb883605..ac22761ac473 100644
--- a/.rubocop_todo/rspec/any_instance_of.yml
+++ b/.rubocop_todo/rspec/any_instance_of.yml
@@ -300,7 +300,6 @@ RSpec/AnyInstanceOf:
     - 'spec/support/shared_examples/services/boards/issues_move_service_shared_examples.rb'
     - 'spec/support/shared_examples/services/issuable_shared_examples.rb'
     - 'spec/support/shared_examples/uploaders/object_storage_shared_examples.rb'
-    - 'spec/support/shared_examples/workers/authorized_projects_worker_shared_example.rb'
     - 'spec/support/shared_examples/workers/reactive_cacheable_shared_examples.rb'
     - 'spec/tasks/gitlab/cleanup_rake_spec.rb'
     - 'spec/tasks/gitlab/container_registry_rake_spec.rb'
diff --git a/.rubocop_todo/rspec/be_eq.yml b/.rubocop_todo/rspec/be_eq.yml
index 6e77bfbd854c..5cc541b28518 100644
--- a/.rubocop_todo/rspec/be_eq.yml
+++ b/.rubocop_todo/rspec/be_eq.yml
@@ -27,8 +27,6 @@ RSpec/BeEq:
     - 'ee/spec/controllers/projects_controller_spec.rb'
     - 'ee/spec/controllers/registrations/groups_controller_spec.rb'
     - 'ee/spec/controllers/subscriptions_controller_spec.rb'
-    - 'ee/spec/elastic/migrate/20240123181031_reindex_issue_to_update_analyzer_for_title_spec.rb'
-    - 'ee/spec/elastic/migrate/20240130144625_reindex_epics_to_update_analyzer_spec.rb'
     - 'ee/spec/elastic/migrate/20240814231502_remove_work_item_access_level_from_work_item_spec.rb'
     - 'ee/spec/elastic/migrate/20241002103536_reindex_merge_requests_for_title_completion_spec.rb'
     - 'ee/spec/elastic/migrate/20241017094601_add_embedding_to_work_items_opensearch_spec.rb'
@@ -893,7 +891,6 @@ RSpec/BeEq:
     - 'spec/lib/gitlab/file_markdown_link_builder_spec.rb'
     - 'spec/lib/gitlab/file_type_detection_spec.rb'
     - 'spec/lib/gitlab/fogbugz_import/project_creator_spec.rb'
-    - 'spec/lib/gitlab/fp/result_spec.rb'
     - 'spec/lib/gitlab/gfm/uploads_rewriter_spec.rb'
     - 'spec/lib/gitlab/git/attributes_parser_spec.rb'
     - 'spec/lib/gitlab/git/blob_spec.rb'
@@ -1288,7 +1285,6 @@ RSpec/BeEq:
     - 'spec/requests/api/graphql/project/container_repositories_spec.rb'
     - 'spec/requests/api/graphql/project/environments_spec.rb'
     - 'spec/requests/api/graphql/project/error_tracking/sentry_detailed_error_request_spec.rb'
-    - 'spec/requests/api/graphql/project/packages_spec.rb'
     - 'spec/requests/api/graphql/project/release_spec.rb'
     - 'spec/requests/api/group_clusters_spec.rb'
     - 'spec/requests/api/group_export_spec.rb'
diff --git a/.rubocop_todo/rspec/be_nil.yml b/.rubocop_todo/rspec/be_nil.yml
index 110cc975f843..0388003940d1 100644
--- a/.rubocop_todo/rspec/be_nil.yml
+++ b/.rubocop_todo/rspec/be_nil.yml
@@ -25,7 +25,6 @@ RSpec/BeNil:
     - 'ee/spec/models/work_items/widgets/progress_spec.rb'
     - 'ee/spec/presenters/subscription_presenter_spec.rb'
     - 'ee/spec/presenters/vulnerability_presenter_spec.rb'
-    - 'ee/spec/requests/api/ai/duo_workflows/workflows_spec.rb'
     - 'ee/spec/requests/api/graphql/ai/self_hosted_models/create_spec.rb'
     - 'ee/spec/requests/api/graphql/audit_events/group/namespace_filters/create_spec.rb'
     - 'ee/spec/requests/api/graphql/audit_events/group/namespace_filters/delete_spec.rb'
@@ -41,9 +40,7 @@ RSpec/BeNil:
     - 'ee/spec/requests/api/graphql/project/runner_google_cloud_provisioning_spec.rb'
     - 'ee/spec/requests/api/group_push_rule_spec.rb'
     - 'ee/spec/requests/api/namespaces_spec.rb'
-    - 'ee/spec/services/ai/duo_workflows/start_workflow_service_spec.rb'
     - 'ee/spec/services/app_sec/dast/profiles/update_service_spec.rb'
-    - 'ee/spec/services/ee/members/destroy_service_spec.rb'
     - 'ee/spec/services/gitlab_subscriptions/reconciliations/calculate_seat_count_data_service_spec.rb'
     - 'ee/spec/services/search/group_service_spec.rb'
     - 'ee/spec/services/search/zoekt/callback_service_spec.rb'
diff --git a/.rubocop_todo/rspec/context_wording.yml b/.rubocop_todo/rspec/context_wording.yml
index ecbbe370f0ff..34b066b83510 100644
--- a/.rubocop_todo/rspec/context_wording.yml
+++ b/.rubocop_todo/rspec/context_wording.yml
@@ -841,7 +841,6 @@ RSpec/ContextWording:
     - 'qa/qa/specs/features/ee/browser_ui/13_secure/enable_scanning_from_configuration_spec.rb'
     - 'qa/qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb'
     - 'qa/qa/specs/features/ee/browser_ui/2_plan/issue_boards/project_issue_boards_spec.rb'
-    - 'qa/qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb'
     - 'qa/spec/git/repository_spec.rb'
     - 'qa/spec/page/element_spec.rb'
     - 'qa/spec/service/docker_run/gitlab_runner_spec.rb'
@@ -1079,7 +1078,6 @@ RSpec/ContextWording:
     - 'spec/features/merge_request/user_sees_merge_widget_spec.rb'
     - 'spec/features/merge_request/user_suggests_changes_on_diff_spec.rb'
     - 'spec/features/merge_request/user_uses_quick_actions_spec.rb'
-    - 'spec/features/merge_requests/filters_generic_behavior_spec.rb'
     - 'spec/features/merge_requests/user_exports_as_csv_spec.rb'
     - 'spec/features/merge_requests/user_filters_by_approvals_spec.rb'
     - 'spec/features/merge_requests/user_filters_by_assignees_spec.rb'
diff --git a/.rubocop_todo/rspec/duplicated_metadata.yml b/.rubocop_todo/rspec/duplicated_metadata.yml
index 971762ec6cfa..32d62eb23c63 100644
--- a/.rubocop_todo/rspec/duplicated_metadata.yml
+++ b/.rubocop_todo/rspec/duplicated_metadata.yml
@@ -1,3 +1,4 @@
 ---
+# Cop supports --autocorrect.
 RSpec/DuplicatedMetadata:
   Details: grace period
diff --git a/.rubocop_todo/rspec/empty_metadata.yml b/.rubocop_todo/rspec/empty_metadata.yml
index 7afc28a9a211..a344b3d6e512 100644
--- a/.rubocop_todo/rspec/empty_metadata.yml
+++ b/.rubocop_todo/rspec/empty_metadata.yml
@@ -1,3 +1,4 @@
 ---
+# Cop supports --autocorrect.
 RSpec/EmptyMetadata:
   Details: grace period
diff --git a/.rubocop_todo/rspec/empty_output.yml b/.rubocop_todo/rspec/empty_output.yml
index 2ef5ef15b0f5..07c212b32202 100644
--- a/.rubocop_todo/rspec/empty_output.yml
+++ b/.rubocop_todo/rspec/empty_output.yml
@@ -1,3 +1,4 @@
 ---
+# Cop supports --autocorrect.
 RSpec/EmptyOutput:
   Details: grace period
diff --git a/.rubocop_todo/rspec/example_without_description.yml b/.rubocop_todo/rspec/example_without_description.yml
index 6c83be12f034..fe5ea52ec22b 100644
--- a/.rubocop_todo/rspec/example_without_description.yml
+++ b/.rubocop_todo/rspec/example_without_description.yml
@@ -459,9 +459,7 @@ RSpec/ExampleWithoutDescription:
     - 'spec/models/operations/feature_flags/strategy_spec.rb'
     - 'spec/models/packages/cleanup/policy_spec.rb'
     - 'spec/models/packages/conan/package_reference_spec.rb'
-    - 'spec/models/packages/conan/package_revision_spec.rb'
     - 'spec/models/packages/conan/package_spec.rb'
-    - 'spec/models/packages/conan/recipe_revision_spec.rb'
     - 'spec/models/packages/debian/package_spec.rb'
     - 'spec/models/packages/npm/metadatum_spec.rb'
     - 'spec/models/packages/protection/rule_spec.rb'
diff --git a/.rubocop_todo/rspec/expect_in_hook.yml b/.rubocop_todo/rspec/expect_in_hook.yml
index 9f0539ab6393..ba4a22691bae 100644
--- a/.rubocop_todo/rspec/expect_in_hook.yml
+++ b/.rubocop_todo/rspec/expect_in_hook.yml
@@ -59,7 +59,6 @@ RSpec/ExpectInHook:
     - 'ee/spec/services/gitlab_subscriptions/reconciliations/calculate_seat_count_data_service_spec.rb'
     - 'ee/spec/services/groups/update_repository_storage_service_spec.rb'
     - 'ee/spec/services/members/await_service_spec.rb'
-    - 'ee/spec/services/merge_requests/mergeability/check_approved_service_spec.rb'
     - 'ee/spec/services/merge_requests/mergeability/check_blocked_by_other_mrs_service_spec.rb'
     - 'ee/spec/services/projects/create_from_template_service_spec.rb'
     - 'ee/spec/services/projects/mark_for_deletion_service_spec.rb'
diff --git a/.rubocop_todo/rspec/feature_category.yml b/.rubocop_todo/rspec/feature_category.yml
index 981edd276b47..7721a1987bec 100644
--- a/.rubocop_todo/rspec/feature_category.yml
+++ b/.rubocop_todo/rspec/feature_category.yml
@@ -1467,7 +1467,6 @@ RSpec/FeatureCategory:
     - 'spec/graphql/mutations/terraform/state/unlock_spec.rb'
     - 'spec/graphql/mutations/timelogs/delete_spec.rb'
     - 'spec/graphql/mutations/todos/create_spec.rb'
-    - 'spec/graphql/mutations/todos/mark_all_done_spec.rb'
     - 'spec/graphql/mutations/todos/mark_done_spec.rb'
     - 'spec/graphql/mutations/todos/restore_many_spec.rb'
     - 'spec/graphql/mutations/todos/restore_spec.rb'
@@ -3380,7 +3379,6 @@ RSpec/FeatureCategory:
     - 'spec/models/concerns/milestoneish_spec.rb'
     - 'spec/models/concerns/nullify_if_blank_spec.rb'
     - 'spec/models/concerns/optionally_search_spec.rb'
-    - 'spec/models/concerns/partitioned_table_spec.rb'
     - 'spec/models/concerns/presentable_spec.rb'
     - 'spec/models/concerns/project_api_compatibility_spec.rb'
     - 'spec/models/concerns/project_features_compatibility_spec.rb'
@@ -3624,7 +3622,6 @@ RSpec/FeatureCategory:
     - 'spec/policies/blob_policy_spec.rb'
     - 'spec/policies/board_policy_spec.rb'
     - 'spec/policies/ci/bridge_policy_spec.rb'
-    - 'spec/policies/ci/trigger_policy_spec.rb'
     - 'spec/policies/clusters/agent_policy_spec.rb'
     - 'spec/policies/clusters/agent_token_policy_spec.rb'
     - 'spec/policies/clusters/agents/activity_event_policy_spec.rb'
diff --git a/.rubocop_todo/rspec/identical_equality_assertion.yml b/.rubocop_todo/rspec/identical_equality_assertion.yml
index 6cfdb5e544cb..263cf93a21f8 100644
--- a/.rubocop_todo/rspec/identical_equality_assertion.yml
+++ b/.rubocop_todo/rspec/identical_equality_assertion.yml
@@ -12,8 +12,6 @@ RSpec/IdenticalEqualityAssertion:
     - 'spec/lib/gitlab/ci/ansi2json/state_spec.rb'
     - 'spec/lib/gitlab/color_spec.rb'
     - 'spec/lib/gitlab/daemon_spec.rb'
-    - 'spec/lib/gitlab/fp/message_spec.rb'
-    - 'spec/lib/gitlab/fp/result_spec.rb'
     - 'spec/lib/gitlab/global_anonymous_id_spec.rb'
     - 'spec/lib/gitlab/graphql/lazy_spec.rb'
     - 'spec/lib/gitlab/render_timeout_spec.rb'
diff --git a/.rubocop_todo/rspec/instance_variable.yml b/.rubocop_todo/rspec/instance_variable.yml
index 666e81d23aba..e2498d289b13 100644
--- a/.rubocop_todo/rspec/instance_variable.yml
+++ b/.rubocop_todo/rspec/instance_variable.yml
@@ -33,7 +33,6 @@ RSpec/InstanceVariable:
     - 'qa/qa/specs/features/browser_ui/3_create/repository/user_views_commit_diff_patch_spec.rb'
     - 'qa/qa/specs/features/ee/browser_ui/2_plan/issue_boards/project_issue_boards_spec.rb'
     - 'qa/qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/more_than_four_assignees_spec.rb'
-    - 'qa/qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb'
     - 'spec/commands/metrics_server/metrics_server_spec.rb'
     - 'spec/controllers/admin/topics/avatars_controller_spec.rb'
     - 'spec/controllers/concerns/renders_commits_spec.rb'
diff --git a/.rubocop_todo/rspec/metadata_style.yml b/.rubocop_todo/rspec/metadata_style.yml
index 80f55ad43de5..c3dfa7f52063 100644
--- a/.rubocop_todo/rspec/metadata_style.yml
+++ b/.rubocop_todo/rspec/metadata_style.yml
@@ -34,8 +34,6 @@ RSpec/MetadataStyle:
     - 'spec/lib/gitlab/ssh_public_key_spec.rb'
     - 'spec/lib/gitlab/tab_width_spec.rb'
     - 'spec/lib/gitlab/themes_spec.rb'
-    - 'spec/migrations/20230804053643_add_ticket_work_item_type_spec.rb'
-    - 'spec/migrations/20230815160428_rename_plans_titles_with_legacy_plan_names_spec.rb'
     - 'spec/models/ci/build_need_spec.rb'
     - 'spec/models/ci/build_runner_session_spec.rb'
     - 'spec/models/ci/runner_manager_build_spec.rb'
diff --git a/.rubocop_todo/rspec/named_subject.yml b/.rubocop_todo/rspec/named_subject.yml
index d525fd028d4a..f7d933357431 100644
--- a/.rubocop_todo/rspec/named_subject.yml
+++ b/.rubocop_todo/rspec/named_subject.yml
@@ -1036,7 +1036,6 @@ RSpec/NamedSubject:
     - 'ee/spec/services/security/security_orchestration_policies/process_scan_result_policy_service_spec.rb'
     - 'ee/spec/services/security/security_orchestration_policies/scan_pipeline_service_spec.rb'
     - 'ee/spec/services/security/security_orchestration_policies/sync_opened_merge_requests_service_spec.rb'
-    - 'ee/spec/services/security/security_orchestration_policies/sync_scan_result_policies_service_spec.rb'
     - 'ee/spec/services/security/token_revocation_service_spec.rb'
     - 'ee/spec/services/security/track_scan_service_spec.rb'
     - 'ee/spec/services/security/training_providers/base_url_service_spec.rb'
diff --git a/.rubocop_todo/rspec/receive_messages.yml b/.rubocop_todo/rspec/receive_messages.yml
index ac20728e844a..31190e70f8d4 100644
--- a/.rubocop_todo/rspec/receive_messages.yml
+++ b/.rubocop_todo/rspec/receive_messages.yml
@@ -12,7 +12,6 @@ RSpec/ReceiveMessages:
     - 'ee/spec/controllers/ee/search_controller_spec.rb'
     - 'ee/spec/controllers/oauth/geo_auth_controller_spec.rb'
     - 'ee/spec/controllers/projects_controller_spec.rb'
-    - 'ee/spec/elastic/migrate/20240130215043_reindex_wikis_to_fix_id_spec.rb'
     - 'ee/spec/features/admin/admin_audit_logs_spec.rb'
     - 'ee/spec/features/admin/groups/admin_subscription_alerts_spec.rb'
     - 'ee/spec/features/groups/iterations/user_edits_iteration_cadence_spec.rb'
@@ -78,9 +77,6 @@ RSpec/ReceiveMessages:
     - 'ee/spec/lib/gitlab/geo/log_cursor/daemon_spec.rb'
     - 'ee/spec/lib/gitlab/geo/log_cursor/lease_spec.rb'
     - 'ee/spec/lib/gitlab/git_access_spec.rb'
-    - 'ee/spec/lib/gitlab/llm/ai_gateway/client_spec.rb'
-    - 'ee/spec/lib/gitlab/llm/ai_gateway/code_suggestions_client_spec.rb'
-    - 'ee/spec/lib/gitlab/llm/ai_gateway/docs_client_spec.rb'
     - 'ee/spec/lib/gitlab/llm/chain/tools/epic_reader/executor_spec.rb'
     - 'ee/spec/lib/gitlab/llm/vertex_ai/client_spec.rb'
     - 'ee/spec/lib/gitlab/mirror_spec.rb'
diff --git a/.rubocop_todo/rspec/spec_file_path_format.yml b/.rubocop_todo/rspec/spec_file_path_format.yml
index 1e24211c53e1..dccd529167e3 100644
--- a/.rubocop_todo/rspec/spec_file_path_format.yml
+++ b/.rubocop_todo/rspec/spec_file_path_format.yml
@@ -31,7 +31,6 @@ RSpec/SpecFilePathFormat:
     - 'spec/requests/api/issues/post_projects_issues_spec.rb'
     - 'spec/requests/api/issues/put_projects_issues_spec.rb'
     - 'spec/requests/api/pages/pages_spec.rb'
-    - 'spec/rubocop/cop/rspec/httparty_basic_auth_spec.rb'
     - 'spec/services/ci/create_pipeline_service/artifacts_spec.rb'
     - 'spec/services/ci/create_pipeline_service/cache_spec.rb'
     - 'spec/services/ci/create_pipeline_service/creation_errors_and_warnings_spec.rb'
diff --git a/.rubocop_todo/rspec/verified_double_reference.yml b/.rubocop_todo/rspec/verified_double_reference.yml
index 807149b09289..c19302b9a45c 100644
--- a/.rubocop_todo/rspec/verified_double_reference.yml
+++ b/.rubocop_todo/rspec/verified_double_reference.yml
@@ -60,7 +60,6 @@ RSpec/VerifiedDoubleReference:
     - 'ee/spec/requests/projects/security/policies_controller_spec.rb'
     - 'ee/spec/serializers/dashboard_environments_project_entity_spec.rb'
     - 'ee/spec/serializers/vulnerabilities/finding_entity_spec.rb'
-    - 'ee/spec/services/ai/duo_workflows/start_workflow_service_spec.rb'
     - 'ee/spec/services/analytics/cycle_analytics/consistency_check_service_spec.rb'
     - 'ee/spec/services/analytics/forecasting/build_forecast_service_spec.rb'
     - 'ee/spec/services/app_sec/dast/scans/run_service_spec.rb'
diff --git a/.rubocop_todo/rspec/verified_doubles.yml b/.rubocop_todo/rspec/verified_doubles.yml
index 381cceaa90ea..f74e54a21230 100644
--- a/.rubocop_todo/rspec/verified_doubles.yml
+++ b/.rubocop_todo/rspec/verified_doubles.yml
@@ -75,7 +75,6 @@ RSpec/VerifiedDoubles:
     - 'ee/spec/models/ee/user_spec.rb'
     - 'ee/spec/models/elastic/index_setting_spec.rb'
     - 'ee/spec/models/geo/secondary_usage_data_spec.rb'
-    - 'ee/spec/models/geo_node_status_spec.rb'
     - 'ee/spec/models/integrations/github/status_message_spec.rb'
     - 'ee/spec/models/integrations/github_spec.rb'
     - 'ee/spec/models/push_rule_spec.rb'
@@ -670,7 +669,6 @@ RSpec/VerifiedDoubles:
     - 'spec/models/concerns/atomic_internal_id_spec.rb'
     - 'spec/models/concerns/legacy_bulk_insert_spec.rb'
     - 'spec/models/concerns/prometheus_adapter_spec.rb'
-    - 'spec/models/concerns/token_authenticatable_strategies/base_spec.rb'
     - 'spec/models/concerns/token_authenticatable_strategies/encrypted_spec.rb'
     - 'spec/models/concerns/triggerable_hooks_spec.rb'
     - 'spec/models/concerns/x509_serial_number_attribute_spec.rb'
diff --git a/.rubocop_todo/style/arguments_forwarding.yml b/.rubocop_todo/style/arguments_forwarding.yml
index 602e78df06f4..d327bb6d2ee2 100644
--- a/.rubocop_todo/style/arguments_forwarding.yml
+++ b/.rubocop_todo/style/arguments_forwarding.yml
@@ -40,10 +40,8 @@ Style/ArgumentsForwarding:
     - 'app/workers/concerns/limited_capacity/job_tracker.rb'
     - 'app/workers/container_expiration_policies/cleanup_container_repository_worker.rb'
     - 'app/workers/container_expiration_policy_worker.rb'
-    - 'app/workers/dependency_proxy/image_ttl_group_policy_worker.rb'
     - 'app/workers/gitlab_performance_bar_stats_worker.rb'
     - 'app/workers/packages/cleanup/delete_orphaned_dependencies_worker.rb'
-    - 'app/workers/packages/cleanup_package_registry_worker.rb'
     - 'app/workers/projects/inactive_projects_deletion_cron_worker.rb'
     - 'config/initializers/6_labkit_middleware.rb'
     - 'config/initializers/mail_starttls_patch.rb'
diff --git a/.rubocop_todo/style/empty_literal.yml b/.rubocop_todo/style/empty_literal.yml
index f33618f0f91d..1da4e31a9925 100644
--- a/.rubocop_todo/style/empty_literal.yml
+++ b/.rubocop_todo/style/empty_literal.yml
@@ -2,5 +2,3 @@
 # Cop supports --autocorrect.
 Style/EmptyLiteral:
   Details: grace period
-  Exclude:
-    - 'lib/gitlab/api_authentication/builder.rb'
diff --git a/.rubocop_todo/style/hash_each_methods.yml b/.rubocop_todo/style/hash_each_methods.yml
index 99614e9a601a..175c26c2132f 100644
--- a/.rubocop_todo/style/hash_each_methods.yml
+++ b/.rubocop_todo/style/hash_each_methods.yml
@@ -26,7 +26,6 @@ Style/HashEachMethods:
     - 'app/graphql/types/packages/package_type_enum.rb'
     - 'app/graphql/types/release_asset_link_type_enum.rb'
     - 'app/graphql/types/user_callout_feature_name_enum.rb'
-    - 'app/helpers/routing/pseudonymization_helper.rb'
     - 'app/models/application_setting.rb'
     - 'app/models/ci/pipeline.rb'
     - 'app/models/concerns/bulk_insertable_associations.rb'
@@ -123,7 +122,6 @@ Style/HashEachMethods:
     - 'spec/requests/api/project_templates_spec.rb'
     - 'spec/services/system_notes/incident_service_spec.rb'
     - 'spec/support/helpers/database/multiple_databases_helpers.rb'
-    - 'spec/support/helpers/multipart_helpers.rb'
     - 'spec/support/helpers/reactive_caching_helpers.rb'
     - 'spec/support/helpers/repo_helpers.rb'
     - 'spec/support/import_export/project_tree_expectations.rb'
diff --git a/.rubocop_todo/style/inline_disable_annotation.yml b/.rubocop_todo/style/inline_disable_annotation.yml
index 0483063ac870..744c45a15461 100644
--- a/.rubocop_todo/style/inline_disable_annotation.yml
+++ b/.rubocop_todo/style/inline_disable_annotation.yml
@@ -42,7 +42,6 @@ Style/InlineDisableAnnotation:
     - 'app/controllers/concerns/milestone_actions.rb'
     - 'app/controllers/concerns/notes_actions.rb'
     - 'app/controllers/concerns/preferred_language_switcher.rb'
-    - 'app/controllers/concerns/preview_markdown.rb'
     - 'app/controllers/concerns/registry/connection_errors_handler.rb'
     - 'app/controllers/concerns/renders_commits.rb'
     - 'app/controllers/concerns/renders_member_access.rb'
@@ -52,13 +51,10 @@ Style/InlineDisableAnnotation:
     - 'app/controllers/concerns/snippets_actions.rb'
     - 'app/controllers/concerns/uploads_actions.rb'
     - 'app/controllers/concerns/verifies_with_email.rb'
-    - 'app/controllers/concerns/web_hooks/hook_log_actions.rb'
     - 'app/controllers/concerns/wiki_actions.rb'
     - 'app/controllers/dashboard/projects_controller.rb'
     - 'app/controllers/explore/projects_controller.rb'
     - 'app/controllers/graphql_controller.rb'
-    - 'app/controllers/groups/autocomplete_sources_controller.rb'
-    - 'app/controllers/groups/labels_controller.rb'
     - 'app/controllers/groups/milestones_controller.rb'
     - 'app/controllers/groups_controller.rb'
     - 'app/controllers/help_controller.rb'
@@ -71,7 +67,6 @@ Style/InlineDisableAnnotation:
     - 'app/controllers/oauth/authorizations_controller.rb'
     - 'app/controllers/passwords_controller.rb'
     - 'app/controllers/profiles/accounts_controller.rb'
-    - 'app/controllers/profiles/notifications_controller.rb'
     - 'app/controllers/projects/analytics/cycle_analytics/stages_controller.rb'
     - 'app/controllers/projects/blob_controller.rb'
     - 'app/controllers/projects/branches_controller.rb'
@@ -161,7 +156,6 @@ Style/InlineDisableAnnotation:
     - 'app/finders/user_groups_counter.rb'
     - 'app/finders/user_recent_events_finder.rb'
     - 'app/finders/users_finder.rb'
-    - 'app/graphql/gitlab_schema.rb'
     - 'app/graphql/graphql_triggers.rb'
     - 'app/graphql/mutations/issues/update.rb'
     - 'app/graphql/mutations/projects/sync_fork.rb'
@@ -248,7 +242,6 @@ Style/InlineDisableAnnotation:
     - 'app/graphql/types/clusters/agents/authorizations/ci_access_type.rb'
     - 'app/graphql/types/clusters/agents/authorizations/user_access_type.rb'
     - 'app/graphql/types/commit_references_type.rb'
-    - 'app/graphql/types/commit_signatures/verification_status_enum.rb'
     - 'app/graphql/types/countable_connection_type.rb'
     - 'app/graphql/types/customer_relations/organization_state_counts_type.rb'
     - 'app/graphql/types/deployment_tag_type.rb'
@@ -289,7 +282,6 @@ Style/InlineDisableAnnotation:
     - 'app/graphql/types/projects/commit_parent_names_type.rb'
     - 'app/graphql/types/projects/fork_details_type.rb'
     - 'app/graphql/types/projects/repository_language_type.rb'
-    - 'app/graphql/types/projects/service_type_enum.rb'
     - 'app/graphql/types/projects/services/jira_project_type.rb'
     - 'app/graphql/types/projects/topic_type.rb'
     - 'app/graphql/types/query_complexity_type.rb'
@@ -322,16 +314,13 @@ Style/InlineDisableAnnotation:
     - 'app/helpers/auth_helper.rb'
     - 'app/helpers/ci/status_helper.rb'
     - 'app/helpers/commits_helper.rb'
-    - 'app/helpers/diff_helper.rb'
     - 'app/helpers/dropdowns_helper.rb'
     - 'app/helpers/integrations_helper.rb'
     - 'app/helpers/issuables_helper.rb'
-    - 'app/helpers/lazy_image_tag_helper.rb'
     - 'app/helpers/namespaces_helper.rb'
     - 'app/helpers/page_layout_helper.rb'
     - 'app/helpers/routing/projects_helper.rb'
     - 'app/helpers/routing/pseudonymization_helper.rb'
-    - 'app/helpers/search_helper.rb'
     - 'app/helpers/sidebars_helper.rb'
     - 'app/helpers/sorting_helper.rb'
     - 'app/helpers/users_helper.rb'
@@ -351,7 +340,6 @@ Style/InlineDisableAnnotation:
     - 'app/models/award_emoji.rb'
     - 'app/models/badge.rb'
     - 'app/models/board.rb'
-    - 'app/models/bulk_import.rb'
     - 'app/models/bulk_imports/entity.rb'
     - 'app/models/ci/bridge.rb'
     - 'app/models/ci/build.rb'
@@ -385,10 +373,7 @@ Style/InlineDisableAnnotation:
     - 'app/models/concerns/fast_destroy_all.rb'
     - 'app/models/concerns/featurable.rb'
     - 'app/models/concerns/file_store_mounter.rb'
-    - 'app/models/concerns/from_except.rb'
-    - 'app/models/concerns/from_intersect.rb'
     - 'app/models/concerns/from_set_operator.rb'
-    - 'app/models/concerns/from_union.rb'
     - 'app/models/concerns/has_repository.rb'
     - 'app/models/concerns/ignorable_columns.rb'
     - 'app/models/concerns/integrations/reset_secret_fields.rb'
@@ -403,7 +388,6 @@ Style/InlineDisableAnnotation:
     - 'app/models/concerns/participable.rb'
     - 'app/models/concerns/project_features_compatibility.rb'
     - 'app/models/concerns/redactable.rb'
-    - 'app/models/concerns/redis_cacheable.rb'
     - 'app/models/concerns/resolvable_discussion.rb'
     - 'app/models/concerns/routable.rb'
     - 'app/models/concerns/sanitizable.rb'
@@ -500,7 +484,6 @@ Style/InlineDisableAnnotation:
     - 'app/policies/upload_policy.rb'
     - 'app/presenters/ci/build_runner_presenter.rb'
     - 'app/presenters/deploy_key_presenter.rb'
-    - 'app/presenters/dev_ops_report/metric_presenter.rb'
     - 'app/presenters/key_presenter.rb'
     - 'app/presenters/label_presenter.rb'
     - 'app/presenters/merge_request_presenter.rb'
@@ -517,10 +500,8 @@ Style/InlineDisableAnnotation:
     - 'app/serializers/ci/dag_pipeline_entity.rb'
     - 'app/serializers/ci/job_entity.rb'
     - 'app/serializers/cluster_entity.rb'
-    - 'app/serializers/diffs_entity.rb'
     - 'app/serializers/diffs_metadata_entity.rb'
     - 'app/serializers/environment_serializer.rb'
-    - 'app/serializers/fork_namespace_entity.rb'
     - 'app/serializers/group_access_token_entity.rb'
     - 'app/serializers/group_access_token_serializer.rb'
     - 'app/serializers/group_child_entity.rb'
@@ -568,10 +549,8 @@ Style/InlineDisableAnnotation:
     - 'app/services/ci/delete_unit_tests_service.rb'
     - 'app/services/ci/expire_pipeline_cache_service.rb'
     - 'app/services/ci/job_artifacts/bulk_delete_by_project_service.rb'
-    - 'app/services/ci/job_artifacts/destroy_batch_service.rb'
     - 'app/services/ci/job_artifacts/expire_project_build_artifacts_service.rb'
     - 'app/services/ci/pipeline_artifacts/create_code_quality_mr_diff_report_service.rb'
-    - 'app/services/ci/pipeline_creation/cancel_redundant_pipelines_service.rb'
     - 'app/services/ci/pipeline_processing/atomic_processing_service.rb'
     - 'app/services/ci/pipeline_processing/atomic_processing_service/status_collection.rb'
     - 'app/services/ci/queue/build_queue_service.rb'
@@ -595,7 +574,6 @@ Style/InlineDisableAnnotation:
     - 'app/services/concerns/issues/resolve_discussions.rb'
     - 'app/services/concerns/rate_limited_service.rb'
     - 'app/services/concerns/work_items/widgetable_service.rb'
-    - 'app/services/database/consistency_check_service.rb'
     - 'app/services/database/consistency_fix_service.rb'
     - 'app/services/database/mark_migration_service.rb'
     - 'app/services/deployments/create_for_job_service.rb'
@@ -615,7 +593,6 @@ Style/InlineDisableAnnotation:
     - 'app/services/issuable_base_service.rb'
     - 'app/services/issuable_links/create_service.rb'
     - 'app/services/issues/build_service.rb'
-    - 'app/services/issues/export_csv_service.rb'
     - 'app/services/issues/referenced_merge_requests_service.rb'
     - 'app/services/issues/relative_position_rebalancing_service.rb'
     - 'app/services/issues/set_crm_contacts_service.rb'
@@ -629,8 +606,6 @@ Style/InlineDisableAnnotation:
     - 'app/services/lfs/locks_finder_service.rb'
     - 'app/services/lfs/unlock_file_service.rb'
     - 'app/services/loose_foreign_keys/cleaner_service.rb'
-    - 'app/services/members/projects/creator_service.rb'
-    - 'app/services/members/standard_member_builder.rb'
     - 'app/services/merge_requests/base_service.rb'
     - 'app/services/merge_requests/create_from_issue_service.rb'
     - 'app/services/merge_requests/delete_non_latest_diffs_service.rb'
@@ -654,12 +629,10 @@ Style/InlineDisableAnnotation:
     - 'app/services/packages/nuget/extract_remote_metadata_file_service.rb'
     - 'app/services/packages/nuget/process_package_file_service.rb'
     - 'app/services/packages/nuget/search_service.rb'
-    - 'app/services/packages/rpm/repository_metadata/build_xml_base_service.rb'
     - 'app/services/packages/rubygems/metadata_extraction_service.rb'
     - 'app/services/packages/update_tags_service.rb'
     - 'app/services/pages/destroy_deployments_service.rb'
     - 'app/services/personal_access_tokens/revoke_token_family_service.rb'
-    - 'app/services/projects/auto_devops/disable_service.rb'
     - 'app/services/projects/autocomplete_service.rb'
     - 'app/services/projects/batch_forks_count_service.rb'
     - 'app/services/projects/batch_open_issues_count_service.rb'
@@ -691,8 +664,6 @@ Style/InlineDisableAnnotation:
     - 'app/services/quick_actions/interpret_service.rb'
     - 'app/services/quick_actions/target_service.rb'
     - 'app/services/releases/create_evidence_service.rb'
-    - 'app/services/releases/create_service.rb'
-    - 'app/services/releases/update_service.rb'
     - 'app/services/repositories/changelog_service.rb'
     - 'app/services/resource_events/change_labels_service.rb'
     - 'app/services/resource_events/synthetic_label_notes_builder_service.rb'
@@ -714,7 +685,6 @@ Style/InlineDisableAnnotation:
     - 'app/services/todos/destroy/unauthorized_features_service.rb'
     - 'app/services/topics/merge_service.rb'
     - 'app/services/user_project_access_changed_service.rb'
-    - 'app/services/users/activate_service.rb'
     - 'app/services/users/assigned_issues_count_service.rb'
     - 'app/services/users/batch_status_cleaner_service.rb'
     - 'app/services/users/destroy_service.rb'
@@ -724,14 +694,12 @@ Style/InlineDisableAnnotation:
     - 'app/services/users/set_namespace_commit_email_service.rb'
     - 'app/services/users/update_service.rb'
     - 'app/services/verify_pages_domain_service.rb'
-    - 'app/services/web_hook_service.rb'
     - 'app/services/wiki_pages/update_service.rb'
     - 'app/uploaders/gitlab_uploader.rb'
     - 'app/uploaders/metric_image_uploader.rb'
     - 'app/uploaders/object_storage.rb'
     - 'app/uploaders/object_storage/cdn.rb'
     - 'app/uploaders/object_storage/cdn/google_cdn.rb'
-    - 'app/uploaders/object_storage/cdn/google_ip_cache.rb'
     - 'app/uploaders/records_uploads.rb'
     - 'app/validators/addressable_url_validator.rb'
     - 'app/validators/cron_validator.rb'
@@ -817,7 +785,6 @@ Style/InlineDisableAnnotation:
     - 'app/workers/create_pipeline_worker.rb'
     - 'app/workers/database/batched_background_migration/ci_database_worker.rb'
     - 'app/workers/database/batched_background_migration/ci_execution_worker.rb'
-    - 'app/workers/database/batched_background_migration/execution_worker.rb'
     - 'app/workers/database/batched_background_migration/main_execution_worker.rb'
     - 'app/workers/database/batched_background_migration/single_database_worker.rb'
     - 'app/workers/database/batched_background_migration_worker.rb'
@@ -920,10 +887,8 @@ Style/InlineDisableAnnotation:
     - 'app/workers/group_export_worker.rb'
     - 'app/workers/group_import_worker.rb'
     - 'app/workers/import_export_project_cleanup_worker.rb'
-    - 'app/workers/import_issues_csv_worker.rb'
     - 'app/workers/incident_management/add_severity_system_note_worker.rb'
     - 'app/workers/incident_management/pager_duty/process_incident_worker.rb'
-    - 'app/workers/incident_management/process_alert_worker_v2.rb'
     - 'app/workers/integrations/execute_worker.rb'
     - 'app/workers/integrations/irker_worker.rb'
     - 'app/workers/invalid_gpg_signature_update_worker.rb'
@@ -944,12 +909,10 @@ Style/InlineDisableAnnotation:
     - 'app/workers/member_invitation_reminder_emails_worker.rb'
     - 'app/workers/members/expiring_email_notification_worker.rb'
     - 'app/workers/members/expiring_worker.rb'
-    - 'app/workers/merge_worker.rb'
     - 'app/workers/metrics/global_metrics_update_worker.rb'
     - 'app/workers/migrate_external_diffs_worker.rb'
     - 'app/workers/namespaces/prune_aggregation_schedules_worker.rb'
     - 'app/workers/new_issue_worker.rb'
-    - 'app/workers/new_merge_request_worker.rb'
     - 'app/workers/new_note_worker.rb'
     - 'app/workers/object_pool/create_worker.rb'
     - 'app/workers/object_pool/destroy_worker.rb'
@@ -1049,7 +1012,6 @@ Style/InlineDisableAnnotation:
     - 'config/initializers/enumerator_next_patch.rb'
     - 'config/initializers/fix_local_cache_middleware.rb'
     - 'config/initializers/fog_core_patch.rb'
-    - 'config/initializers/grape_validators.rb'
     - 'config/initializers/kaminari_active_record_relation_methods_with_limit.rb'
     - 'config/initializers/mail_starttls_patch.rb'
     - 'config/initializers/postgres_cte_as_materialized.rb'
@@ -1059,7 +1021,6 @@ Style/InlineDisableAnnotation:
     - 'config/initializers/warden.rb'
     - 'config/initializers/wikicloth_redos_patch.rb'
     - 'config/initializers/wikicloth_ruby_3_patch.rb'
-    - 'config/routes/api.rb'
     - 'config/routes/group.rb'
     - 'config/routes/project.rb'
     - 'danger/ce_ee_vue_templates/Dangerfile'
@@ -1110,13 +1071,11 @@ Style/InlineDisableAnnotation:
     - 'ee/app/controllers/ee/search_controller.rb'
     - 'ee/app/controllers/ee/sessions_controller.rb'
     - 'ee/app/controllers/ee/users_controller.rb'
-    - 'ee/app/controllers/groups/analytics/productivity_analytics_controller.rb'
     - 'ee/app/controllers/groups/epics/notes_controller.rb'
     - 'ee/app/controllers/groups/epics_controller.rb'
     - 'ee/app/controllers/groups/ldap_group_links_controller.rb'
     - 'ee/app/controllers/groups/ldaps_controller.rb'
     - 'ee/app/controllers/groups/scim_oauth_controller.rb'
-    - 'ee/app/controllers/groups/todos_controller.rb'
     - 'ee/app/controllers/projects/approver_groups_controller.rb'
     - 'ee/app/controllers/projects/approvers_controller.rb'
     - 'ee/app/controllers/projects/path_locks_controller.rb'
@@ -1165,7 +1124,6 @@ Style/InlineDisableAnnotation:
     - 'ee/app/graphql/mutations/iterations/update.rb'
     - 'ee/app/graphql/mutations/projects/set_locked.rb'
     - 'ee/app/graphql/mutations/requirements_management/export_requirements.rb'
-    - 'ee/app/graphql/resolvers/analytics/contribution_analytics/contributions_resolver.rb'
     - 'ee/app/graphql/resolvers/board_groupings/epics_resolver.rb'
     - 'ee/app/graphql/resolvers/ci/runners_jobs_statistics_resolver.rb'
     - 'ee/app/graphql/resolvers/iterations_resolver.rb'
@@ -1185,7 +1143,6 @@ Style/InlineDisableAnnotation:
     - 'ee/app/graphql/types/applied_ml/suggested_reviewers_type.rb'
     - 'ee/app/graphql/types/boards/board_epic_type.rb'
     - 'ee/app/graphql/types/boards/epic_list_metadata_type.rb'
-    - 'ee/app/graphql/types/boards/epic_list_type.rb'
     - 'ee/app/graphql/types/boards/epic_user_preferences_type.rb'
     - 'ee/app/graphql/types/branch_protections/unprotect_access_level_type.rb'
     - 'ee/app/graphql/types/burnup_chart_daily_totals_type.rb'
@@ -1193,7 +1150,6 @@ Style/InlineDisableAnnotation:
     - 'ee/app/graphql/types/ci/code_coverage_summary_type.rb'
     - 'ee/app/graphql/types/ci/code_quality_degradation_type.rb'
     - 'ee/app/graphql/types/ci/jobs_statistics_type.rb'
-    - 'ee/app/graphql/types/ci/minutes/namespace_monthly_usage_type.rb'
     - 'ee/app/graphql/types/ci/minutes/project_monthly_usage_type.rb'
     - 'ee/app/graphql/types/ci/queueing_history_time_series_type.rb'
     - 'ee/app/graphql/types/dast/profile_cadence_type.rb'
@@ -1215,15 +1171,12 @@ Style/InlineDisableAnnotation:
     - 'ee/app/graphql/types/incident_management/escalation_rule_input_type.rb'
     - 'ee/app/graphql/types/incident_management/escalation_rule_type.rb'
     - 'ee/app/graphql/types/incident_management/oncall_participant_type.rb'
-    - 'ee/app/graphql/types/incident_management/oncall_rotation_active_period_input_type.rb'
     - 'ee/app/graphql/types/incident_management/oncall_rotation_active_period_type.rb'
     - 'ee/app/graphql/types/incident_management/oncall_shift_type.rb'
     - 'ee/app/graphql/types/member_roles/customizable_permission_type.rb'
     - 'ee/app/graphql/types/namespaces/namespace_ban_type.rb'
     - 'ee/app/graphql/types/path_lock_type.rb'
-    - 'ee/app/graphql/types/product_analytics/category_enum.rb'
     - 'ee/app/graphql/types/product_analytics/panel_type.rb'
-    - 'ee/app/graphql/types/product_analytics/state_enum.rb'
     - 'ee/app/graphql/types/product_analytics/visualization_type.rb'
     - 'ee/app/graphql/types/protected_environment_type.rb'
     - 'ee/app/graphql/types/protected_environments/approval_rule_for_summary_type.rb'
@@ -1233,7 +1186,6 @@ Style/InlineDisableAnnotation:
     - 'ee/app/graphql/types/requirements_management/requirement_states_count_type.rb'
     - 'ee/app/graphql/types/sbom/license_type.rb'
     - 'ee/app/graphql/types/sbom/location_type.rb'
-    - 'ee/app/graphql/types/scan_type.rb'
     - 'ee/app/graphql/types/scanned_resource_type.rb'
     - 'ee/app/graphql/types/security/training_type.rb'
     - 'ee/app/graphql/types/security_orchestration/approval_group_type.rb'
@@ -1299,30 +1251,22 @@ Style/InlineDisableAnnotation:
     - 'ee/app/graphql/types/work_items/widgets/weight_type.rb'
     - 'ee/app/helpers/admin/application_settings_helper.rb'
     - 'ee/app/helpers/ee/application_helper.rb'
-    - 'ee/app/helpers/ee/boards_helper.rb'
     - 'ee/app/helpers/ee/gitlab_routing_helper.rb'
     - 'ee/app/helpers/ee/kerberos_helper.rb'
-    - 'ee/app/helpers/projects/on_demand_scans_helper.rb'
     - 'ee/app/helpers/push_rules_helper.rb'
-    - 'ee/app/models/ai/ai_resource/concerns/noteable.rb'
     - 'ee/app/models/ai/ai_resource/epic.rb'
     - 'ee/app/models/ai/ai_resource/issue.rb'
     - 'ee/app/models/approval_project_rules_user.rb'
-    - 'ee/app/models/approver.rb'
     - 'ee/app/models/approver_group.rb'
     - 'ee/app/models/ci/minutes/namespace_monthly_usage.rb'
     - 'ee/app/models/concerns/elastic/application_versioned_search.rb'
     - 'ee/app/models/concerns/epics/metadata_cache_update.rb'
     - 'ee/app/models/concerns/geo/blob_replicator_strategy.rb'
-    - 'ee/app/models/dast/branch.rb'
     - 'ee/app/models/ee/analytics/cycle_analytics/issue_stage_event.rb'
-    - 'ee/app/models/ee/epic.rb'
     - 'ee/app/models/ee/group.rb'
     - 'ee/app/models/ee/member.rb'
-    - 'ee/app/models/ee/merge_request.rb'
     - 'ee/app/models/ee/namespace.rb'
     - 'ee/app/models/ee/namespace_setting.rb'
-    - 'ee/app/models/ee/project.rb'
     - 'ee/app/models/ee/project_group_link.rb'
     - 'ee/app/models/ee/project_member.rb'
     - 'ee/app/models/ee/user.rb'
@@ -1332,7 +1276,6 @@ Style/InlineDisableAnnotation:
     - 'ee/app/models/elasticsearch_indexed_project.rb'
     - 'ee/app/models/geo/container_repository_registry.rb'
     - 'ee/app/models/geo/upload_registry.rb'
-    - 'ee/app/models/geo_node.rb'
     - 'ee/app/models/geo_node_status.rb'
     - 'ee/app/models/incident_management/oncall_rotation.rb'
     - 'ee/app/models/iteration.rb'
@@ -1344,13 +1287,10 @@ Style/InlineDisableAnnotation:
     - 'ee/app/models/package_metadata/package.rb'
     - 'ee/app/models/protected_environments/approval_rules/summarizable.rb'
     - 'ee/app/models/protected_environments/authorizable.rb'
-    - 'ee/app/models/requirements_management/requirement.rb'
     - 'ee/app/models/security/training.rb'
-    - 'ee/app/models/vulnerabilities/finding.rb'
     - 'ee/app/policies/merge_request_diff_policy.rb'
     - 'ee/app/policies/path_lock_policy.rb'
     - 'ee/app/replicators/geo/container_repository_replicator.rb'
-    - 'ee/app/serializers/dashboard_environments_serializer.rb'
     - 'ee/app/serializers/ee/discussion_serializer.rb'
     - 'ee/app/serializers/epic_ai_entity.rb'
     - 'ee/app/services/analytics/cycle_analytics/consistency_check_service.rb'
@@ -1373,14 +1313,12 @@ Style/InlineDisableAnnotation:
     - 'ee/app/services/compliance_management/violations/export_service.rb'
     - 'ee/app/services/dependencies/export_serializers/group_dependencies_service.rb'
     - 'ee/app/services/deployments/approval_service.rb'
-    - 'ee/app/services/dora/aggregate_scores_service.rb'
     - 'ee/app/services/ee/audit_event_service.rb'
     - 'ee/app/services/ee/audit_events/build_service.rb'
     - 'ee/app/services/ee/auth/container_registry_authentication_service.rb'
     - 'ee/app/services/ee/boards/base_service.rb'
     - 'ee/app/services/ee/boards/issues/list_service.rb'
     - 'ee/app/services/ee/boards/lists/create_service.rb'
-    - 'ee/app/services/ee/ci/queue/build_queue_service.rb'
     - 'ee/app/services/ee/groups/autocomplete_service.rb'
     - 'ee/app/services/ee/groups/destroy_service.rb'
     - 'ee/app/services/ee/groups/update_service.rb'
@@ -1392,7 +1330,6 @@ Style/InlineDisableAnnotation:
     - 'ee/app/services/ee/merge_requests/merge_base_service.rb'
     - 'ee/app/services/ee/merge_requests/refresh_service.rb'
     - 'ee/app/services/ee/milestones/promote_service.rb'
-    - 'ee/app/services/ee/notification_recipients/builder/base.rb'
     - 'ee/app/services/ee/projects/create_from_template_service.rb'
     - 'ee/app/services/ee/projects/create_service.rb'
     - 'ee/app/services/ee/projects/destroy_service.rb'
@@ -1402,7 +1339,6 @@ Style/InlineDisableAnnotation:
     - 'ee/app/services/ee/quick_actions/target_service.rb'
     - 'ee/app/services/ee/resource_events/synthetic_iteration_notes_builder_service.rb'
     - 'ee/app/services/ee/resource_events/synthetic_weight_notes_builder_service.rb'
-    - 'ee/app/services/ee/search/global_service.rb'
     - 'ee/app/services/ee/search_service.rb'
     - 'ee/app/services/ee/system_note_service.rb'
     - 'ee/app/services/ee/users/build_service.rb'
@@ -1436,7 +1372,6 @@ Style/InlineDisableAnnotation:
     - 'ee/app/services/security/ingestion/schedule_mark_dropped_as_resolved_service.rb'
     - 'ee/app/services/security/ingestion/tasks/ingest_vulnerability_flags.rb'
     - 'ee/app/services/security/merge_request_security_report_generation_service.rb'
-    - 'ee/app/services/security/scan_result_policies/sync_any_merge_request_rules_service.rb'
     - 'ee/app/services/security/security_orchestration_policies/fetch_policy_approvers_service.rb'
     - 'ee/app/services/security/security_orchestration_policies/policy_branches_service.rb'
     - 'ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb'
@@ -1477,7 +1412,6 @@ Style/InlineDisableAnnotation:
     - 'ee/app/workers/concerns/elastic/indexing_control.rb'
     - 'ee/app/workers/concerns/geo/base_registry_sync_worker.rb'
     - 'ee/app/workers/create_github_webhook_worker.rb'
-    - 'ee/app/workers/ee/issuable_export_csv_worker.rb'
     - 'ee/app/workers/ee/post_receive.rb'
     - 'ee/app/workers/elastic/migration_worker.rb'
     - 'ee/app/workers/elastic/namespace_update_worker.rb'
@@ -1532,7 +1466,6 @@ Style/InlineDisableAnnotation:
     - 'ee/app/workers/projects/disable_legacy_open_source_license_for_inactive_projects_worker.rb'
     - 'ee/app/workers/pull_mirrors/reenable_configuration_worker.rb'
     - 'ee/app/workers/refresh_license_compliance_checks_worker.rb'
-    - 'ee/app/workers/scan_security_report_secrets_worker.rb'
     - 'ee/app/workers/search/index_curation_worker.rb'
     - 'ee/app/workers/search/zoekt/namespace_indexer_worker.rb'
     - 'ee/app/workers/security/create_orchestration_policy_worker.rb'
@@ -1589,9 +1522,6 @@ Style/InlineDisableAnnotation:
     - 'ee/lib/analytics/merge_request_metrics_calculator.rb'
     - 'ee/lib/analytics/refresh_approvals_data.rb'
     - 'ee/lib/analytics/refresh_reassign_data.rb'
-    - 'ee/lib/api/admin/search/migrations.rb'
-    - 'ee/lib/api/audit_events.rb'
-    - 'ee/lib/api/dora/metrics.rb'
     - 'ee/lib/api/elasticsearch_indexed_namespaces.rb'
     - 'ee/lib/api/entities/search/migration.rb'
     - 'ee/lib/api/epic_issues.rb'
@@ -1601,7 +1531,6 @@ Style/InlineDisableAnnotation:
     - 'ee/lib/api/saml_group_links.rb'
     - 'ee/lib/audit/changes.rb'
     - 'ee/lib/banzai/filter/references/iteration_reference_filter.rb'
-    - 'ee/lib/ee/api/entities/analytics/code_review/merge_request.rb'
     - 'ee/lib/ee/api/entities/experiment.rb'
     - 'ee/lib/ee/api/group_boards.rb'
     - 'ee/lib/ee/api/group_milestones.rb'
@@ -1609,7 +1538,6 @@ Style/InlineDisableAnnotation:
     - 'ee/lib/ee/api/helpers.rb'
     - 'ee/lib/ee/api/helpers/award_emoji.rb'
     - 'ee/lib/ee/api/helpers/common_helpers.rb'
-    - 'ee/lib/ee/api/helpers/internal_helpers.rb'
     - 'ee/lib/ee/api/helpers/members_helpers.rb'
     - 'ee/lib/ee/api/internal/base.rb'
     - 'ee/lib/ee/api/project_milestones.rb'
@@ -1695,7 +1623,6 @@ Style/InlineDisableAnnotation:
     - 'ee/lib/gitlab/path_locks_finder.rb'
     - 'ee/lib/gitlab/root_excess_size_error_message.rb'
     - 'ee/lib/gitlab/search/zoekt/client.rb'
-    - 'ee/lib/gitlab/status_page/storage/object.rb'
     - 'ee/lib/gitlab/status_page/storage/s3_multipart_upload.rb'
     - 'ee/lib/gitlab/usage/metrics/instrumentations/license_metric.rb'
     - 'ee/lib/gitlab/vulnerability_scanning/advisory.rb'
@@ -1704,10 +1631,7 @@ Style/InlineDisableAnnotation:
     - 'ee/lib/system_check/geo/authorized_keys_check.rb'
     - 'ee/lib/tasks/geo.rake'
     - 'ee/locale/unfound_translations.rb'
-    - 'ee/spec/controllers/concerns/gitlab_subscriptions/seat_count_alert_spec.rb'
-    - 'ee/spec/controllers/concerns/routable_actions_spec.rb'
     - 'ee/spec/controllers/projects/settings/merge_requests_controller_spec.rb'
-    - 'ee/spec/factories/package_metadata/pm_licenses.rb'
     - 'ee/spec/factories/security_scans.rb'
     - 'ee/spec/features/dependency_proxy/packages/maven_spec.rb'
     - 'ee/spec/features/groups/group_settings_spec.rb'
@@ -1717,16 +1641,13 @@ Style/InlineDisableAnnotation:
     - 'ee/spec/features/registrations/combined_registration_spec.rb'
     - 'ee/spec/features/registrations/saas/standard_flow_with_2fa_spec.rb'
     - 'ee/spec/features/subscriptions/subscription_flow_for_existing_user_with_eligible_group_spec.rb'
-    - 'ee/spec/features/trials/lead_creation_form_validation_spec.rb'
     - 'ee/spec/finders/audit_event_finder_spec.rb'
     - 'ee/spec/finders/ee/group_members_finder_spec.rb'
     - 'ee/spec/helpers/analytics/analytics_dashboards_helper_spec.rb'
     - 'ee/spec/helpers/ee/dashboard_helper_spec.rb'
-    - 'ee/spec/helpers/ee/releases_helper_spec.rb'
     - 'ee/spec/initializers/fog_google_https_private_urls_spec.rb'
     - 'ee/spec/lib/audit/push_rules/group_push_rules_changes_auditor_spec.rb'
     - 'ee/spec/lib/audit/push_rules/project_push_rules_changes_auditor_spec.rb'
-    - 'ee/spec/lib/code_suggestions/instructions_extractor_spec.rb'
     - 'ee/spec/lib/ee/gitlab/background_migration/backfill_iteration_cadence_id_for_boards_spec.rb'
     - 'ee/spec/lib/ee/gitlab/background_migration/backfill_missing_vulnerability_dismissal_details_spec.rb'
     - 'ee/spec/lib/ee/gitlab/background_migration/delete_invalid_epic_issues_spec.rb'
@@ -1736,7 +1657,6 @@ Style/InlineDisableAnnotation:
     - 'ee/spec/lib/ee/gitlab/background_migration/populate_denormalized_columns_for_sbom_occurrences_spec.rb'
     - 'ee/spec/lib/ee/gitlab/database/docs/docs_spec.rb'
     - 'ee/spec/lib/ee/gitlab/import_export/repo_restorer_spec.rb'
-    - 'ee/spec/lib/ee/gitlab/issuable_metadata_spec.rb'
     - 'ee/spec/lib/ee/gitlab/saas_spec.rb'
     - 'ee/spec/lib/gitlab/analytics/value_stream_dashboard/namespace_cursor_spec.rb'
     - 'ee/spec/lib/gitlab/auth/o_auth/user_spec.rb'
@@ -1746,7 +1666,6 @@ Style/InlineDisableAnnotation:
     - 'ee/spec/lib/gitlab/email/handler/create_note_handler_spec.rb'
     - 'ee/spec/lib/gitlab/geo/cron_manager_spec.rb'
     - 'ee/spec/lib/gitlab/geo/every_repository_type_replicated_spec.rb'
-    - 'ee/spec/lib/gitlab/geo/log_helpers_spec.rb'
     - 'ee/spec/lib/gitlab/import_export/group/relation_factory_spec.rb'
     - 'ee/spec/lib/gitlab/import_export/project/relation_factory_spec.rb'
     - 'ee/spec/lib/gitlab/mirror_spec.rb'
@@ -1755,7 +1674,6 @@ Style/InlineDisableAnnotation:
     - 'ee/spec/lib/gitlab/timebox/snapshot_builder_spec.rb'
     - 'ee/spec/lib/gitlab/usage/metrics/instrumentations/count_secure_pipelines_metric_spec.rb'
     - 'ee/spec/lib/gitlab/usage/metrics/instrumentations/count_security_scans_metric_spec.rb'
-    - 'ee/spec/lib/gitlab/usage/metrics/instrumentations/count_user_merge_requests_for_projects_with_applied_scan_result_policies_metric_spec.rb'
     - 'ee/spec/lib/gitlab/usage/metrics/instrumentations/protected_environment_approval_rules_required_approvals_average_metric_spec.rb'
     - 'ee/spec/mailers/emails/enterprise_users_spec.rb'
     - 'ee/spec/mailers/emails/merge_requests_spec.rb'
@@ -1794,8 +1712,6 @@ Style/InlineDisableAnnotation:
     - 'ee/spec/requests/api/group_service_accounts_spec.rb'
     - 'ee/spec/requests/api/groups_spec.rb'
     - 'ee/spec/requests/api/internal/base_spec.rb'
-    - 'ee/spec/requests/api/vulnerability_findings_spec.rb'
-    - 'ee/spec/requests/git_http_geo_spec.rb'
     - 'ee/spec/requests/groups/issues_controller_spec.rb'
     - 'ee/spec/serializers/vulnerabilities/issue_link_entity_spec.rb'
     - 'ee/spec/serializers/vulnerabilities/merge_request_link_entity_spec.rb'
@@ -1808,7 +1724,6 @@ Style/InlineDisableAnnotation:
     - 'ee/spec/services/gitlab_subscriptions/preview_billable_user_change_service_spec.rb'
     - 'ee/spec/services/merge_requests/update_blocks_service_spec.rb'
     - 'ee/spec/services/package_metadata/sync_service_spec.rb'
-    - 'ee/spec/services/security/merge_reports_service_spec.rb'
     - 'ee/spec/services/security/security_orchestration_policies/policy_branches_service_spec.rb'
     - 'ee/spec/services/security/token_revocation_service_spec.rb'
     - 'ee/spec/spec_helper.rb'
@@ -1824,10 +1739,8 @@ Style/InlineDisableAnnotation:
     - 'ee/spec/support/shared_examples/models/concerns/blob_replicator_strategy_shared_examples.rb'
     - 'ee/spec/support/shared_examples/models/concerns/linkable_items_shared_examples.rb'
     - 'ee/spec/support/shared_examples/models/concerns/replicator_shared_examples.rb'
-    - 'ee/spec/support/shared_examples/models/elasticsearch_indexed_container_shared_examples.rb'
     - 'ee/spec/support/shared_examples/models/geo_framework_registry_shared_examples.rb'
     - 'ee/spec/support/shared_examples/models/geo_searchable_registry_shared_examples.rb'
-    - 'ee/spec/support/shared_examples/models/geo_verifiable_registry_shared_examples.rb'
     - 'ee/spec/support/shared_examples/requests/api/graphql/geo/registries_shared_examples.rb'
     - 'ee/spec/support/shared_examples/services/boards/base_service_shared_examples.rb'
     - 'ee/spec/support/shared_examples/workers/geo/framework_registry_sync_worker_shared_examples.rb'
@@ -1848,7 +1761,6 @@ Style/InlineDisableAnnotation:
     - 'lib/api/access_requests.rb'
     - 'lib/api/admin/plan_limits.rb'
     - 'lib/api/admin/sidekiq.rb'
-    - 'lib/api/api.rb'
     - 'lib/api/api_guard.rb'
     - 'lib/api/appearance.rb'
     - 'lib/api/base.rb'
@@ -1870,13 +1782,11 @@ Style/InlineDisableAnnotation:
     - 'lib/api/entities/basic_project_details.rb'
     - 'lib/api/entities/ci/runner_details.rb'
     - 'lib/api/entities/feature.rb'
-    - 'lib/api/entities/issuable_time_stats.rb'
     - 'lib/api/entities/ml/mlflow/search_runs.rb'
     - 'lib/api/entities/project.rb'
     - 'lib/api/entities/project_details.rb'
     - 'lib/api/entities/project_integration.rb'
     - 'lib/api/entities/project_with_access.rb'
-    - 'lib/api/entities/tag.rb'
     - 'lib/api/features.rb'
     - 'lib/api/group_boards.rb'
     - 'lib/api/groups.rb'
@@ -1897,7 +1807,6 @@ Style/InlineDisableAnnotation:
     - 'lib/api/hooks/url_variables.rb'
     - 'lib/api/internal/base.rb'
     - 'lib/api/internal/workhorse.rb'
-    - 'lib/api/issue_links.rb'
     - 'lib/api/issues.rb'
     - 'lib/api/members.rb'
     - 'lib/api/merge_requests.rb'
@@ -1932,13 +1841,11 @@ Style/InlineDisableAnnotation:
     - 'lib/bulk_imports/common/pipelines/lfs_objects_pipeline.rb'
     - 'lib/bulk_imports/file_downloads/filename_fetch.rb'
     - 'lib/bulk_imports/groups/transformers/group_attributes_transformer.rb'
-    - 'lib/bulk_imports/pipeline/runner.rb'
     - 'lib/bulk_imports/uniquify.rb'
     - 'lib/click_house/models/base_model.rb'
     - 'lib/click_house/query_builder.rb'
     - 'lib/click_house/redactor.rb'
     - 'lib/container_registry/path.rb'
-    - 'lib/container_registry/tag.rb'
     - 'lib/declarative_enum.rb'
     - 'lib/event_filter.rb'
     - 'lib/extracts_path.rb'
@@ -1949,13 +1856,11 @@ Style/InlineDisableAnnotation:
     - 'lib/gem_extensions/active_record/delegate_cache.rb'
     - 'lib/gem_extensions/active_record/disable_joins/associations/association_scope.rb'
     - 'lib/gem_extensions/active_record/disable_joins/relation.rb'
-    - 'lib/gitlab/analytics/cycle_analytics/aggregated/base_query_builder.rb'
     - 'lib/gitlab/analytics/cycle_analytics/aggregated/median.rb'
     - 'lib/gitlab/analytics/cycle_analytics/aggregated/records_fetcher.rb'
     - 'lib/gitlab/analytics/cycle_analytics/average.rb'
     - 'lib/gitlab/analytics/cycle_analytics/base_query_builder.rb'
     - 'lib/gitlab/analytics/cycle_analytics/median.rb'
-    - 'lib/gitlab/analytics/cycle_analytics/records_fetcher.rb'
     - 'lib/gitlab/analytics/cycle_analytics/sorting.rb'
     - 'lib/gitlab/analytics/cycle_analytics/stage_events/code_stage_start.rb'
     - 'lib/gitlab/analytics/cycle_analytics/stage_events/issue_deployed_to_production.rb'
@@ -2077,7 +1982,6 @@ Style/InlineDisableAnnotation:
     - 'lib/gitlab/container_repository/tags/cache.rb'
     - 'lib/gitlab/content_security_policy/config_loader.rb'
     - 'lib/gitlab/daemon.rb'
-    - 'lib/gitlab/data_builder/pipeline.rb'
     - 'lib/gitlab/data_builder/push.rb'
     - 'lib/gitlab/database.rb'
     - 'lib/gitlab/database/background_migration/batched_migration.rb'
@@ -2117,14 +2021,11 @@ Style/InlineDisableAnnotation:
     - 'lib/gitlab/database_importers/work_items/related_links_restrictions_importer.rb'
     - 'lib/gitlab/dependency_linker/go_mod_linker.rb'
     - 'lib/gitlab/dependency_linker/go_sum_linker.rb'
-    - 'lib/gitlab/diff/file.rb'
     - 'lib/gitlab/diff/file_collection/merge_request_diff_batch.rb'
-    - 'lib/gitlab/diff/file_collection/paginated_diffs.rb'
     - 'lib/gitlab/diff/highlight_cache.rb'
     - 'lib/gitlab/diff/line.rb'
     - 'lib/gitlab/diff/line_mapper.rb'
     - 'lib/gitlab/diff/pair_selector.rb'
-    - 'lib/gitlab/diff/parser.rb'
     - 'lib/gitlab/discussions_diff/highlight_cache.rb'
     - 'lib/gitlab/doctor/reset_tokens.rb'
     - 'lib/gitlab/doctor/secrets.rb'
@@ -2134,10 +2035,6 @@ Style/InlineDisableAnnotation:
     - 'lib/gitlab/email/handler/reply_processing.rb'
     - 'lib/gitlab/encoding_helper.rb'
     - 'lib/gitlab/encrypted_command_base.rb'
-    - 'lib/gitlab/encrypted_incoming_email_command.rb'
-    - 'lib/gitlab/encrypted_redis_command.rb'
-    - 'lib/gitlab/encrypted_service_desk_email_command.rb'
-    - 'lib/gitlab/encrypted_smtp_command.rb'
     - 'lib/gitlab/error_tracking/processor/context_payload_processor.rb'
     - 'lib/gitlab/error_tracking/processor/sanitizer_processor.rb'
     - 'lib/gitlab/etag_caching/store.rb'
@@ -2151,7 +2048,6 @@ Style/InlineDisableAnnotation:
     - 'lib/gitlab/git/blob.rb'
     - 'lib/gitlab/git/commit.rb'
     - 'lib/gitlab/git/diff.rb'
-    - 'lib/gitlab/git/patches/collection.rb'
     - 'lib/gitlab/git/repository.rb'
     - 'lib/gitlab/git/tag.rb'
     - 'lib/gitlab/git/tree.rb'
@@ -2172,10 +2068,8 @@ Style/InlineDisableAnnotation:
     - 'lib/gitlab/github_import/importer/single_endpoint_diff_notes_importer.rb'
     - 'lib/gitlab/github_import/importer/single_endpoint_issue_events_importer.rb'
     - 'lib/gitlab/github_import/label_finder.rb'
-    - 'lib/gitlab/github_import/markdown_text.rb'
     - 'lib/gitlab/github_import/milestone_finder.rb'
     - 'lib/gitlab/github_import/representation/pull_requests/review_requests.rb'
-    - 'lib/gitlab/github_import/user_finder.rb'
     - 'lib/gitlab/gon_helper.rb'
     - 'lib/gitlab/gpg/invalid_gpg_signature_updater.rb'
     - 'lib/gitlab/graphql/authorize/authorize_resource.rb'
@@ -2190,10 +2084,7 @@ Style/InlineDisableAnnotation:
     - 'lib/gitlab/graphql/present.rb'
     - 'lib/gitlab/graphql/standard_graphql_error.rb'
     - 'lib/gitlab/group_search_results.rb'
-    - 'lib/gitlab/health_checks/metric.rb'
-    - 'lib/gitlab/health_checks/probes/status.rb'
     - 'lib/gitlab/health_checks/redis/redis_abstract_check.rb'
-    - 'lib/gitlab/health_checks/result.rb'
     - 'lib/gitlab/identifier.rb'
     - 'lib/gitlab/import/database_helpers.rb'
     - 'lib/gitlab/import/errors.rb'
@@ -2231,16 +2122,13 @@ Style/InlineDisableAnnotation:
     - 'lib/gitlab/metrics/subscribers/action_cable.rb'
     - 'lib/gitlab/metrics/subscribers/rack_attack.rb'
     - 'lib/gitlab/middleware/basic_health_check.rb'
-    - 'lib/gitlab/middleware/release_env.rb'
     - 'lib/gitlab/monitor/demo_projects.rb'
     - 'lib/gitlab/nav/top_nav_menu_item.rb'
     - 'lib/gitlab/object_hierarchy.rb'
     - 'lib/gitlab/otp_key_rotator.rb'
-    - 'lib/gitlab/pagination/keyset/column_order_definition.rb'
     - 'lib/gitlab/pagination/keyset/in_operator_optimization/query_builder.rb'
     - 'lib/gitlab/pagination/keyset/iterator.rb'
     - 'lib/gitlab/pagination/keyset/order.rb'
-    - 'lib/gitlab/pagination/keyset/pager.rb'
     - 'lib/gitlab/pagination/offset_pagination.rb'
     - 'lib/gitlab/pagination_delegate.rb'
     - 'lib/gitlab/patch/action_cable_subscription_adapter_identifier.rb'
@@ -2259,7 +2147,6 @@ Style/InlineDisableAnnotation:
     - 'lib/gitlab/rack_attack.rb'
     - 'lib/gitlab/rack_attack/request.rb'
     - 'lib/gitlab/rack_attack/store.rb'
-    - 'lib/gitlab/redis/hll.rb'
     - 'lib/gitlab/redis/multi_store.rb'
     - 'lib/gitlab/reference_extractor.rb'
     - 'lib/gitlab/relative_positioning/item_context.rb'
@@ -2271,7 +2158,6 @@ Style/InlineDisableAnnotation:
     - 'lib/gitlab/sanitizers/exif.rb'
     - 'lib/gitlab/search/params.rb'
     - 'lib/gitlab/search/recent_items.rb'
-    - 'lib/gitlab/search/sort_options.rb'
     - 'lib/gitlab/search_context.rb'
     - 'lib/gitlab/search_results.rb'
     - 'lib/gitlab/seeders/ci/runner/runner_fleet_pipeline_seeder.rb'
@@ -2286,9 +2172,7 @@ Style/InlineDisableAnnotation:
     - 'lib/gitlab/slash_commands/base_command.rb'
     - 'lib/gitlab/slash_commands/deploy.rb'
     - 'lib/gitlab/slash_commands/global_slack_handler.rb'
-    - 'lib/gitlab/slash_commands/issue_search.rb'
     - 'lib/gitlab/slash_commands/presenters/run.rb'
-    - 'lib/gitlab/slash_commands/result.rb'
     - 'lib/gitlab/snippet_search_results.rb'
     - 'lib/gitlab/source.rb'
     - 'lib/gitlab/sourcegraph.rb'
@@ -2303,9 +2187,6 @@ Style/InlineDisableAnnotation:
     - 'lib/gitlab/tracking.rb'
     - 'lib/gitlab/uploads/migration_helper.rb'
     - 'lib/gitlab/url_builder.rb'
-    - 'lib/gitlab/usage/metrics/instrumentations/count_imported_projects_metric.rb'
-    - 'lib/gitlab/usage/metrics/instrumentations/database_metric.rb'
-    - 'lib/gitlab/usage/metrics/instrumentations/numbers_metric.rb'
     - 'lib/gitlab/usage/metrics/query.rb'
     - 'lib/gitlab/usage_data.rb'
     - 'lib/gitlab/usage_data_counters/merge_request_activity_unique_counter.rb'
@@ -2313,12 +2194,10 @@ Style/InlineDisableAnnotation:
     - 'lib/gitlab/usage_data_queries.rb'
     - 'lib/gitlab/utils/usage_data.rb'
     - 'lib/gitlab/verify/batch_verifier.rb'
-    - 'lib/gitlab/verify/ci_secure_files.rb'
     - 'lib/gitlab/verify/rake_task.rb'
     - 'lib/gitlab/verify/uploads.rb'
     - 'lib/gitlab/webpack/file_loader.rb'
     - 'lib/gitlab/workhorse.rb'
-    - 'lib/gitlab/x509/signature.rb'
     - 'lib/gitlab_edition.rb'
     - 'lib/gitlab_settings/options.rb'
     - 'lib/gitlab_settings/settings.rb'
@@ -2396,12 +2275,6 @@ Style/InlineDisableAnnotation:
     - 'qa/spec/resource/project_web_hook_spec.rb'
     - 'qa/spec/scenario/template_spec.rb'
     - 'qa/spec/support/formatters/allure_metadata_formatter_spec.rb'
-    - 'rubocop/cop/gettext/static_identifier.rb'
-    - 'rubocop/cop/gitlab/feature_available_usage.rb'
-    - 'rubocop/cop/migration/add_reference.rb'
-    - 'rubocop/cop/rspec/factory_bot/inline_association.rb'
-    - 'rubocop/cop/static_translation_definition.rb'
-    - 'rubocop/feature_categories.rb'
     - 'rubocop/migration_helpers.rb'
     - 'rubocop/rubocop.rb'
     - 'scripts/api/get_job_id.rb'
@@ -2416,8 +2289,6 @@ Style/InlineDisableAnnotation:
     - 'scripts/rubocop-parse'
     - 'scripts/security-harness'
     - 'scripts/trigger-build.rb'
-    - 'sidekiq_cluster/cli.rb'
-    - 'sidekiq_cluster/sidekiq_cluster.rb'
     - 'spec/benchmarks/banzai_benchmark.rb'
     - 'spec/commands/diagnostic_reports/uploader_smoke_spec.rb'
     - 'spec/commands/sidekiq_cluster/cli_spec.rb'
@@ -2426,10 +2297,8 @@ Style/InlineDisableAnnotation:
     - 'spec/config/application_spec.rb'
     - 'spec/controllers/concerns/content_security_policy_patch_spec.rb'
     - 'spec/controllers/concerns/continue_params_spec.rb'
-    - 'spec/controllers/groups/milestones_controller_spec.rb'
     - 'spec/controllers/omniauth_callbacks_controller_spec.rb'
     - 'spec/controllers/profiles/two_factor_auths_controller_spec.rb'
-    - 'spec/controllers/projects/milestones_controller_spec.rb'
     - 'spec/controllers/projects/releases_controller_spec.rb'
     - 'spec/controllers/projects/runners_controller_spec.rb'
     - 'spec/db/docs_spec.rb'
@@ -2441,7 +2310,6 @@ Style/InlineDisableAnnotation:
     - 'spec/factories/projects.rb'
     - 'spec/factories/projects/ci_feature_usages.rb'
     - 'spec/factories/wiki_pages.rb'
-    - 'spec/features/issues/user_edits_issue_spec.rb'
     - 'spec/features/markdown/math_spec.rb'
     - 'spec/features/merge_request/user_edits_mr_spec.rb'
     - 'spec/features/merge_request/user_sees_avatar_on_diff_notes_spec.rb'
@@ -2453,7 +2321,6 @@ Style/InlineDisableAnnotation:
     - 'spec/finders/groups/projects_requiring_authorizations_refresh/on_transfer_finder_spec.rb'
     - 'spec/finders/packages/build_infos_finder_spec.rb'
     - 'spec/fixtures/packages/rubygems/package.gemspec'
-    - 'spec/frontend/fixtures/merge_requests.rb'
     - 'spec/graphql/mutations/design_management/delete_spec.rb'
     - 'spec/graphql/resolvers/board_resolver_spec.rb'
     - 'spec/graphql/resolvers/boards_resolver_spec.rb'
@@ -2488,7 +2355,6 @@ Style/InlineDisableAnnotation:
     - 'spec/lib/gitlab/auth/o_auth/user_spec.rb'
     - 'spec/lib/gitlab/auth/saml/user_spec.rb'
     - 'spec/lib/gitlab/authorized_keys_spec.rb'
-    - 'spec/lib/gitlab/avatar_cache_spec.rb'
     - 'spec/lib/gitlab/background_migration/backfill_finding_id_in_vulnerabilities_spec.rb'
     - 'spec/lib/gitlab/background_migration/backfill_missing_ci_cd_settings_spec.rb'
     - 'spec/lib/gitlab/background_migration/backfill_project_repositories_spec.rb'
@@ -2527,10 +2393,8 @@ Style/InlineDisableAnnotation:
     - 'spec/lib/gitlab/doorkeeper_secret_storing/secret/pbkdf2_sha512_spec.rb'
     - 'spec/lib/gitlab/doorkeeper_secret_storing/token/pbkdf2_sha512_spec.rb'
     - 'spec/lib/gitlab/encoding_helper_spec.rb'
-    - 'spec/lib/gitlab/gfm/uploads_rewriter_spec.rb'
     - 'spec/lib/gitlab/git/object_pool_spec.rb'
     - 'spec/lib/gitlab/git/remote_mirror_spec.rb'
-    - 'spec/lib/gitlab/git/tree_spec.rb'
     - 'spec/lib/gitlab/grape_logging/loggers/urgency_logger_spec.rb'
     - 'spec/lib/gitlab/health_checks/master_check_spec.rb'
     - 'spec/lib/gitlab/i18n/po_linter_spec.rb'
@@ -2561,18 +2425,13 @@ Style/InlineDisableAnnotation:
     - 'spec/lib/gitlab/memory/diagnostic_reports_logger_spec.rb'
     - 'spec/lib/gitlab/memory/reports_daemon_spec.rb'
     - 'spec/lib/gitlab/memory/reports_uploader_spec.rb'
-    - 'spec/lib/gitlab/memory/watchdog/configurator_spec.rb'
     - 'spec/lib/gitlab/memory/watchdog/handlers/puma_handler_spec.rb'
     - 'spec/lib/gitlab/merge_requests/message_generator_spec.rb'
     - 'spec/lib/gitlab/pagination/keyset/iterator_spec.rb'
     - 'spec/lib/gitlab/pagination/keyset/order_spec.rb'
     - 'spec/lib/gitlab/patch/database_config_spec.rb'
-    - 'spec/lib/gitlab/quick_actions/dsl_spec.rb'
-    - 'spec/lib/gitlab/redis/multi_store_spec.rb'
     - 'spec/lib/gitlab/search/abuse_detection_spec.rb'
     - 'spec/lib/gitlab/shard_health_cache_spec.rb'
-    - 'spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb'
-    - 'spec/lib/gitlab/sidekiq_middleware/size_limiter/server_spec.rb'
     - 'spec/lib/gitlab/usage/metrics/instrumentations/count_deployments_metric_spec.rb'
     - 'spec/lib/gitlab/usage/metrics/instrumentations/gitaly_apdex_metric_spec.rb'
     - 'spec/lib/gitlab/usage/service_ping/legacy_metric_metadata_decorator_spec.rb'
@@ -2585,7 +2444,6 @@ Style/InlineDisableAnnotation:
     - 'spec/lib/mattermost/command_spec.rb'
     - 'spec/lib/mattermost/team_spec.rb'
     - 'spec/lib/object_storage/pending_direct_upload_spec.rb'
-    - 'spec/lib/omni_auth/strategies/jwt_spec.rb'
     - 'spec/mailers/notify_spec.rb'
     - 'spec/migrations/20231016001000_fix_design_user_mentions_design_id_note_id_index_for_self_managed_spec.rb'
     - 'spec/models/board_spec.rb'
@@ -2598,7 +2456,6 @@ Style/InlineDisableAnnotation:
     - 'spec/models/concerns/legacy_bulk_insert_spec.rb'
     - 'spec/models/concerns/manual_inverse_association_spec.rb'
     - 'spec/models/concerns/noteable_spec.rb'
-    - 'spec/models/concerns/triggerable_hooks_spec.rb'
     - 'spec/models/environment_spec.rb'
     - 'spec/models/fork_network_member_spec.rb'
     - 'spec/models/hooks/system_hook_spec.rb'
@@ -2616,11 +2473,8 @@ Style/InlineDisableAnnotation:
     - 'spec/presenters/member_presenter_spec.rb'
     - 'spec/presenters/ml/candidates_csv_presenter_spec.rb'
     - 'spec/presenters/packages/nuget/search_results_presenter_spec.rb'
-    - 'spec/presenters/packages/pypi/simple_index_presenter_spec.rb'
-    - 'spec/presenters/packages/pypi/simple_package_versions_presenter_spec.rb'
     - 'spec/requests/api/alert_management_alerts_spec.rb'
     - 'spec/requests/api/ci/runner/jobs_artifacts_spec.rb'
-    - 'spec/requests/api/graphql/ci/config_spec.rb'
     - 'spec/requests/api/graphql/groups_query_spec.rb'
     - 'spec/requests/api/graphql/issues_spec.rb'
     - 'spec/requests/api/graphql/mutations/issues/bulk_update_spec.rb'
@@ -2647,11 +2501,9 @@ Style/InlineDisableAnnotation:
     - 'spec/serializers/admin/abuse_report_serializer_spec.rb'
     - 'spec/serializers/profile/event_entity_spec.rb'
     - 'spec/services/admin/set_feature_flag_service_spec.rb'
-    - 'spec/services/alert_management/metric_images/upload_service_spec.rb'
     - 'spec/services/auto_merge/base_service_spec.rb'
     - 'spec/services/auto_merge_service_spec.rb'
     - 'spec/services/batched_git_ref_updates/cleanup_scheduler_service_spec.rb'
-    - 'spec/services/boards/lists/list_service_spec.rb'
     - 'spec/services/ci/create_pipeline_service/environment_spec.rb'
     - 'spec/services/ci/create_pipeline_service/logger_spec.rb'
     - 'spec/services/ci/create_pipeline_service_spec.rb'
@@ -2687,7 +2539,6 @@ Style/InlineDisableAnnotation:
     - 'spec/support/database/click_house/hooks.rb'
     - 'spec/support/db_cleaner.rb'
     - 'spec/support/fips.rb'
-    - 'spec/support/forgery_protection.rb'
     - 'spec/support/frontend_fixtures.rb'
     - 'spec/support/helpers/batch_destroy_dependent_associations_helper.rb'
     - 'spec/support/helpers/database/multiple_databases_helpers.rb'
@@ -2698,14 +2549,12 @@ Style/InlineDisableAnnotation:
     - 'spec/support/helpers/gitaly_setup.rb'
     - 'spec/support/helpers/google_api/cloud_platform_helpers.rb'
     - 'spec/support/helpers/graphql/subscriptions/action_cable/mock_action_cable.rb'
-    - 'spec/support/helpers/graphql_helpers.rb'
     - 'spec/support/helpers/javascript_fixtures_helpers.rb'
     - 'spec/support/helpers/jira_integration_helpers.rb'
     - 'spec/support/helpers/login_helpers.rb'
     - 'spec/support/helpers/migrations_helpers/vulnerabilities_findings_helper.rb'
     - 'spec/support/helpers/migrations_helpers/vulnerabilities_helper.rb'
     - 'spec/support/helpers/rendered_helpers.rb'
-    - 'spec/support/helpers/snowplow_helpers.rb'
     - 'spec/support/helpers/stub_feature_flags.rb'
     - 'spec/support/helpers/stub_object_storage.rb'
     - 'spec/support/helpers/stub_snowplow.rb'
@@ -2719,7 +2568,6 @@ Style/InlineDisableAnnotation:
     - 'spec/support/shared_examples/db/seeds/data_seeder_shared_examples.rb'
     - 'spec/support/shared_examples/deployments/create_for_job_shared_examples.rb'
     - 'spec/support/shared_examples/environments/create_for_job_shared_examples.rb'
-    - 'spec/support/shared_examples/features/editable_merge_request_shared_examples.rb'
     - 'spec/support/shared_examples/features/milestone_editing_shared_examples.rb'
     - 'spec/support/shared_examples/features/wiki/user_previews_wiki_changes_shared_examples.rb'
     - 'spec/support/shared_examples/features/wiki/user_updates_wiki_page_shared_examples.rb'
@@ -2738,7 +2586,6 @@ Style/InlineDisableAnnotation:
     - 'spec/support/shared_examples/models/issuable_link_shared_examples.rb'
     - 'spec/support/shared_examples/models/member_shared_examples.rb'
     - 'spec/support/shared_examples/models/packages/debian/component_file_shared_example.rb'
-    - 'spec/support/shared_examples/models/packages/debian/distribution_key_shared_examples.rb'
     - 'spec/support/shared_examples/requests/api/award_emoji_todo_shared_examples.rb'
     - 'spec/support/shared_examples/requests/api/conan_packages_shared_examples.rb'
     - 'spec/support/shared_examples/requests/api/graphql/group_and_project_boards_query_shared_examples.rb'
diff --git a/.rubocop_todo/style/redundant_interpolation_unfreeze.yml b/.rubocop_todo/style/redundant_interpolation_unfreeze.yml
index e815ebd29dd7..8b6bdf95a108 100644
--- a/.rubocop_todo/style/redundant_interpolation_unfreeze.yml
+++ b/.rubocop_todo/style/redundant_interpolation_unfreeze.yml
@@ -2,4 +2,3 @@
 # Cop supports --autocorrect.
 Style/RedundantInterpolationUnfreeze:
   Details: grace period
-  Exclude:
diff --git a/.rubocop_todo/style/symbol_proc.yml b/.rubocop_todo/style/symbol_proc.yml
index dea1a9d9cd5c..1ac76598c3c7 100644
--- a/.rubocop_todo/style/symbol_proc.yml
+++ b/.rubocop_todo/style/symbol_proc.yml
@@ -131,7 +131,6 @@ Style/SymbolProc:
     - 'qa/qa/page/profile/two_factor_auth.rb'
     - 'qa/qa/specs/features/browser_ui/3_create/merge_request/rebase_merge_request_spec.rb'
     - 'qa/qa/specs/features/ee/browser_ui/3_create/merge_request/approval_rules_spec.rb'
-    - 'qa/qa/specs/features/ee/browser_ui/4_verify/pipeline_subscription_with_group_owned_project_spec.rb'
     - 'rubocop/cop/gitlab/mark_used_feature_flags.rb'
     - 'rubocop/cop/gitlab/namespaced_class.rb'
     - 'scripts/qa/testcases-check'
diff --git a/app/controllers/concerns/issuable_actions.rb b/app/controllers/concerns/issuable_actions.rb
index b199c655c743..47cc5a57da42 100644
--- a/app/controllers/concerns/issuable_actions.rb
+++ b/app/controllers/concerns/issuable_actions.rb
@@ -280,7 +280,6 @@ def parent
     @project || @group # rubocop:disable Gitlab/ModuleWithInstanceVariables
   end
 
-  # rubocop:disable Gitlab/ModuleWithInstanceVariables
   def finder_params_for_issuable
     {
       notes_filter: notes_filter,
@@ -288,7 +287,6 @@ def finder_params_for_issuable
       per_page: params[:per_page]
     }
   end
-  # rubocop:enable Gitlab/ModuleWithInstanceVariables
 end
 
 IssuableActions.prepend_mod_with('IssuableActions')
diff --git a/app/controllers/concerns/preview_markdown.rb b/app/controllers/concerns/preview_markdown.rb
index 3767bcad6e40..94008ef3a508 100644
--- a/app/controllers/concerns/preview_markdown.rb
+++ b/app/controllers/concerns/preview_markdown.rb
@@ -3,7 +3,6 @@
 module PreviewMarkdown
   extend ActiveSupport::Concern
 
-  # rubocop:disable Gitlab/ModuleWithInstanceVariables
   def preview_markdown
     result = PreviewMarkdownService.new(
       container: resource_parent,
@@ -62,6 +61,4 @@ def markdown_context_params
       allow_comments: !browser.ie?
     )
   end
-
-  # rubocop:enable Gitlab/ModuleWithInstanceVariables
 end
diff --git a/app/controllers/concerns/renders_notes.rb b/app/controllers/concerns/renders_notes.rb
index 44d9f3b96dab..44eb3add48ae 100644
--- a/app/controllers/concerns/renders_notes.rb
+++ b/app/controllers/concerns/renders_notes.rb
@@ -27,15 +27,11 @@ def preload_max_access_for_authors(notes, project)
     project.team.contribution_check_for_user_ids(access)
   end
 
-  # rubocop: disable CodeReuse/ActiveRecord
   def preload_noteable_for_regular_notes(notes)
     ActiveRecord::Associations::Preloader.new(records: notes.reject(&:for_commit?), associations: :noteable).call
   end
-  # rubocop: enable CodeReuse/ActiveRecord
 
-  # rubocop: disable CodeReuse/ActiveRecord
   def preload_author_status(notes)
     ActiveRecord::Associations::Preloader.new(records: notes, associations: { author: :status }).call
   end
-  # rubocop: enable CodeReuse/ActiveRecord
 end
diff --git a/app/controllers/concerns/web_hooks/hook_log_actions.rb b/app/controllers/concerns/web_hooks/hook_log_actions.rb
index ee48ef425cb3..9ad4ce290ab9 100644
--- a/app/controllers/concerns/web_hooks/hook_log_actions.rb
+++ b/app/controllers/concerns/web_hooks/hook_log_actions.rb
@@ -31,11 +31,9 @@ def retry
 
     private
 
-    # rubocop:disable Gitlab/ModuleWithInstanceVariables
     def hook_log
       @hook_log ||= hook.web_hook_logs.find(params[:id])
     end
-    # rubocop:enable Gitlab/ModuleWithInstanceVariables
 
     def execute_hook
       result = WebHooks::Events::ResendService.new(hook_log, current_user: current_user).execute
diff --git a/app/controllers/groups/autocomplete_sources_controller.rb b/app/controllers/groups/autocomplete_sources_controller.rb
index 8a3ec13f7203..f9836b7003ae 100644
--- a/app/controllers/groups/autocomplete_sources_controller.rb
+++ b/app/controllers/groups/autocomplete_sources_controller.rb
@@ -46,7 +46,6 @@ def issuable_serializer
     GroupIssuableAutocompleteSerializer.new
   end
 
-  # rubocop: disable CodeReuse/ActiveRecord
   def target
     # TODO https://gitlab.com/gitlab-org/gitlab/-/issues/388541
     # type_id is a misnomer. QuickActions::TargetService actually requires an iid.
@@ -54,7 +53,6 @@ def target
       .new(container: @group, current_user: current_user)
       .execute(params[:type], params[:type_id])
   end
-  # rubocop: enable CodeReuse/ActiveRecord
 end
 
 Groups::AutocompleteSourcesController.prepend_mod
diff --git a/app/controllers/groups/labels_controller.rb b/app/controllers/groups/labels_controller.rb
index 5eee4c9b82a4..038e52ac06e6 100644
--- a/app/controllers/groups/labels_controller.rb
+++ b/app/controllers/groups/labels_controller.rb
@@ -18,7 +18,7 @@ def index
       format.html do
         # at group level we do not want to list project labels,
         # we only want `only_group_labels = false` when pulling labels for label filter dropdowns, fetched through json
-        @labels = available_labels(params.merge(only_group_labels: true)).page(params[:page]) # rubocop: disable CodeReuse/ActiveRecord
+        @labels = available_labels(params.merge(only_group_labels: true)).page(params[:page])
         Preloaders::LabelsPreloader.new(@labels, current_user).preload_all
       end
       format.json do
diff --git a/app/controllers/profiles/notifications_controller.rb b/app/controllers/profiles/notifications_controller.rb
index 66430093b429..5fc3593ee84a 100644
--- a/app/controllers/profiles/notifications_controller.rb
+++ b/app/controllers/profiles/notifications_controller.rb
@@ -34,7 +34,6 @@ def user_groups
     GroupsFinder.new(current_user, all_available: false).execute.order_name_asc.page(pagination_params[:page])
   end
 
-  # rubocop: disable CodeReuse/ActiveRecord
   def project_notifications_with_preloaded_associations
     project_notifications = current_user
       .notification_settings
@@ -51,7 +50,6 @@ def project_notifications_with_preloaded_associations
 
     project_notifications.select { |notification| current_user.can?(:read_project, notification.source) }
   end
-  # rubocop: enable CodeReuse/ActiveRecord
 
   def project_associations
     { namespace: [:route, :owner], group: [], creator: [], project_setting: [] }
diff --git a/app/controllers/projects/merge_requests/diffs_controller.rb b/app/controllers/projects/merge_requests/diffs_controller.rb
index 0b2190422e04..8e6a8ee19a7d 100644
--- a/app/controllers/projects/merge_requests/diffs_controller.rb
+++ b/app/controllers/projects/merge_requests/diffs_controller.rb
@@ -38,7 +38,6 @@ def diff_for_path
     render_diffs
   end
 
-  # rubocop: disable Metrics/AbcSize
   def diffs_batch
     diff_options_hash = diff_options
     diff_options_hash[:paths] = params[:paths] if params[:paths]
@@ -86,7 +85,6 @@ def diffs_batch
       render json: PaginatedDiffSerializer.new(current_user: current_user).represent(diffs, options)
     end
   end
-  # rubocop: enable Metrics/AbcSize
 
   def diffs_metadata
     diffs = @compare.diffs(diff_options)
diff --git a/app/controllers/projects/tags_controller.rb b/app/controllers/projects/tags_controller.rb
index d3e38774aaa5..9d880ae6ffe8 100644
--- a/app/controllers/projects/tags_controller.rb
+++ b/app/controllers/projects/tags_controller.rb
@@ -13,7 +13,6 @@ class Projects::TagsController < Projects::ApplicationController
   feature_category :source_code_management
   urgency :low, [:new, :show, :index]
 
-  # rubocop: disable CodeReuse/ActiveRecord
   def index
     begin
       tags_params = params
@@ -45,7 +44,6 @@ def index
       format.atom { render layout: 'xml', status: status }
     end
   end
-  # rubocop: enable CodeReuse/ActiveRecord
 
   # rubocop: disable CodeReuse/ActiveRecord
   def show
diff --git a/app/graphql/gitlab_schema.rb b/app/graphql/gitlab_schema.rb
index 2b8d670e645b..74a093e9717c 100644
--- a/app/graphql/gitlab_schema.rb
+++ b/app/graphql/gitlab_schema.rb
@@ -189,4 +189,4 @@ def get_type(type_name)
   end
 end
 
-GitlabSchema.prepend_mod_with('GitlabSchema') # rubocop: disable Cop/InjectEnterpriseEditionModule
+GitlabSchema.prepend_mod_with('GitlabSchema')
diff --git a/app/graphql/resolvers/concerns/caching_array_resolver.rb b/app/graphql/resolvers/concerns/caching_array_resolver.rb
index 2dca0f77a176..adbb189e63ea 100644
--- a/app/graphql/resolvers/concerns/caching_array_resolver.rb
+++ b/app/graphql/resolvers/concerns/caching_array_resolver.rb
@@ -124,7 +124,7 @@ def tag(queries)
   end
 
   def limit(query)
-    query.limit(query_limit) # rubocop: disable CodeReuse/ActiveRecord
+    query.limit(query_limit)
   end
 
   def all_fields
diff --git a/app/graphql/resolvers/labels_resolver.rb b/app/graphql/resolvers/labels_resolver.rb
index 16a337c1d23b..469987d0d437 100644
--- a/app/graphql/resolvers/labels_resolver.rb
+++ b/app/graphql/resolvers/labels_resolver.rb
@@ -10,7 +10,8 @@ class LabelsResolver < BaseResolver
 
     argument :title, GraphQL::Types::String,
       required: false,
-      description: 'Exact match on title. Cannot be used with `searchTerm`. `searchIn` will be ignored if `title` argument is provided.' # rubocop:disable Layout/LineLength -- This is just a long string
+      description: 'Exact match on title. Cannot be used with `searchTerm`. ' \
+        '`searchIn` will be ignored if `title` argument is provided.'
 
     argument :search_term, GraphQL::Types::String,
       required: false,
diff --git a/app/graphql/resolvers/work_item_references_resolver.rb b/app/graphql/resolvers/work_item_references_resolver.rb
index f60d1815a103..48d67a1dcd06 100644
--- a/app/graphql/resolvers/work_item_references_resolver.rb
+++ b/app/graphql/resolvers/work_item_references_resolver.rb
@@ -43,7 +43,6 @@ def resolve_with_lookahead(context_namespace_path: nil, refs: [])
 
     attr_reader :container
 
-    # rubocop: disable CodeReuse/ActiveRecord -- #references is not an ActiveRecord method
     def find_work_items(references)
       epic_refs, issue_refs = references.partition { |r| r.match?(/epics|&/) }
       item_ids = references_extractor(issue_refs)&.references(:work_item, ids_only: true) || []
@@ -54,7 +53,6 @@ def find_work_items(references)
 
       WorkItem.id_in(item_ids.flatten.compact)
     end
-    # rubocop: enable CodeReuse/ActiveRecord
 
     def references_extractor(refs)
       return unless refs.any?
diff --git a/app/graphql/types/base_enum.rb b/app/graphql/types/base_enum.rb
index bb1a2f06ee2a..353c8c720785 100644
--- a/app/graphql/types/base_enum.rb
+++ b/app/graphql/types/base_enum.rb
@@ -23,7 +23,6 @@ class << self
       #   end
       #
       # Disabling descriptions rubocop for a false positive here
-      # rubocop: disable Graphql/Descriptions
       #
       def declarative_enum(enum_mod, use_name: true, use_description: true)
         graphql_name(enum_mod.name) if use_name
@@ -33,7 +32,6 @@ def declarative_enum(enum_mod, use_name: true, use_description: true)
           value(key.to_s.upcase, value: key.to_s, description: content[:description])
         end
       end
-      # rubocop: enable Graphql/Descriptions
 
       # Helper to define an enum member for each element of a Rails AR enum
       def from_rails_enum(enum, description:)
diff --git a/app/graphql/types/board_list_type.rb b/app/graphql/types/board_list_type.rb
index 935245e91482..fd011fff646f 100644
--- a/app/graphql/types/board_list_type.rb
+++ b/app/graphql/types/board_list_type.rb
@@ -55,7 +55,7 @@ def metadata
     # board lists have a data dependency on label - so we batch load them here
     def title
       BatchLoader::GraphQL.for(object).batch do |lists, callback|
-        ActiveRecord::Associations::Preloader.new(records: lists, associations: :label).call # rubocop: disable CodeReuse/ActiveRecord
+        ActiveRecord::Associations::Preloader.new(records: lists, associations: :label).call
 
         # all list titles are preloaded at this point
         lists.each { |list| callback.call(list, list.title) }
diff --git a/app/graphql/types/ci/catalog/resources/components/input_type.rb b/app/graphql/types/ci/catalog/resources/components/input_type.rb
index 070d3a5038aa..1da85292a858 100644
--- a/app/graphql/types/ci/catalog/resources/components/input_type.rb
+++ b/app/graphql/types/ci/catalog/resources/components/input_type.rb
@@ -5,7 +5,6 @@ module Ci
     module Catalog
       module Resources
         module Components
-          # rubocop: disable Graphql/AuthorizeTypes -- Authorization handled by ComponentType -> VersionType
           class InputType < BaseObject
             graphql_name 'CiCatalogResourceComponentInput'
 
@@ -21,7 +20,6 @@ class InputType < BaseObject
             field :type, Types::Ci::Catalog::Resources::Components::InputTypeEnum, null: true,
               description: 'Type of the input.'
           end
-          # rubocop: enable Graphql/AuthorizeTypes
         end
       end
     end
diff --git a/app/graphql/types/ci/catalog/resources/verification_level_enum.rb b/app/graphql/types/ci/catalog/resources/verification_level_enum.rb
index b7d29e18e473..a4d464787fb0 100644
--- a/app/graphql/types/ci/catalog/resources/verification_level_enum.rb
+++ b/app/graphql/types/ci/catalog/resources/verification_level_enum.rb
@@ -4,7 +4,6 @@ module Types
   module Ci
     module Catalog
       module Resources
-        # rubocop: disable Graphql/AuthorizeTypes -- Authorization handled by ResourceType
         class VerificationLevelEnum < BaseEnum
           graphql_name 'CiCatalogResourceVerificationLevel'
 
@@ -12,7 +11,6 @@ class VerificationLevelEnum < BaseEnum
             value level.upcase, value: level.to_s, description: "The resource is #{level.to_s.titleize}"
           end
         end
-        # rubocop: enable Graphql/AuthorizeTypes
       end
     end
   end
diff --git a/app/graphql/types/commit_signatures/verification_status_enum.rb b/app/graphql/types/commit_signatures/verification_status_enum.rb
index d0d8f6670c3c..930b902d2d7f 100644
--- a/app/graphql/types/commit_signatures/verification_status_enum.rb
+++ b/app/graphql/types/commit_signatures/verification_status_enum.rb
@@ -1,7 +1,5 @@
 # frozen_string_literal: true
 
-# rubocop:disable Graphql/AuthorizeTypes
-
 module Types
   module CommitSignatures
     class VerificationStatusEnum < BaseEnum
@@ -14,5 +12,3 @@ class VerificationStatusEnum < BaseEnum
     end
   end
 end
-
-# rubocop:enable Graphql/AuthorizeTypes
diff --git a/app/graphql/types/issuables/labels/search_field_list_enum.rb b/app/graphql/types/issuables/labels/search_field_list_enum.rb
index 4a11dd5da343..4530bc7c3f72 100644
--- a/app/graphql/types/issuables/labels/search_field_list_enum.rb
+++ b/app/graphql/types/issuables/labels/search_field_list_enum.rb
@@ -3,7 +3,6 @@
 module Types
   module Issuables
     module Labels
-      # rubocop: disable Search/NamespacedClass -- not search related
       class SearchFieldListEnum < BaseEnum
         graphql_name 'LabelSearchFieldList'
         description 'List of fields where the provided searchTerm should be looked up'
@@ -11,7 +10,6 @@ class SearchFieldListEnum < BaseEnum
         value 'TITLE', 'Search in the label title.', value: :title
         value 'DESCRIPTION', 'Search in the label description.', value: :description
       end
-      # rubocop: enable Search/NamespacedClass
     end
   end
 end
diff --git a/app/graphql/types/packages/helm/dependency_type.rb b/app/graphql/types/packages/helm/dependency_type.rb
index 6ba14145fb5e..9bf12d92004c 100644
--- a/app/graphql/types/packages/helm/dependency_type.rb
+++ b/app/graphql/types/packages/helm/dependency_type.rb
@@ -12,7 +12,7 @@ class DependencyType < BaseObject
         field :alias, GraphQL::Types::String, null: true, description: 'Alias of the dependency.', resolver_method: :resolve_alias
         field :condition, GraphQL::Types::String, null: true, description: 'Condition of the dependency.'
         field :enabled, GraphQL::Types::Boolean, null: true, description: 'Indicates the dependency is enabled.'
-        field :import_values, [GraphQL::Types::JSON], null: true, description: 'Import-values of the dependency.', hash_key: :'import-values' # rubocop:disable Graphql/JSONType
+        field :import_values, [GraphQL::Types::JSON], null: true, description: 'Import-values of the dependency.', hash_key: :'import-values'
         field :name, GraphQL::Types::String, null: true, description: 'Name of the dependency.'
         field :repository, GraphQL::Types::String, null: true, description: 'Repository of the dependency.'
         field :tags, [GraphQL::Types::String], null: true, description: 'Tags of the dependency.'
diff --git a/app/graphql/types/projects/service_type_enum.rb b/app/graphql/types/projects/service_type_enum.rb
index 6c576b3ddcd8..1d5f60c2aee3 100644
--- a/app/graphql/types/projects/service_type_enum.rb
+++ b/app/graphql/types/projects/service_type_enum.rb
@@ -15,7 +15,7 @@ def type_description(name, type)
       end
 
       # This prepend must stay here because the dynamic block below depends on it.
-      prepend_mod # rubocop: disable Cop/InjectEnterpriseEditionModule
+      prepend_mod
 
       ::Integration.available_integration_names(
         include_instance_specific: false, include_dev: false, include_disabled: true
diff --git a/app/helpers/diff_helper.rb b/app/helpers/diff_helper.rb
index cec74d41bf5f..003ac985619e 100644
--- a/app/helpers/diff_helper.rb
+++ b/app/helpers/diff_helper.rb
@@ -248,7 +248,7 @@ def render_fork_suggestion
   def conflicts(allow_tree_conflicts: false)
     return unless merge_request.cannot_be_merged? && merge_request.source_branch_exists? && merge_request.target_branch_exists?
 
-    conflicts_service = MergeRequests::Conflicts::ListService.new(merge_request, allow_tree_conflicts: allow_tree_conflicts) # rubocop:disable CodeReuse/ServiceClass
+    conflicts_service = MergeRequests::Conflicts::ListService.new(merge_request, allow_tree_conflicts: allow_tree_conflicts)
 
     return unless allow_tree_conflicts || conflicts_service.can_be_resolved_in_ui?
 
@@ -267,7 +267,7 @@ def conflicts_with_types
 
     cached_conflicts_with_types do
       # We set skip_content to true since we don't really need the content to list the conflicts and their types
-      conflicts_service = MergeRequests::Conflicts::ListService.new( # rubocop:disable CodeReuse/ServiceClass
+      conflicts_service = MergeRequests::Conflicts::ListService.new(
         merge_request,
         allow_tree_conflicts: true,
         skip_content: true
diff --git a/app/helpers/lazy_image_tag_helper.rb b/app/helpers/lazy_image_tag_helper.rb
index 10d603ef5d3b..7fd6d22f19c2 100644
--- a/app/helpers/lazy_image_tag_helper.rb
+++ b/app/helpers/lazy_image_tag_helper.rb
@@ -31,7 +31,7 @@ def image_tag(source, options = {})
   end
 
   # Required for Banzai::Filter::ImageLazyLoadFilter
-  module_function :placeholder_image # rubocop: disable Style/AccessModifierDeclarations
+  module_function :placeholder_image
 
   private
 
diff --git a/app/helpers/search_helper.rb b/app/helpers/search_helper.rb
index 75362adbc83b..14e6d868f373 100644
--- a/app/helpers/search_helper.rb
+++ b/app/helpers/search_helper.rb
@@ -335,7 +335,6 @@ def project_autocomplete
   end
 
   # Autocomplete results for the current user's groups
-  # rubocop: disable CodeReuse/ActiveRecord
   def groups_autocomplete(term, limit = 5)
     current_user.authorized_groups.order_id_desc.search(term, use_minimum_char_limit: false).limit(limit).map do |group|
       {
@@ -348,7 +347,6 @@ def groups_autocomplete(term, limit = 5)
       }
     end
   end
-  # rubocop: enable CodeReuse/ActiveRecord
 
   def issue_autocomplete(term)
     return [] unless @project.present? && current_user && term =~ /\A#{Issue.reference_prefix}\d+\z/
diff --git a/app/helpers/sidebars_helper.rb b/app/helpers/sidebars_helper.rb
index 39ab64a6031b..f9bf8cf25d95 100644
--- a/app/helpers/sidebars_helper.rb
+++ b/app/helpers/sidebars_helper.rb
@@ -36,13 +36,13 @@ def your_work_sidebar_context(user, **args)
     Sidebars::Context.new(**context_data, **args)
   end
 
-  def super_sidebar_context(user, group:, project:, panel:, panel_type:) # rubocop:disable Metrics/AbcSize
+  def super_sidebar_context(user, group:, project:, panel:, panel_type:)
     return super_sidebar_logged_out_context(panel: panel, panel_type: panel_type) unless user
 
     super_sidebar_logged_in_context(user, group: group, project: project, panel: panel, panel_type: panel_type)
   end
 
-  def super_sidebar_logged_out_context(panel:, panel_type:) # rubocop:disable Metrics/AbcSize
+  def super_sidebar_logged_out_context(panel:, panel_type:)
     super_sidebar_instance_version_data.merge(super_sidebar_whats_new_data).merge({
       is_logged_in: false,
       context_switcher_links: context_switcher_links,
@@ -59,7 +59,7 @@ def super_sidebar_logged_out_context(panel:, panel_type:) # rubocop:disable Metr
     })
   end
 
-  def super_sidebar_logged_in_context(user, group:, project:, panel:, panel_type:) # rubocop:disable Metrics/AbcSize
+  def super_sidebar_logged_in_context(user, group:, project:, panel:, panel_type:)
     super_sidebar_logged_out_context(panel: panel, panel_type: panel_type).merge({
       is_logged_in: true,
       is_admin: user.can_admin_all_resources?,
diff --git a/app/models/bulk_import.rb b/app/models/bulk_import.rb
index 7920328bd094..af493c4e49ee 100644
--- a/app/models/bulk_import.rb
+++ b/app/models/bulk_import.rb
@@ -52,13 +52,10 @@ class BulkImport < ApplicationRecord
       transition any => :canceled
     end
 
-    # rubocop:disable Style/SymbolProc
     after_transition any => [:finished, :failed, :timeout] do |bulk_import|
       bulk_import.update_has_failures
       bulk_import.send_completion_notification
     end
-    # rubocop:enable Style/SymbolProc
-
     after_transition any => [:canceled] do |bulk_import|
       bulk_import.run_after_commit do
         bulk_import.propagate_cancel
diff --git a/app/models/clusters/cluster.rb b/app/models/clusters/cluster.rb
index df606db98a02..6b6f9fbeebd2 100644
--- a/app/models/clusters/cluster.rb
+++ b/app/models/clusters/cluster.rb
@@ -40,7 +40,7 @@ class Cluster < ApplicationRecord
 
     def self.has_one_cluster_application(name) # rubocop:disable Naming/PredicateName
       application = APPLICATIONS[name.to_s]
-      has_one application.association_name, class_name: application.to_s, inverse_of: :cluster # rubocop:disable Rails/ReflectionClassName
+      has_one application.association_name, class_name: application.to_s, inverse_of: :cluster
     end
 
     has_many :kubernetes_namespaces
diff --git a/app/models/compare.rb b/app/models/compare.rb
index d80f3f72ca71..350149c08bf1 100644
--- a/app/models/compare.rb
+++ b/app/models/compare.rb
@@ -1,6 +1,6 @@
 # frozen_string_literal: true
 
-require 'set' # rubocop:disable Lint/RedundantRequireStatement -- Ruby 3.1 and earlier needs this. Drop this line after Ruby 3.2+ is only supported.
+require 'set' # Ruby 3.1 and earlier needs this. Drop this line after Ruby 3.2+ is only supported.
 
 class Compare
   include Gitlab::Utils::StrongMemoize
diff --git a/app/models/concerns/cascading_namespace_setting_attribute.rb b/app/models/concerns/cascading_namespace_setting_attribute.rb
index c3a45c061766..0085b155612a 100644
--- a/app/models/concerns/cascading_namespace_setting_attribute.rb
+++ b/app/models/concerns/cascading_namespace_setting_attribute.rb
@@ -229,14 +229,12 @@ def cascading_attribute_changed?(attribute)
   def cascaded_ancestor_value(attribute)
     return unless namespace.has_parent?
 
-    # rubocop:disable GitlabSecurity/SqlInjection
     self.class
-      .select(attribute)
-      .joins("join unnest(ARRAY[#{namespace_ancestor_ids.join(',')}]) with ordinality t(namespace_id, ord) USING (namespace_id)")
-      .where("#{attribute} IS NOT NULL")
-      .order('t.ord')
-      .limit(1).first&.read_attribute(attribute)
-    # rubocop:enable GitlabSecurity/SqlInjection
+  .select(attribute)
+  .joins("join unnest(ARRAY[#{namespace_ancestor_ids.join(',')}]) with ordinality t(namespace_id, ord) USING (namespace_id)")
+  .where("#{attribute} IS NOT NULL")
+  .order('t.ord')
+  .limit(1).first&.read_attribute(attribute)
   end
 
   def application_setting_value(attribute)
diff --git a/app/models/concerns/cascading_project_setting_attribute.rb b/app/models/concerns/cascading_project_setting_attribute.rb
index 9dde6e034e7f..10034d91dcad 100644
--- a/app/models/concerns/cascading_project_setting_attribute.rb
+++ b/app/models/concerns/cascading_project_setting_attribute.rb
@@ -139,7 +139,6 @@ def cascading_attribute_changed?(attribute)
   def cascaded_ancestor_value(attribute)
     return unless direct_ancestor_present?
 
-    # rubocop:disable GitlabSecurity/SqlInjection -- model attribute, not user input
     NamespaceSetting
       .select(attribute)
       .joins(
@@ -148,7 +147,6 @@ def cascaded_ancestor_value(attribute)
       .where("#{attribute} IS NOT NULL")
       .order('t.ord')
       .limit(1).first&.read_attribute(attribute)
-    # rubocop:enable GitlabSecurity/SqlInjection
   end
 
   def application_setting_value(attribute)
diff --git a/app/models/concerns/from_except.rb b/app/models/concerns/from_except.rb
index b9ca9dda4b00..ff511018a3c2 100644
--- a/app/models/concerns/from_except.rb
+++ b/app/models/concerns/from_except.rb
@@ -29,9 +29,7 @@ module FromExcept
     #
     # alias_as - The alias to use for the sub query. Defaults to the name of the
     #            table of the current model.
-    # rubocop: disable Gitlab/Except
     extend FromSetOperator
     define_set_operator Gitlab::SQL::Except
-    # rubocop: enable Gitlab/Except
   end
 end
diff --git a/app/models/concerns/from_intersect.rb b/app/models/concerns/from_intersect.rb
index 428e63eb45e2..080c60ec8eac 100644
--- a/app/models/concerns/from_intersect.rb
+++ b/app/models/concerns/from_intersect.rb
@@ -29,9 +29,7 @@ module FromIntersect
     #
     # alias_as - The alias to use for the sub query. Defaults to the name of the
     #            table of the current model.
-    # rubocop: disable Gitlab/Intersect
     extend FromSetOperator
     define_set_operator Gitlab::SQL::Intersect
-    # rubocop: enable Gitlab/Intersect
   end
 end
diff --git a/app/models/concerns/from_union.rb b/app/models/concerns/from_union.rb
index e816608265b2..447efc33dc59 100644
--- a/app/models/concerns/from_union.rb
+++ b/app/models/concerns/from_union.rb
@@ -37,9 +37,7 @@ module FromUnion
     #
     # alias_as - The alias to use for the sub query. Defaults to the name of the
     #            table of the current model.
-    # rubocop: disable Gitlab/Union
     extend FromSetOperator
     define_set_operator Gitlab::SQL::Union
-    # rubocop: enable Gitlab/Union
   end
 end
diff --git a/app/models/concerns/issuable.rb b/app/models/concerns/issuable.rb
index d41f2a44845c..1812204470bf 100644
--- a/app/models/concerns/issuable.rb
+++ b/app/models/concerns/issuable.rb
@@ -710,15 +710,15 @@ def old_target_branch(assoc)
   end
 
   def old_escalation_status(assoc)
-    @_old_escalation_status ||= assoc.fetch(:escalation_status, escalation_status.status_name) # rubocop:disable Gitlab/ModuleWithInstanceVariables -- This is only used here
+    @_old_escalation_status ||= assoc.fetch(:escalation_status, escalation_status.status_name)
   end
 
   def old_total_time_spent(assoc)
-    @_old_total_time_spent ||= assoc.fetch(:total_time_spent, total_time_spent) # rubocop:disable Gitlab/ModuleWithInstanceVariables -- This is only used here
+    @_old_total_time_spent ||= assoc.fetch(:total_time_spent, total_time_spent)
   end
 
   def old_time_change(assoc)
-    @_old_time_change ||= assoc.fetch(:time_change, time_change) # rubocop:disable Gitlab/ModuleWithInstanceVariables -- This is only used here
+    @_old_time_change ||= assoc.fetch(:time_change, time_change)
   end
 end
 
diff --git a/app/models/concerns/redis_cacheable.rb b/app/models/concerns/redis_cacheable.rb
index 460cb5297151..a0727b531599 100644
--- a/app/models/concerns/redis_cacheable.rb
+++ b/app/models/concerns/redis_cacheable.rb
@@ -57,7 +57,7 @@ def cached_attributes
   end
 
   def with_redis(&block)
-    Gitlab::Redis::Cache.with(&block) # rubocop:disable CodeReuse/ActiveRecord
+    Gitlab::Redis::Cache.with(&block)
   end
 
   def cast_value_from_cache(attribute, value)
diff --git a/app/models/merge_request_diff_commit.rb b/app/models/merge_request_diff_commit.rb
index b923110e6b00..287e9d2cf025 100644
--- a/app/models/merge_request_diff_commit.rb
+++ b/app/models/merge_request_diff_commit.rb
@@ -64,7 +64,7 @@ def self.create_bulk(merge_request_diff_id, commits)
         committer_id: committer.id,
         merge_request_diff_id: merge_request_diff_id,
         relative_order: index,
-        sha: Gitlab::Database::ShaAttribute.serialize(sha), # rubocop:disable Cop/ActiveRecordSerialize
+        sha: Gitlab::Database::ShaAttribute.serialize(sha),
         authored_date: Gitlab::Database.sanitize_timestamp(commit_hash[:authored_date]),
         committed_date: Gitlab::Database.sanitize_timestamp(commit_hash[:committed_date]),
         trailers: Gitlab::Json.dump(commit_hash.fetch(:trailers, {}))
diff --git a/app/models/ml/model_version.rb b/app/models/ml/model_version.rb
index df31133de95f..1669ae5743c1 100644
--- a/app/models/ml/model_version.rb
+++ b/app/models/ml/model_version.rb
@@ -33,7 +33,7 @@ class ModelVersion < ApplicationRecord
                               order(model_id: :desc, semver_major: :desc, semver_minor: :desc, semver_patch: :desc)
                                 .select('DISTINCT ON (model_id) *')
                             }
-    scope :by_version, ->(version) { where("version LIKE ?", "#{sanitize_sql_like(version)}%") } # rubocop:disable GitlabSecurity/SqlInjection -- we are sanitizing
+    scope :by_version, ->(version) { where("version LIKE ?", "#{sanitize_sql_like(version)}%") }
     scope :for_model, ->(model) { where(project: model.project, model: model) }
     scope :including_relations, -> { includes(:project, :model, :candidate) }
     scope :order_by_version, ->(order) { reorder(version: order) }
diff --git a/app/models/user.rb b/app/models/user.rb
index 55ba72ce096f..0499b6954d46 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -159,7 +159,7 @@ def update_tracked_fields!(request)
     dependent: :destroy, # rubocop:disable Cop/ActiveRecordDependent
     foreign_key: :owner_id,
     inverse_of: :owner,
-    autosave: true # rubocop:disable Cop/ActiveRecordDependent
+    autosave: true
 
   # Profile
   has_many :keys, -> { regular_keys }, dependent: :destroy # rubocop:disable Cop/ActiveRecordDependent
@@ -1476,11 +1476,9 @@ def can_select_namespace?
     several_namespaces? || admin
   end
 
-  # rubocop: disable Style/ArgumentsForwarding -- https://gitlab.com/gitlab-org/gitlab/-/issues/433045
   def can?(action, subject = :global, **opts)
     Ability.allowed?(self, action, subject, **opts)
   end
-  # rubocop: enable Style/ArgumentsForwarding
 
   def confirm_deletion_with_password?
     !password_automatically_set? && allow_password_authentication?
diff --git a/app/models/wiki_page/meta.rb b/app/models/wiki_page/meta.rb
index bcfd9499299f..f743ab4bd352 100644
--- a/app/models/wiki_page/meta.rb
+++ b/app/models/wiki_page/meta.rb
@@ -124,7 +124,6 @@ def canonical_slug
     end
     strong_memoize_attr :canonical_slug
 
-    # rubocop:disable Gitlab/ModuleWithInstanceVariables -- Technical debt
     def canonical_slug=(slug)
       return if @canonical_slug == slug
 
@@ -140,7 +139,6 @@ def canonical_slug=(slug)
 
       @canonical_slug = slug
     end
-    # rubocop:enable Gitlab/ModuleWithInstanceVariables
 
     def update_state(created, known_slugs, wiki_page, updates)
       update_wiki_page_attributes(updates)
@@ -173,7 +171,7 @@ def insert_slugs(strings, is_new, canonical_slug)
       end
       slugs.insert_all(slug_attrs) unless !is_new && slug_attrs.size == 1
 
-      @canonical_slug = canonical_slug if is_new || strings.size == 1 # rubocop:disable Gitlab/ModuleWithInstanceVariables -- Technical debt
+      @canonical_slug = canonical_slug if is_new || strings.size == 1
     end
 
     def slug_attributes(slug, canonical_slug, is_new, creation)
diff --git a/app/presenters/dev_ops_report/metric_presenter.rb b/app/presenters/dev_ops_report/metric_presenter.rb
index 30d2013ce72f..8b73173f080c 100644
--- a/app/presenters/dev_ops_report/metric_presenter.rb
+++ b/app/presenters/dev_ops_report/metric_presenter.rb
@@ -143,10 +143,8 @@ def idea_to_production_steps
       ]
     end
 
-    # rubocop: disable CodeReuse/ActiveRecord
     def average_percentage_score
       cards.sum(&:percentage_score) / cards.size.to_f
     end
-    # rubocop: enable CodeReuse/ActiveRecord
   end
 end
diff --git a/app/serializers/diffs_entity.rb b/app/serializers/diffs_entity.rb
index 883875122a90..72c06e991e51 100644
--- a/app/serializers/diffs_entity.rb
+++ b/app/serializers/diffs_entity.rb
@@ -43,18 +43,12 @@ class DiffsEntity < Grape::Entity
     diffs_project_merge_request_path(merge_request&.project, merge_request)
   end
 
-  # rubocop: disable CodeReuse/ActiveRecord
   expose :added_lines do |diffs|
     diffs.raw_diff_files.sum(&:added_lines)
   end
-  # rubocop: enable CodeReuse/ActiveRecord
-
-  # rubocop: disable CodeReuse/ActiveRecord
   expose :removed_lines do |diffs|
     diffs.raw_diff_files.sum(&:removed_lines)
   end
-  # rubocop: enable CodeReuse/ActiveRecord
-
   expose :render_overflow_warning do |diffs|
     render_overflow_warning?(diffs)
   end
diff --git a/app/serializers/fork_namespace_entity.rb b/app/serializers/fork_namespace_entity.rb
index c305e53eacfb..71ea74a5ed15 100644
--- a/app/serializers/fork_namespace_entity.rb
+++ b/app/serializers/fork_namespace_entity.rb
@@ -32,13 +32,11 @@ class ForkNamespaceEntity < Grape::Entity
 
   private
 
-  # rubocop: disable CodeReuse/ActiveRecord
   def membership(user, object, memberships)
     return unless user
 
     memberships[object.id]
   end
-  # rubocop: enable CodeReuse/ActiveRecord
 
   def markdown_description(namespace)
     markdown_field(namespace, :description)
diff --git a/app/services/boards/base_items_list_service.rb b/app/services/boards/base_items_list_service.rb
index 0b8e4b95c76e..03ad942c325b 100644
--- a/app/services/boards/base_items_list_service.rb
+++ b/app/services/boards/base_items_list_service.rb
@@ -136,11 +136,9 @@ def without_board_labels(items)
     end
     # rubocop: enable CodeReuse/ActiveRecord
 
-    # rubocop: disable CodeReuse/ActiveRecord
     def label_links(items, label_ids)
       labels_filter.label_link_query(items, label_ids: label_ids)
     end
-    # rubocop: enable CodeReuse/ActiveRecord
 
     # rubocop: disable CodeReuse/ActiveRecord
     def with_list_label(items)
diff --git a/app/services/ci/job_artifacts/destroy_batch_service.rb b/app/services/ci/job_artifacts/destroy_batch_service.rb
index 0622272d9aa6..f853ce97b602 100644
--- a/app/services/ci/job_artifacts/destroy_batch_service.rb
+++ b/app/services/ci/job_artifacts/destroy_batch_service.rb
@@ -24,7 +24,6 @@ def initialize(job_artifacts, pick_up_at: nil, skip_projects_on_refresh: false)
         @destroyed_ids = []
       end
 
-      # rubocop: disable CodeReuse/ActiveRecord
       def execute(update_stats: true)
         if @skip_projects_on_refresh
           exclude_artifacts_undergoing_stats_refresh
@@ -60,7 +59,6 @@ def execute(update_stats: true)
           statistics_updates: statistics_updates_per_project
         )
       end
-      # rubocop: enable CodeReuse/ActiveRecord
 
       private
 
diff --git a/app/services/ci/runners/bulk_delete_runners_service.rb b/app/services/ci/runners/bulk_delete_runners_service.rb
index b6b07746e619..dfaa0dfba913 100644
--- a/app/services/ci/runners/bulk_delete_runners_service.rb
+++ b/app/services/ci/runners/bulk_delete_runners_service.rb
@@ -45,13 +45,10 @@ def delete_runners
       end
 
       def compute_authorized_runners
-        # rubocop:disable CodeReuse/ActiveRecord
         @current_user.ci_owned_runners.load # preload the owned runners to avoid an N+1
         authorized_runners, unauthorized_runners =
           @runners.limit(RUNNER_LIMIT)
                   .partition { |runner| Ability.allowed?(@current_user, :delete_runner, runner) }
-        # rubocop:enable CodeReuse/ActiveRecord
-
         [authorized_runners.map(&:id), unauthorized_runners.map(&:id)]
       end
 
diff --git a/app/services/database/consistency_check_service.rb b/app/services/database/consistency_check_service.rb
index 63648810615b..564ddb849080 100644
--- a/app/services/database/consistency_check_service.rb
+++ b/app/services/database/consistency_check_service.rb
@@ -74,7 +74,6 @@ def next_start_id
       fetch_next_start_id || random_start_id
     end
 
-    # rubocop: disable CodeReuse/ActiveRecord
     def min_id
       @min_id ||= source_model.minimum(source_sort_column)
     end
@@ -82,7 +81,6 @@ def min_id
     def max_id
       @max_id ||= source_model.maximum(source_sort_column)
     end
-    # rubocop: enable CodeReuse/ActiveRecord
 
     def fetch_next_start_id
       Gitlab::Redis::SharedState.with { |redis| redis.get(cursor_redis_shared_state_key)&.to_i }
diff --git a/app/services/design_management/copy_design_collection/copy_service.rb b/app/services/design_management/copy_design_collection/copy_service.rb
index f1ec99a063be..486cb360b475 100644
--- a/app/services/design_management/copy_design_collection/copy_service.rb
+++ b/app/services/design_management/copy_design_collection/copy_service.rb
@@ -267,7 +267,6 @@ def copy_notes!(design_ids)
       end
       # rubocop: enable CodeReuse/ActiveRecord
 
-      # rubocop: disable CodeReuse/ActiveRecord
       def link_lfs_files!
         oids = blobs.values.flat_map(&:values).map(&:lfs_oid)
         repository_type = LfsObjectsProject.repository_types[:design]
@@ -292,7 +291,6 @@ def link_lfs_files!
           on_conflict: :do_nothing # Upsert
         )
       end
-      # rubocop: enable CodeReuse/ActiveRecord
 
       # Blob data is used to find the oids for LfsObjects and to copy to Git.
       # Blobs are reasonably small in memory, as their data are LFS Pointer files.
diff --git a/app/services/groups/destroy_service.rb b/app/services/groups/destroy_service.rb
index d961effb6693..fbf1ac051a1c 100644
--- a/app/services/groups/destroy_service.rb
+++ b/app/services/groups/destroy_service.rb
@@ -94,7 +94,6 @@ def obtain_user_ids_for_project_authorizations_refresh
       group.users_ids_of_direct_members
     end
 
-    # rubocop:disable CodeReuse/ActiveRecord
     def destroy_associated_users
       current_user_id = current_user.id
       bot_ids = users_to_destroy
@@ -105,7 +104,6 @@ def destroy_associated_users
         end
       end
     end
-    # rubocop:enable CodeReuse/ActiveRecord
 
     # rubocop:disable CodeReuse/ActiveRecord
     def users_to_destroy
diff --git a/app/services/groups/import_export/import_service.rb b/app/services/groups/import_export/import_service.rb
index 8bf5a6ed5cd9..1969c29121f7 100644
--- a/app/services/groups/import_export/import_service.rb
+++ b/app/services/groups/import_export/import_service.rb
@@ -53,12 +53,12 @@ def execute
       private
 
       def user_role
-        # rubocop:disable CodeReuse/ActiveRecord, Style/MultilineTernaryOperator
+        # rubocop:disable Style/MultilineTernaryOperator
         access_level = group.parent ?
           current_user&.group_members&.find_by(source_id: group.parent&.id)&.access_level :
           Gitlab::Access::OWNER
         Gitlab::Access.human_access(access_level)
-        # rubocop:enable CodeReuse/ActiveRecord, Style/MultilineTernaryOperator
+        # rubocop:enable Style/MultilineTernaryOperator
       end
 
       def import_file
diff --git a/app/services/import/placeholder_references/push_service.rb b/app/services/import/placeholder_references/push_service.rb
index 419d8d242ede..a5fbcfd35675 100644
--- a/app/services/import/placeholder_references/push_service.rb
+++ b/app/services/import/placeholder_references/push_service.rb
@@ -26,7 +26,9 @@ def from_record(import_source:, import_uid:, source_user:, record:, user_referen
         end
       end
 
-      def initialize(import_source:, import_uid:, source_user_id:, source_user_namespace_id:, model:, user_reference_column:, numeric_key: nil, composite_key: nil) # rubocop:disable Layout/LineLength -- Its easier to read being on one line
+      def initialize(
+        import_source:, import_uid:, source_user_id:, source_user_namespace_id:, model:,
+        user_reference_column:, numeric_key: nil, composite_key: nil)
         super(import_source: import_source, import_uid: import_uid)
 
         @reference = Import::SourceUserPlaceholderReference.new(
diff --git a/app/services/issuable_base_service.rb b/app/services/issuable_base_service.rb
index 6a1adfa50c76..20c34d96a8ab 100644
--- a/app/services/issuable_base_service.rb
+++ b/app/services/issuable_base_service.rb
@@ -272,7 +272,6 @@ def handle_description_updated(issuable)
     GraphqlTriggers.issuable_description_updated(issuable)
   end
 
-  # rubocop:disable Metrics/AbcSize -- Method is only slightly over the limit due to decomposition method
   def update(issuable)
     ::Gitlab::Database::LoadBalancing::SessionMap.current(issuable.load_balancer).use_primary!
 
@@ -352,7 +351,6 @@ def update(issuable)
 
     issuable
   end
-  # rubocop:enable Metrics/AbcSize
 
   # Overriden in child class
   def trigger_update_subscriptions(issuable, old_associations); end
diff --git a/app/services/issues/export_csv_service.rb b/app/services/issues/export_csv_service.rb
index 4e1a713c4962..538208ce29b0 100644
--- a/app/services/issues/export_csv_service.rb
+++ b/app/services/issues/export_csv_service.rb
@@ -50,11 +50,9 @@ def issue_labels(issue)
       @labels[issue.id]
     end
 
-    # rubocop: disable CodeReuse/ActiveRecord
     def issue_time_spent(issue)
       issue.timelogs.sum(&:time_spent)
     end
-    # rubocop: enable CodeReuse/ActiveRecord
 
     def preload_associations_in_batches?
       Feature.enabled?(:export_csv_preload_in_batches, resource_parent)
diff --git a/app/services/issues/referenced_merge_requests_service.rb b/app/services/issues/referenced_merge_requests_service.rb
index d8767f9a0b4e..f3544550c387 100644
--- a/app/services/issues/referenced_merge_requests_service.rb
+++ b/app/services/issues/referenced_merge_requests_service.rb
@@ -2,7 +2,6 @@
 
 module Issues
   class ReferencedMergeRequestsService < Issues::BaseService
-    # rubocop: disable CodeReuse/ActiveRecord
     def execute(issue)
       referenced = referenced_merge_requests(issue)
       closed_by = closed_by_merge_requests(issue)
@@ -14,7 +13,6 @@ def execute(issue)
 
       [sort_by_iid(referenced), sort_by_iid(closed_by)]
     end
-    # rubocop: enable CodeReuse/ActiveRecord
 
     def referenced_merge_requests(issue)
       merge_requests = extract_merge_requests(issue)
diff --git a/app/services/labels/transfer_service.rb b/app/services/labels/transfer_service.rb
index 993e565645a9..e98956410228 100644
--- a/app/services/labels/transfer_service.rb
+++ b/app/services/labels/transfer_service.rb
@@ -18,7 +18,6 @@ def execute
       # rubocop: disable CodeReuse/ActiveRecord
       link_ids = group_labels_applied_to_issues.pluck("label_links.id") +
         group_labels_applied_to_merge_requests.pluck("label_links.id")
-      # rubocop: disable CodeReuse/ActiveRecord
 
       Label.transaction do
         labels_to_transfer.find_each do |label|
@@ -36,7 +35,6 @@ def execute
 
     attr_reader :current_user, :old_group, :project
 
-    # rubocop: disable CodeReuse/ActiveRecord
     def labels_to_transfer
       Label
         .from_union([
diff --git a/app/services/members/projects/creator_service.rb b/app/services/members/projects/creator_service.rb
index f45132749f98..fa3e0f968eb3 100644
--- a/app/services/members/projects/creator_service.rb
+++ b/app/services/members/projects/creator_service.rb
@@ -23,10 +23,8 @@ def can_create_new_member?
       end
 
       def can_update_existing_member?
-        # rubocop:disable Layout/EmptyLineAfterGuardClause
         raise ::Gitlab::Access::AccessDeniedError if assigning_project_member_with_owner_access_level? &&
           cannot_assign_owner_responsibilities_to_member_in_project?
-        # rubocop:enable Layout/EmptyLineAfterGuardClause
 
         current_user.can?(:update_project_member, member)
       end
diff --git a/app/services/members/standard_member_builder.rb b/app/services/members/standard_member_builder.rb
index 24e71f80d7e9..7a1698d01343 100644
--- a/app/services/members/standard_member_builder.rb
+++ b/app/services/members/standard_member_builder.rb
@@ -17,7 +17,7 @@ def execute
     attr_reader :source, :invitee, :existing_members
 
     def find_or_initialize_member_by_user(user_id)
-      existing_members[user_id] || source.members_and_requesters.build(user_id: user_id) # rubocop:disable CodeReuse/ActiveRecord
+      existing_members[user_id] || source.members_and_requesters.build(user_id: user_id)
     end
   end
 end
diff --git a/app/services/packages/rpm/repository_metadata/build_xml_base_service.rb b/app/services/packages/rpm/repository_metadata/build_xml_base_service.rb
index 4dfb4087f1ba..746dd49afffe 100644
--- a/app/services/packages/rpm/repository_metadata/build_xml_base_service.rb
+++ b/app/services/packages/rpm/repository_metadata/build_xml_base_service.rb
@@ -8,7 +8,7 @@ def initialize(data)
         end
 
         def execute
-          builder = Nokogiri::XML::Builder.new { |xml| yield xml } # rubocop:disable Style/ExplicitBlockArgument
+          builder = Nokogiri::XML::Builder.new { |xml| yield xml }
 
           Nokogiri::XML(builder.to_xml).at('package')
         end
diff --git a/app/services/projects/auto_devops/disable_service.rb b/app/services/projects/auto_devops/disable_service.rb
index e10668ac9bd6..5fdba06b49f5 100644
--- a/app/services/projects/auto_devops/disable_service.rb
+++ b/app/services/projects/auto_devops/disable_service.rb
@@ -21,12 +21,10 @@ def implicitly_enabled_and_first_pipeline_failure?
       # is an expensive operation. See
       # https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/21172#note_99037378
       # for more context.
-      # rubocop: disable CodeReuse/ActiveRecord
       def first_pipeline_failure?
         auto_devops_pipelines.success.limit(1).count == 0 &&
           auto_devops_pipelines.failed.limit(1).count.nonzero?
       end
-      # rubocop: enable CodeReuse/ActiveRecord
 
       def disable_auto_devops
         project.auto_devops_attributes = { enabled: false }
diff --git a/app/services/projects/open_issues_count_service.rb b/app/services/projects/open_issues_count_service.rb
index d31f4596fa5c..55ffbbbb8c9b 100644
--- a/app/services/projects/open_issues_count_service.rb
+++ b/app/services/projects/open_issues_count_service.rb
@@ -61,7 +61,6 @@ def refresh_cache(&block)
     # This will still show a discrepancy on issues number but should be less than before.
     # Check https://gitlab.com/gitlab-org/gitlab-foss/issues/38418 description.
 
-    # rubocop: disable CodeReuse/ActiveRecord
     def self.query(projects, public_only: true)
       open_issues = Issue.opened
 
diff --git a/app/services/releases/create_service.rb b/app/services/releases/create_service.rb
index 7063fa8447b7..815a640983bc 100644
--- a/app/services/releases/create_service.rb
+++ b/app/services/releases/create_service.rb
@@ -6,8 +6,18 @@ def execute
       return error(_('Access Denied'), 403) unless allowed?
       return error(_('You are not allowed to create this tag as it is protected.'), 403) unless can_create_tag?
       return error(_('Release already exists'), 409) if release
-      return error(format(_("Milestone(s) not found: %{milestones}"), milestones: inexistent_milestone_titles.join(', ')), 400) if inexistent_milestone_titles.any? # rubocop:disable Layout/LineLength
-      return error(format(_("Milestone id(s) not found: %{milestones}"), milestones: inexistent_milestone_ids.join(', ')), 400) if inexistent_milestone_ids.any? # rubocop:disable Layout/LineLength
+
+      if inexistent_milestone_titles.any?
+        return error(
+          format(_("Milestone(s) not found: %{milestones}"),
+            milestones: inexistent_milestone_titles.join(', ')), 400)
+      end
+
+      if inexistent_milestone_ids.any?
+        return error(
+          format(_("Milestone id(s) not found: %{milestones}"),
+            milestones: inexistent_milestone_ids.join(', ')), 400)
+      end
 
       # should be found before the creation of new tag
       # because tag creation can spawn new pipeline
diff --git a/app/services/releases/update_service.rb b/app/services/releases/update_service.rb
index 13ece1c10c8e..ed1706a26de6 100644
--- a/app/services/releases/update_service.rb
+++ b/app/services/releases/update_service.rb
@@ -37,8 +37,18 @@ def validate
       return error(_('Release does not exist'), 404) unless release
       return error(_('Access Denied'), 403) unless allowed?
       return error(_('params is empty'), 400) if empty_params?
-      return error(format(_("Milestone(s) not found: %{milestones}"), milestones: inexistent_milestone_titles.join(', ')), 400) if inexistent_milestone_titles.any? # rubocop:disable Layout/LineLength
-      return error(format(_("Milestone id(s) not found: %{milestones}"), milestones: inexistent_milestone_ids.join(', ')), 400) if inexistent_milestone_ids.any? # rubocop:disable Layout/LineLength
+
+      if inexistent_milestone_titles.any?
+        return error(
+          format(_("Milestone(s) not found: %{milestones}"),
+            milestones: inexistent_milestone_titles.join(', ')), 400)
+      end
+
+      return unless inexistent_milestone_ids.any?
+
+      return error(
+        format(_("Milestone id(s) not found: %{milestones}"),
+          milestones: inexistent_milestone_ids.join(', ')), 400)
     end
 
     def allowed?
diff --git a/app/services/users/activate_service.rb b/app/services/users/activate_service.rb
index 9453760ea103..05603d270c92 100644
--- a/app/services/users/activate_service.rb
+++ b/app/services/users/activate_service.rb
@@ -55,4 +55,4 @@ def error(message, reason)
   end
 end
 
-Users::ActivateService.prepend_mod_with('Users::ActivateService') # rubocop: disable Cop/InjectEnterpriseEditionModule
+Users::ActivateService.prepend_mod_with('Users::ActivateService')
diff --git a/app/services/web_hook_service.rb b/app/services/web_hook_service.rb
index 9659a871c7fd..73c27d32a0e3 100644
--- a/app/services/web_hook_service.rb
+++ b/app/services/web_hook_service.rb
@@ -234,13 +234,11 @@ def build_custom_headers(values_redacted: false)
   # Make response headers more stylish
   # Net::HTTPHeader has downcased hash with arrays: { 'content-type' => ['text/html; charset=utf-8'] }
   # This method format response to capitalized hash with strings: { 'Content-Type' => 'text/html; charset=utf-8' }
-  # rubocop:disable Style/HashTransformValues
   def safe_response_headers(response)
     response.headers.each_capitalized.first(RESPONSE_HEADERS_COUNT_LIMIT).to_h do |header_key, header_value|
       [enforce_utf8(header_key), string_size_limit(enforce_utf8(header_value), RESPONSE_HEADERS_SIZE_LIMIT)]
     end
   end
-  # rubocop:enable Style/HashTransformValues
 
   def safe_response_body(response)
     return '' unless response.body
diff --git a/app/uploaders/object_storage/cdn/google_ip_cache.rb b/app/uploaders/object_storage/cdn/google_ip_cache.rb
index 35ec7ce0c6ea..eda799b0d03d 100644
--- a/app/uploaders/object_storage/cdn/google_ip_cache.rb
+++ b/app/uploaders/object_storage/cdn/google_ip_cache.rb
@@ -1,4 +1,3 @@
-# rubocop:disable Naming/FileName
 # frozen_string_literal: true
 
 module ObjectStorage
@@ -56,5 +55,3 @@ def cached_value(key)
     end
   end
 end
-
-# rubocop:enable Naming/FileName
diff --git a/app/workers/concerns/application_worker.rb b/app/workers/concerns/application_worker.rb
index 7fddd0fe77a3..3fce1b18d6d1 100644
--- a/app/workers/concerns/application_worker.rb
+++ b/app/workers/concerns/application_worker.rb
@@ -2,7 +2,7 @@
 
 require 'sidekiq/api'
 
-Sidekiq::Worker.extend ActiveSupport::Concern # rubocop:disable Cop/SidekiqApiUsage
+Sidekiq::Worker.extend ActiveSupport::Concern
 
 module ApplicationWorker
   extend ActiveSupport::Concern
@@ -125,7 +125,7 @@ def set_queue
       sidekiq_options queue: queue_name # rubocop:disable Cop/SidekiqOptionsQueue
 
       store_name = ::Gitlab::SidekiqConfig::WorkerRouter.global.store(self)
-      sidekiq_options store: store_name # rubocop:disable Cop/SidekiqOptionsQueue
+      sidekiq_options store: store_name
     end
 
     def queue_namespace(new_namespace = nil)
diff --git a/app/workers/create_note_diff_file_worker.rb b/app/workers/create_note_diff_file_worker.rb
index c5b5e1cef411..a9b654a30ff5 100644
--- a/app/workers/create_note_diff_file_worker.rb
+++ b/app/workers/create_note_diff_file_worker.rb
@@ -12,7 +12,7 @@ class CreateNoteDiffFileWorker # rubocop:disable Scalability/IdempotentWorker
   def perform(diff_note_id)
     return unless diff_note_id.present?
 
-    diff_note = DiffNote.find_by_id(diff_note_id) # rubocop: disable CodeReuse/ActiveRecord
+    diff_note = DiffNote.find_by_id(diff_note_id)
 
     diff_note&.create_diff_file
   end
diff --git a/app/workers/database/batched_background_migration/execution_worker.rb b/app/workers/database/batched_background_migration/execution_worker.rb
index 75798f0ab73d..b4849c58a41c 100644
--- a/app/workers/database/batched_background_migration/execution_worker.rb
+++ b/app/workers/database/batched_background_migration/execution_worker.rb
@@ -30,7 +30,7 @@ def perform_with_capacity(args)
           worker = new
           worker.remove_failed_jobs
 
-          bulk_perform_async(args) # rubocop:disable Scalability/BulkPerformWithContext
+          bulk_perform_async(args)
         end
       end
 
diff --git a/app/workers/import_issues_csv_worker.rb b/app/workers/import_issues_csv_worker.rb
index fe5b1c13d569..ac3c736a88f0 100644
--- a/app/workers/import_issues_csv_worker.rb
+++ b/app/workers/import_issues_csv_worker.rb
@@ -1,6 +1,6 @@
 # frozen_string_literal: true
 
-class ImportIssuesCsvWorker # rubocop:disable Scalability/IdempotentWorker
+class ImportIssuesCsvWorker
   include ApplicationWorker
 
   data_consistency :always
diff --git a/app/workers/incident_management/process_alert_worker_v2.rb b/app/workers/incident_management/process_alert_worker_v2.rb
index 12434671527b..f29fae31c502 100644
--- a/app/workers/incident_management/process_alert_worker_v2.rb
+++ b/app/workers/incident_management/process_alert_worker_v2.rb
@@ -1,7 +1,7 @@
 # frozen_string_literal: true
 
 module IncidentManagement
-  class ProcessAlertWorkerV2 # rubocop:disable Scalability/IdempotentWorker
+  class ProcessAlertWorkerV2
     include ApplicationWorker
 
     data_consistency :always
diff --git a/app/workers/members/expiring_email_notification_worker.rb b/app/workers/members/expiring_email_notification_worker.rb
index 7edb68c525c9..198e47275763 100644
--- a/app/workers/members/expiring_email_notification_worker.rb
+++ b/app/workers/members/expiring_email_notification_worker.rb
@@ -1,7 +1,7 @@
 # frozen_string_literal: true
 
 module Members
-  class ExpiringEmailNotificationWorker # rubocop:disable Scalability/CronWorkerContext
+  class ExpiringEmailNotificationWorker
     include ApplicationWorker
 
     data_consistency :always
diff --git a/app/workers/merge_worker.rb b/app/workers/merge_worker.rb
index 8fc9b14aab38..6eecb908f0fc 100644
--- a/app/workers/merge_worker.rb
+++ b/app/workers/merge_worker.rb
@@ -1,6 +1,6 @@
 # frozen_string_literal: true
 
-class MergeWorker # rubocop:disable Scalability/IdempotentWorker
+class MergeWorker
   include ApplicationWorker
 
   data_consistency :always
diff --git a/app/workers/new_merge_request_worker.rb b/app/workers/new_merge_request_worker.rb
index a11f26088b38..e15292bd866d 100644
--- a/app/workers/new_merge_request_worker.rb
+++ b/app/workers/new_merge_request_worker.rb
@@ -1,6 +1,6 @@
 # frozen_string_literal: true
 
-class NewMergeRequestWorker # rubocop:disable Scalability/IdempotentWorker
+class NewMergeRequestWorker
   include ApplicationWorker
   include NewIssuable
 
diff --git a/app/workers/remove_unaccepted_member_invites_worker.rb b/app/workers/remove_unaccepted_member_invites_worker.rb
index 96f60b5fa12a..8697006d99e2 100644
--- a/app/workers/remove_unaccepted_member_invites_worker.rb
+++ b/app/workers/remove_unaccepted_member_invites_worker.rb
@@ -1,6 +1,6 @@
 # frozen_string_literal: true
 
-class RemoveUnacceptedMemberInvitesWorker # rubocop:disable Scalability/IdempotentWorker
+class RemoveUnacceptedMemberInvitesWorker
   include ApplicationWorker
 
   data_consistency :always
diff --git a/config/initializers/fog_google_list_objects_match_glob_support.rb b/config/initializers/fog_google_list_objects_match_glob_support.rb
index 37eacf337432..d7d2c39857ab 100644
--- a/config/initializers/fog_google_list_objects_match_glob_support.rb
+++ b/config/initializers/fog_google_list_objects_match_glob_support.rb
@@ -28,12 +28,10 @@ def list_objects(bucket, options = {})
           )
           # rubocop: enable Style/PercentLiteralDelimiters
 
-          # rubocop: disable Gitlab/ModuleWithInstanceVariables -- this is an exact copy of the original method
           @storage_json.list_objects(
             bucket,
             **options.select { |k, _| allowed_opts.include? k }
           )
-          # rubocop: enable Gitlab/ModuleWithInstanceVariables
         end
       end
     end
diff --git a/config/initializers/grape_validators.rb b/config/initializers/grape_validators.rb
index 6fb689d454ae..335c3599c6ea 100644
--- a/config/initializers/grape_validators.rb
+++ b/config/initializers/grape_validators.rb
@@ -11,7 +11,9 @@
 Grape::Validations.register_validator(:email_or_email_list, ::API::Validations::Validators::EmailOrEmailList)
 Grape::Validations.register_validator(:iteration_id, ::API::Validations::Validators::IntegerOrCustomValue)
 Grape::Validations.register_validator(:project_portable, ::API::Validations::Validators::ProjectPortable)
-Grape::Validations.register_validator(:destination_namespace_path, ::API::Validations::Validators::BulkImports::DestinationNamespacePath) # rubocop: disable Layout/LineLength
-Grape::Validations.register_validator(:destination_slug_path, ::API::Validations::Validators::BulkImports::DestinationSlugPath) # rubocop: disable Layout/LineLength
+Grape::Validations.register_validator(:destination_namespace_path,
+  ::API::Validations::Validators::BulkImports::DestinationNamespacePath)
+Grape::Validations.register_validator(:destination_slug_path,
+  ::API::Validations::Validators::BulkImports::DestinationSlugPath)
 Grape::Validations.register_validator(:source_full_path, ::API::Validations::Validators::BulkImports::SourceFullPath)
 Grape::Validations.register_validator(:limit, ::API::Validations::Validators::Limit)
diff --git a/config/initializers/sprockets_patch.rb b/config/initializers/sprockets_patch.rb
index 76474b370bef..b14b2edeef39 100644
--- a/config/initializers/sprockets_patch.rb
+++ b/config/initializers/sprockets_patch.rb
@@ -12,9 +12,6 @@
   raise 'New version of Sprockets detected. This patch can likely be removed.'
 end
 
-# rubocop:disable Style/CombinableLoops -- Keep the format consistent with upstream project
-# rubocop:disable Cop/LineBreakAroundConditionalBlock -- Keep the format consistent with upstream project
-# rubocop:disable Style/IfUnlessModifier -- Keep the format consistent with upstream project
 # rubocop:disable Style/SoleNestedConditional -- Keep the format consistent with upstream project
 module Sprockets
   module Utils
@@ -57,7 +54,4 @@ def module_include(base, mod)
     end
   end
 end
-# rubocop:enable Style/CombinableLoops
-# rubocop:enable Cop/LineBreakAroundConditionalBlock
-# rubocop:enable Style/IfUnlessModifier
 # rubocop:enable Style/SoleNestedConditional
diff --git a/config/initializers/wikicloth_redos_patch.rb b/config/initializers/wikicloth_redos_patch.rb
index 98afe000e5be..f54d9659a7d7 100644
--- a/config/initializers/wikicloth_redos_patch.rb
+++ b/config/initializers/wikicloth_redos_patch.rb
@@ -68,14 +68,11 @@
 # rubocop:disable Layout/BlockEndNewline
 # rubocop:disable Style/PerlBackrefs
 # rubocop:disable Style/RegexpLiteralMixedPreserve
-# rubocop:disable Style/RedundantRegexpCharacterClass
 # rubocop:disable Performance/StringInclude
 # rubocop:disable Layout/LineLength
 # rubocop:disable Style/RedundantSelf
 # rubocop:disable Style/SymbolProc
 # rubocop:disable Layout/SpaceInsideParens
-# rubocop:disable Style/GuardClause
-# rubocop:disable Style/RedundantRegexpEscape
 module WikiCloth
   class WikiCloth
     def render(opt={})
@@ -249,11 +246,8 @@ def to_html
 # rubocop:enable Layout/BlockEndNewline
 # rubocop:enable Style/PerlBackrefs
 # rubocop:enable Style/RegexpLiteralMixedPreserve
-# rubocop:enable Style/RedundantRegexpCharacterClass
 # rubocop:enable Performance/StringInclude
 # rubocop:enable Layout/LineLength
 # rubocop:enable Style/RedundantSelf
 # rubocop:enable Style/SymbolProc
 # rubocop:enable Layout/SpaceInsideParens
-# rubocop:enable Style/GuardClause
-# rubocop:enable Style/RedundantRegexpEscape
diff --git a/config/initializers/wikicloth_ruby_3_patch.rb b/config/initializers/wikicloth_ruby_3_patch.rb
index 04e5b50b7c99..1dd60ebbbe32 100644
--- a/config/initializers/wikicloth_ruby_3_patch.rb
+++ b/config/initializers/wikicloth_ruby_3_patch.rb
@@ -56,18 +56,14 @@
 # rubocop:disable Layout/EmptyLineAfterGuardClause
 # rubocop:disable Performance/ReverseEach
 # rubocop:disable Style/PerlBackrefs
-# rubocop:disable Style/RedundantRegexpCharacterClass
 # rubocop:disable Performance/StringInclude
 # rubocop:disable Style/IfUnlessModifier
 # rubocop:disable Layout/LineLength
-# rubocop:disable Lint/DeprecatedClassMethods
 # rubocop:disable Lint/UselessAssignment
 # rubocop:disable Lint/RedundantStringCoercion
 # rubocop:disable Style/StringLiteralsInInterpolation
-# rubocop:disable Lint/UriEscapeUnescape
 # rubocop:disable Style/For
 # rubocop:disable Style/SlicingWithRange
-# rubocop:disable Style/GuardClause
 # rubocop:disable Cop/LineBreakAfterGuardClauses
 # rubocop:disable Layout/MultilineHashBraceLayout
 module WikiCloth
@@ -254,17 +250,13 @@ def default_functions(name,params)
 # rubocop:enable Layout/EmptyLineAfterGuardClause
 # rubocop:enable Performance/ReverseEach
 # rubocop:enable Style/PerlBackrefs
-# rubocop:enable Style/RedundantRegexpCharacterClass
 # rubocop:enable Performance/StringInclude
 # rubocop:enable Style/IfUnlessModifier
 # rubocop:enable Layout/LineLength
-# rubocop:enable Lint/DeprecatedClassMethods
 # rubocop:enable Lint/UselessAssignment
 # rubocop:enable Lint/RedundantStringCoercion
 # rubocop:enable Style/StringLiteralsInInterpolation
-# rubocop:enable Lint/UriEscapeUnescape
 # rubocop:enable Style/For
 # rubocop:enable Style/SlicingWithRange
-# rubocop:enable Style/GuardClause
 # rubocop:enable Cop/LineBreakAfterGuardClauses
 # rubocop:enable Layout/MultilineHashBraceLayout
diff --git a/config/routes/api.rb b/config/routes/api.rb
index 61a0455ecc0d..3d863b692cbc 100644
--- a/config/routes/api.rb
+++ b/config/routes/api.rb
@@ -3,5 +3,5 @@
 match '/api/graphql', via: [:get, :post], to: 'graphql#execute'
 get '/-/graphql-explorer', to: API::Graphql::GraphqlExplorerController.action(:show)
 
-::API::API.logger Rails.logger # rubocop:disable Gitlab/RailsLogger
+::API::API.logger Rails.logger
 mount ::API::API => '/'
diff --git a/ee/app/controllers/ee/admin/application_settings_controller.rb b/ee/app/controllers/ee/admin/application_settings_controller.rb
index baae7810e9d3..d6961d16ba56 100644
--- a/ee/app/controllers/ee/admin/application_settings_controller.rb
+++ b/ee/app/controllers/ee/admin/application_settings_controller.rb
@@ -230,7 +230,7 @@ def push_password_complexity_feature
       end
 
       def new_license
-        @new_license ||= License.new(data: params[:trial_key]) # rubocop:disable Gitlab/ModuleWithInstanceVariables
+        @new_license ||= License.new(data: params[:trial_key])
       end
 
       def sync_cloud_connector_access_data
diff --git a/ee/app/controllers/ee/groups/group_members_controller.rb b/ee/app/controllers/ee/groups/group_members_controller.rb
index 93917a7fa0a4..3a4826fa3bc8 100644
--- a/ee/app/controllers/ee/groups/group_members_controller.rb
+++ b/ee/app/controllers/ee/groups/group_members_controller.rb
@@ -44,8 +44,6 @@ def index
         # rubocop:enable Gitlab/ModuleWithInstanceVariables
       end
 
-      # rubocop:disable Gitlab/ModuleWithInstanceVariables
-      # rubocop: disable CodeReuse/ActiveRecord
       def override
         member = membershipable_members.find(params[:id])
 
@@ -61,8 +59,6 @@ def override
           end
         end
       end
-      # rubocop: enable CodeReuse/ActiveRecord
-      # rubocop:enable Gitlab/ModuleWithInstanceVariables
 
       def export_csv
         return render_404 unless current_user.can?(:export_group_memberships, group)
@@ -162,7 +158,7 @@ def banned_members(params: {})
         # User bans are enforced at the top-level group. Here, we return all
         # members of the group hierarchy that are banned from the top-level
         # group
-        @banned_members ||= ::GroupMembersFinder # rubocop:disable Gitlab/ModuleWithInstanceVariables
+        @banned_members ||= ::GroupMembersFinder
           .new(group, current_user, params: params)
           .execute(include_relations: %i[direct descendants])
           .banned_from(group)
diff --git a/ee/app/controllers/groups/analytics/productivity_analytics_controller.rb b/ee/app/controllers/groups/analytics/productivity_analytics_controller.rb
index b9293202fd46..164ffb45cf1c 100644
--- a/ee/app/controllers/groups/analytics/productivity_analytics_controller.rb
+++ b/ee/app/controllers/groups/analytics/productivity_analytics_controller.rb
@@ -100,7 +100,6 @@ def productivity_analytics
     @productivity_analytics ||= ProductivityAnalytics.new(merge_requests: finder.execute, sort: params[:sort])
   end
 
-  # rubocop: disable CodeReuse/ActiveRecord
   def include_relations(paginated_mrs)
     # Due to Rails bug: https://github.com/rails/rails/issues/34889 we can't use .includes statement
     # to avoid N+1 call when we load custom columns.
@@ -111,7 +110,6 @@ def include_relations(paginated_mrs)
     ).call
     paginated_mrs
   end
-  # rubocop: enable CodeReuse/ActiveRecord
 
   def tracking_namespace_source
     @group
diff --git a/ee/app/controllers/groups/todos_controller.rb b/ee/app/controllers/groups/todos_controller.rb
index e174d8302f29..9c48c9841a84 100644
--- a/ee/app/controllers/groups/todos_controller.rb
+++ b/ee/app/controllers/groups/todos_controller.rb
@@ -10,7 +10,6 @@ class Groups::TodosController < Groups::ApplicationController
 
   private
 
-  # rubocop: disable CodeReuse/ActiveRecord
   def issuable
     strong_memoize(:epic) do
       next if params[:issuable_type] != 'epic'
@@ -18,5 +17,4 @@ def issuable
       EpicsFinder.new(current_user, group_id: @group.id).find(params[:issuable_id])
     end
   end
-  # rubocop: enable CodeReuse/ActiveRecord
 end
diff --git a/ee/app/graphql/resolvers/analytics/contribution_analytics/contributions_resolver.rb b/ee/app/graphql/resolvers/analytics/contribution_analytics/contributions_resolver.rb
index 5548d3b08d3f..5a781f04cca1 100644
--- a/ee/app/graphql/resolvers/analytics/contribution_analytics/contributions_resolver.rb
+++ b/ee/app/graphql/resolvers/analytics/contribution_analytics/contributions_resolver.rb
@@ -9,14 +9,11 @@ class ContributionsResolver < BaseResolver
         NUMBER_OF_DAYS = 93
         MAX_RANGE = NUMBER_OF_DAYS.days.freeze
 
-        # rubocop:disable Layout/LineLength
         argument :from, GraphQL::Types::ISO8601Date, required: true,
           description: 'Start date of the reporting time range.'
         argument :to, GraphQL::Types::ISO8601Date, required: true,
           description: 'End date of the reporting time range. ' \
           "The end date must be within #{NUMBER_OF_DAYS} days after the start date."
-        # rubocop:enable Layout/LineLength
-
         max_page_size 500
         default_page_size 500
 
diff --git a/ee/app/graphql/types/boards/epic_list_type.rb b/ee/app/graphql/types/boards/epic_list_type.rb
index 0d5d156d87ec..49d0363d3248 100644
--- a/ee/app/graphql/types/boards/epic_list_type.rb
+++ b/ee/app/graphql/types/boards/epic_list_type.rb
@@ -69,7 +69,7 @@ def params
 
       def title
         BatchLoader::GraphQL.for(object).batch do |lists, callback|
-          ActiveRecord::Associations::Preloader.new(records: lists, associations: :label).call # rubocop: disable CodeReuse/ActiveRecord
+          ActiveRecord::Associations::Preloader.new(records: lists, associations: :label).call
 
           # all list titles are preloaded at this point
           lists.each { |list| callback.call(list, list.title) }
diff --git a/ee/app/graphql/types/ci/minutes/namespace_monthly_usage_type.rb b/ee/app/graphql/types/ci/minutes/namespace_monthly_usage_type.rb
index 6dfbd15361d8..1cff8edb8501 100644
--- a/ee/app/graphql/types/ci/minutes/namespace_monthly_usage_type.rb
+++ b/ee/app/graphql/types/ci/minutes/namespace_monthly_usage_type.rb
@@ -3,7 +3,6 @@
 module Types
   module Ci
     module Minutes
-      # rubocop: disable Graphql/AuthorizeTypes
       # this type only exposes data related to the current user
       class NamespaceMonthlyUsageType < BaseObject
         graphql_name 'CiMinutesNamespaceMonthlyUsage'
diff --git a/ee/app/graphql/types/incident_management/oncall_rotation_active_period_input_type.rb b/ee/app/graphql/types/incident_management/oncall_rotation_active_period_input_type.rb
index 28af93cf6239..1d525b11066c 100644
--- a/ee/app/graphql/types/incident_management/oncall_rotation_active_period_input_type.rb
+++ b/ee/app/graphql/types/incident_management/oncall_rotation_active_period_input_type.rb
@@ -2,7 +2,6 @@
 
 module Types
   module IncidentManagement
-    # rubocop: disable Graphql/AuthorizeTypes
     class OncallRotationActivePeriodInputType < BaseInputObject
       graphql_name 'OncallRotationActivePeriodInputType'
       description 'Active period time range for on-call rotation'
@@ -15,6 +14,5 @@ class OncallRotationActivePeriodInputType < BaseInputObject
         required: true,
         description: 'End of the rotation active period in 24 hour format. For example, "18:30".'
     end
-    # rubocop: enable Graphql/AuthorizeTypes
   end
 end
diff --git a/ee/app/graphql/types/product_analytics/category_enum.rb b/ee/app/graphql/types/product_analytics/category_enum.rb
index 59af047239a5..b3fbd82d94f5 100644
--- a/ee/app/graphql/types/product_analytics/category_enum.rb
+++ b/ee/app/graphql/types/product_analytics/category_enum.rb
@@ -1,6 +1,5 @@
 # frozen_string_literal: true
 
-# rubocop:disable Graphql/AuthorizeTypes
 module Types
   module ProductAnalytics
     class CategoryEnum < BaseEnum
@@ -11,4 +10,3 @@ class CategoryEnum < BaseEnum
     end
   end
 end
-# rubocop:enable Graphql/AuthorizeTypes
diff --git a/ee/app/graphql/types/product_analytics/state_enum.rb b/ee/app/graphql/types/product_analytics/state_enum.rb
index 43c461d33082..64e92a274090 100644
--- a/ee/app/graphql/types/product_analytics/state_enum.rb
+++ b/ee/app/graphql/types/product_analytics/state_enum.rb
@@ -1,6 +1,5 @@
 # frozen_string_literal: true
 
-# rubocop:disable Graphql/AuthorizeTypes
 module Types
   module ProductAnalytics
     class StateEnum < BaseEnum
@@ -14,4 +13,3 @@ class StateEnum < BaseEnum
     end
   end
 end
-# rubocop:enable Graphql/AuthorizeTypes
diff --git a/ee/app/graphql/types/sbom/source_type_enum.rb b/ee/app/graphql/types/sbom/source_type_enum.rb
index 5144e76093d0..07f26a2ef6f4 100644
--- a/ee/app/graphql/types/sbom/source_type_enum.rb
+++ b/ee/app/graphql/types/sbom/source_type_enum.rb
@@ -1,7 +1,5 @@
 # frozen_string_literal: true
 
-# rubocop:disable Gitlab/BoundedContexts -- TODO: https://gitlab.com/gitlab-org/gitlab/-/issues/460756
-
 module Types
   module Sbom
     class SourceTypeEnum < BaseEnum
@@ -20,4 +18,3 @@ class SourceTypeEnum < BaseEnum
     end
   end
 end
-# rubocop:enable Gitlab/BoundedContexts
diff --git a/ee/app/graphql/types/scan_type.rb b/ee/app/graphql/types/scan_type.rb
index f4ea53e35ca3..df706c28657a 100644
--- a/ee/app/graphql/types/scan_type.rb
+++ b/ee/app/graphql/types/scan_type.rb
@@ -1,7 +1,6 @@
 # frozen_string_literal: true
 
 module Types
-  # rubocop: disable Graphql/AuthorizeTypes
   class ScanType < BaseObject
     graphql_name 'Scan'
     description 'Represents the security scan information'
diff --git a/ee/app/graphql/types/vulnerability_request_type.rb b/ee/app/graphql/types/vulnerability_request_type.rb
index d45b4891621a..fa2bc0e2d23b 100644
--- a/ee/app/graphql/types/vulnerability_request_type.rb
+++ b/ee/app/graphql/types/vulnerability_request_type.rb
@@ -14,7 +14,7 @@ class VulnerabilityRequestType < BaseObject
     # the `resolver_method` instead, however, there's a rubocop rule which forces us to use the `hash_key`
     # method, so we need to disable this rule until the previously mentioned bug is fixed.
     field :method, GraphQL::Types::String,
-      null: true, # rubocop: disable GraphQL/FieldHashKey
+      null: true,
       # this is necessary to avoid the error "VulnerabilityRequest's `field :method` conflicts with a built-in method"
       resolver_method: :resolve_method,
       description: 'Method of the Vulnerability Request.'
diff --git a/ee/app/helpers/ee/boards_helper.rb b/ee/app/helpers/ee/boards_helper.rb
index 85c96c9dd0c2..b7efac0cc5a9 100644
--- a/ee/app/helpers/ee/boards_helper.rb
+++ b/ee/app/helpers/ee/boards_helper.rb
@@ -4,7 +4,6 @@ module EE
   module BoardsHelper
     extend ::Gitlab::Utils::Override
 
-    # rubocop:disable Metrics/AbcSize
     override :board_data
     def board_data
       show_feature_promotion = @project && show_promotions? &&
@@ -50,7 +49,6 @@ def group_level_features
         sub_epics_feature_available: current_board_namespace.feature_available?(:subepics).to_s
       }
     end
-    # rubocop:enable Metrics/AbcSize
 
     def can_create_epic?
       return can?(current_user, :create_epic, current_board_namespace).to_s if board.is_a?(::Boards::EpicBoard)
diff --git a/ee/app/helpers/projects/on_demand_scans_helper.rb b/ee/app/helpers/projects/on_demand_scans_helper.rb
index fb4776794bef..0204e683f195 100644
--- a/ee/app/helpers/projects/on_demand_scans_helper.rb
+++ b/ee/app/helpers/projects/on_demand_scans_helper.rb
@@ -1,7 +1,6 @@
 # frozen_string_literal: true
 
 module Projects::OnDemandScansHelper
-  # rubocop: disable CodeReuse/ActiveRecord
   def on_demand_scans_data(current_user, project)
     pipelines_counter = Gitlab::PipelineScopeCounts.new(current_user, project, {
       source: "ondemand_dast_scan"
@@ -24,7 +23,6 @@ def on_demand_scans_data(current_user, project)
       'can-edit-on-demand-scans' => can?(current_user, :edit_on_demand_dast_scan, project).to_s
     })
   end
-  # rubocop: enable CodeReuse/ActiveRecord
 
   def on_demand_scans_form_data(project)
     common_data(project).merge({
diff --git a/ee/app/models/ai/ai_resource/concerns/noteable.rb b/ee/app/models/ai/ai_resource/concerns/noteable.rb
index a0f2ad0ec41b..414504d56361 100644
--- a/ee/app/models/ai/ai_resource/concerns/noteable.rb
+++ b/ee/app/models/ai/ai_resource/concerns/noteable.rb
@@ -14,7 +14,7 @@ def notes_with_limit(notes_limit:)
           sum_of_length = 0
 
           limited_notes.each_batch(of: 500) do |batch|
-            batch.fresh.pluck(:note).each do |note| # rubocop: disable CodeReuse/ActiveRecord
+            batch.fresh.pluck(:note).each do |note|
               sum_of_length += note.size
               break notes_content if sum_of_length >= notes_limit
 
diff --git a/ee/app/models/approver.rb b/ee/app/models/approver.rb
index f08c2debaeba..1d36b0535e82 100644
--- a/ee/app/models/approver.rb
+++ b/ee/app/models/approver.rb
@@ -1,7 +1,7 @@
 # frozen_string_literal: true
 
 class Approver < ApplicationRecord
-  belongs_to :target, polymorphic: true # rubocop:disable Cop/PolymorphicAssociations
+  belongs_to :target, polymorphic: true
   belongs_to :user
 
   include ApproverMigrateHook
diff --git a/ee/app/models/approver_group.rb b/ee/app/models/approver_group.rb
index 2516a352efc0..e22752e05103 100644
--- a/ee/app/models/approver_group.rb
+++ b/ee/app/models/approver_group.rb
@@ -1,7 +1,7 @@
 # frozen_string_literal: true
 
 class ApproverGroup < ApplicationRecord
-  belongs_to :target, polymorphic: true # rubocop:disable Cop/PolymorphicAssociations
+  belongs_to :target, polymorphic: true
   belongs_to :group
 
   include ApproverMigrateHook
diff --git a/ee/app/models/dast/branch.rb b/ee/app/models/dast/branch.rb
index 6cd3164eb5ad..1b87896b2e28 100644
--- a/ee/app/models/dast/branch.rb
+++ b/ee/app/models/dast/branch.rb
@@ -1,4 +1,3 @@
-# rubocop:disable Naming/FileName
 # frozen_string_literal: true
 
 module Dast
@@ -14,5 +13,3 @@ def exists
     end
   end
 end
-
-# rubocop:enable Naming/FileName
diff --git a/ee/app/models/ee/epic.rb b/ee/app/models/ee/epic.rb
index 7f1c85f2de71..2a9cde8c47d6 100644
--- a/ee/app/models/ee/epic.rb
+++ b/ee/app/models/ee/epic.rb
@@ -76,7 +76,7 @@ module Epic
 
       has_many :epic_issues
       has_many :issues, through: :epic_issues
-      has_many :user_mentions, class_name: "EpicUserMention", dependent: :delete_all # rubocop:disable Cop/ActiveRecordDependent
+      has_many :user_mentions, class_name: "EpicUserMention", dependent: :delete_all
       has_many :boards_epic_user_preferences, class_name: 'Boards::EpicUserPreference', inverse_of: :epic
       has_many :epic_board_positions, class_name: 'Boards::EpicBoardPosition', foreign_key: :epic_id, inverse_of: :epic
 
diff --git a/ee/app/models/ee/group.rb b/ee/app/models/ee/group.rb
index 4e6420676cb4..f9c4db493290 100644
--- a/ee/app/models/ee/group.rb
+++ b/ee/app/models/ee/group.rb
@@ -57,7 +57,7 @@ module Group
         foreign_key: 'namespace_id',
         inverse_of: :group
 
-      has_many :ldap_group_links, foreign_key: 'group_id', dependent: :destroy # rubocop:disable Cop/ActiveRecordDependent
+      has_many :ldap_group_links, foreign_key: 'group_id', dependent: :destroy
       has_many :saml_group_links, foreign_key: 'group_id'
       has_many :hooks, class_name: 'GroupHook'
 
diff --git a/ee/app/models/ee/merge_request.rb b/ee/app/models/ee/merge_request.rb
index 23381ef92e87..9bed824007bd 100644
--- a/ee/app/models/ee/merge_request.rb
+++ b/ee/app/models/ee/merge_request.rb
@@ -27,9 +27,9 @@ module MergeRequest
 
       belongs_to :iteration, foreign_key: 'sprint_id', inverse_of: :merge_requests
 
-      has_many :approvers, as: :target, dependent: :delete_all # rubocop:disable Cop/ActiveRecordDependent
+      has_many :approvers, as: :target, dependent: :delete_all
       has_many :approver_users, through: :approvers, source: :user
-      has_many :approver_groups, as: :target, dependent: :delete_all # rubocop:disable Cop/ActiveRecordDependent
+      has_many :approver_groups, as: :target, dependent: :delete_all
       has_many :status_check_responses, class_name: 'MergeRequests::StatusCheckResponse', inverse_of: :merge_request
       has_many :approval_rules, class_name: 'ApprovalMergeRequestRule', inverse_of: :merge_request do
         def applicable_to_branch(branch)
@@ -52,7 +52,7 @@ def set_applicable_when_copying_rules(applicable_ids)
         inverse_of: :merge_request
       has_many :approval_merge_request_rule_sources, through: :approval_rules
       has_many :approval_project_rules, through: :approval_merge_request_rule_sources
-      has_one :merge_train_car, class_name: 'MergeTrains::Car', inverse_of: :merge_request, dependent: :destroy # rubocop:disable Cop/ActiveRecordDependent
+      has_one :merge_train_car, class_name: 'MergeTrains::Car', inverse_of: :merge_request, dependent: :destroy
 
       has_many :blocks_as_blocker,
         class_name: 'MergeRequestBlock',
diff --git a/ee/app/models/ee/project.rb b/ee/app/models/ee/project.rb
index bbf98d590826..ef70c9a666a9 100644
--- a/ee/app/models/ee/project.rb
+++ b/ee/app/models/ee/project.rb
@@ -83,9 +83,9 @@ def preload_protected_branches
       has_many :zoekt_repositories, class_name: '::Search::Zoekt::Repository', inverse_of: :project
       has_one :secrets_manager, class_name: '::SecretsManagement::ProjectSecretsManager'
 
-      has_many :approvers, as: :target, dependent: :destroy # rubocop:disable Cop/ActiveRecordDependent
+      has_many :approvers, as: :target, dependent: :destroy
       has_many :approver_users, through: :approvers, source: :user
-      has_many :approver_groups, as: :target, dependent: :destroy # rubocop:disable Cop/ActiveRecordDependent
+      has_many :approver_groups, as: :target, dependent: :destroy
       has_many :approval_rules, class_name: 'ApprovalProjectRule', extend: FilterByBranch
       # NOTE: This was added to avoid N+1 queries when we load list of MergeRequests
       has_many :regular_or_any_approver_approval_rules, -> { regular_or_any_approver.order(rule_type: :desc, id: :asc) }, class_name: 'ApprovalProjectRule', extend: FilterByBranch
@@ -99,14 +99,14 @@ def preload_protected_branches
 
       # the rationale behind vulnerabilities and vulnerability_findings can be found here:
       # https://gitlab.com/gitlab-org/gitlab/issues/10252#terminology
-      has_many :vulnerabilities, dependent: :destroy # rubocop:disable Cop/ActiveRecordDependent
+      has_many :vulnerabilities, dependent: :destroy
       has_many :vulnerability_reads, class_name: 'Vulnerabilities::Read'
       has_many :vulnerability_feedback, class_name: 'Vulnerabilities::Feedback'
       has_many :vulnerability_historical_statistics, class_name: 'Vulnerabilities::HistoricalStatistic'
       has_many :vulnerability_findings,
         class_name: 'Vulnerabilities::Finding',
         inverse_of: :project,
-        dependent: :destroy do # rubocop:disable Cop/ActiveRecordDependent
+        dependent: :destroy do
           def lock_for_confirmation!(id)
             where(vulnerability_id: nil).lock.find(id)
           end
@@ -538,11 +538,11 @@ def self.cascading_with_parent_namespace(attribute)
 
         return super() unless licensed_feature_available?(:group_level_merge_checks_setting)
 
-        if inherit_group_setting
-          result = self.public_send(attribute) || public_send("#{attribute}_of_parent_group") # rubocop:disable GitlabSecurity/PublicSend
-        else
-          result = self.public_send(attribute) # rubocop:disable GitlabSecurity/PublicSend
-        end
+        result = if inherit_group_setting
+                   self.public_send(attribute) || public_send("#{attribute}_of_parent_group")
+                 else
+                   self.public_send(attribute)
+                 end
 
         !!result
       end
@@ -550,7 +550,7 @@ def self.cascading_with_parent_namespace(attribute)
       define_method("#{attribute}_locked?") do
         return super() unless licensed_feature_available?(:group_level_merge_checks_setting)
 
-        public_send("#{attribute}_of_parent_group") # rubocop:disable GitlabSecurity/PublicSend
+        public_send("#{attribute}_of_parent_group")
       end
     end
 
diff --git a/ee/app/models/ee/user.rb b/ee/app/models/ee/user.rb
index 0cd529fb4aed..f629efc9643a 100644
--- a/ee/app/models/ee/user.rb
+++ b/ee/app/models/ee/user.rb
@@ -63,15 +63,15 @@ module User
       has_many :epics,                    foreign_key: :author_id
       has_many :test_reports,             foreign_key: :author_id, inverse_of: :author, class_name: 'RequirementsManagement::TestReport'
       has_many :assigned_epics,           foreign_key: :assignee_id, class_name: "Epic"
-      has_many :path_locks,               dependent: :destroy # rubocop: disable Cop/ActiveRecordDependent
+      has_many :path_locks,               dependent: :destroy
       has_many :vulnerability_feedback, foreign_key: :author_id, class_name: 'Vulnerabilities::Feedback'
       has_many :vulnerability_state_transitions, foreign_key: :author_id, class_name: 'Vulnerabilities::StateTransition', inverse_of: :author
       has_many :commented_vulnerability_feedback, foreign_key: :comment_author_id, class_name: 'Vulnerabilities::Feedback'
       has_many :boards_epic_user_preferences, class_name: 'Boards::EpicUserPreference', inverse_of: :user
       has_many :epic_board_recent_visits, class_name: 'Boards::EpicBoardRecentVisit', inverse_of: :user
 
-      has_many :approvals,                dependent: :destroy # rubocop: disable Cop/ActiveRecordDependent
-      has_many :approvers,                dependent: :destroy # rubocop: disable Cop/ActiveRecordDependent
+      has_many :approvals,                dependent: :destroy
+      has_many :approvers,                dependent: :destroy
 
       has_many :minimal_access_group_members, -> { where(access_level: [::Gitlab::Access::MINIMAL_ACCESS]) }, class_name: 'GroupMember'
       has_many :minimal_access_groups, through: :minimal_access_group_members, source: :group
@@ -86,9 +86,9 @@ module User
       has_many :group_saml_providers, through: :group_saml_identities, source: :saml_provider
 
       # Protected Branch Access
-      has_many :protected_branch_merge_access_levels, dependent: :destroy, class_name: "::ProtectedBranch::MergeAccessLevel" # rubocop:disable Cop/ActiveRecordDependent
-      has_many :protected_branch_push_access_levels, dependent: :destroy, class_name: "::ProtectedBranch::PushAccessLevel" # rubocop:disable Cop/ActiveRecordDependent
-      has_many :protected_branch_unprotect_access_levels, dependent: :destroy, class_name: "::ProtectedBranch::UnprotectAccessLevel" # rubocop:disable Cop/ActiveRecordDependent
+      has_many :protected_branch_merge_access_levels, dependent: :destroy, class_name: "::ProtectedBranch::MergeAccessLevel"
+      has_many :protected_branch_push_access_levels, dependent: :destroy, class_name: "::ProtectedBranch::PushAccessLevel"
+      has_many :protected_branch_unprotect_access_levels, dependent: :destroy, class_name: "::ProtectedBranch::UnprotectAccessLevel"
 
       has_many :deployment_approvals, class_name: 'Deployments::Approval'
 
diff --git a/ee/app/models/ee/vulnerability.rb b/ee/app/models/ee/vulnerability.rb
index 61e552840b0e..dc6203d0281e 100644
--- a/ee/app/models/ee/vulnerability.rb
+++ b/ee/app/models/ee/vulnerability.rb
@@ -67,7 +67,7 @@ def with_vulnerability_links
       end
       has_many :state_transitions, class_name: '::Vulnerabilities::StateTransition', inverse_of: :vulnerability
 
-      has_many :notes, as: :noteable, dependent: :delete_all # rubocop:disable Cop/ActiveRecordDependent
+      has_many :notes, as: :noteable, dependent: :delete_all
       has_many :user_mentions, class_name: 'VulnerabilityUserMention'
 
       enum state: ::Enums::Vulnerability.vulnerability_states
@@ -312,7 +312,7 @@ def integration_data
       end
 
       def user_notes_count_service
-        @user_notes_count_service ||= ::Vulnerabilities::UserNotesCountService.new(self) # rubocop: disable CodeReuse/ServiceClass
+        @user_notes_count_service ||= ::Vulnerabilities::UserNotesCountService.new(self)
       end
     end
 
diff --git a/ee/app/models/geo_node.rb b/ee/app/models/geo_node.rb
index cfdb8a87c8d4..59c3979e94e5 100644
--- a/ee/app/models/geo_node.rb
+++ b/ee/app/models/geo_node.rb
@@ -8,9 +8,9 @@ class GeoNode < ApplicationRecord
   SELECTIVE_SYNC_TYPES = %w[namespaces shards].freeze
 
   # Array of repository storages to synchronize for selective sync by shards
-  serialize :selective_sync_shards, Array # rubocop:disable Cop/ActiveRecordSerialize
+  serialize :selective_sync_shards, Array
 
-  belongs_to :oauth_application, class_name: 'Doorkeeper::Application', dependent: :destroy, autosave: true # rubocop: disable Cop/ActiveRecordDependent
+  belongs_to :oauth_application, class_name: 'Doorkeeper::Application', dependent: :destroy, autosave: true
 
   has_many :geo_node_namespace_links
   has_many :namespaces, through: :geo_node_namespace_links
diff --git a/ee/app/models/protected_environments/approval_rules/summarizable.rb b/ee/app/models/protected_environments/approval_rules/summarizable.rb
index 689da0808fbc..e48919350a28 100644
--- a/ee/app/models/protected_environments/approval_rules/summarizable.rb
+++ b/ee/app/models/protected_environments/approval_rules/summarizable.rb
@@ -29,7 +29,7 @@ def pending_approval_count
       end
 
       def approvals_for_summary
-        @approvals_for_summary ||= [] # rubocop:disable Gitlab/ModuleWithInstanceVariables
+        @approvals_for_summary ||= []
       end
 
       def approvals_for_summary=(approvals)
diff --git a/ee/app/models/requirements_management/requirement.rb b/ee/app/models/requirements_management/requirement.rb
index ba561c530c7c..f8d6379a3169 100644
--- a/ee/app/models/requirements_management/requirement.rb
+++ b/ee/app/models/requirements_management/requirement.rb
@@ -24,7 +24,7 @@ class Requirement < ApplicationRecord
     # but to sync the other way around, we require a temporary `dependent: :destroy`
     # See https://gitlab.com/gitlab-org/gitlab/-/issues/323779 for details.
     # This will be removed in https://gitlab.com/gitlab-org/gitlab/-/issues/329432
-    belongs_to :requirement_issue, class_name: 'Issue', foreign_key: :issue_id, dependent: :destroy # rubocop:disable Cop/ActiveRecordDependent
+    belongs_to :requirement_issue, class_name: 'Issue', foreign_key: :issue_id, dependent: :destroy
 
     validates :project, presence: true
     validates :requirement_issue, presence: true, on: [:create, :update]
diff --git a/ee/app/models/vulnerabilities/finding.rb b/ee/app/models/vulnerabilities/finding.rb
index 00f04fa167fd..7d592925d4ec 100644
--- a/ee/app/models/vulnerabilities/finding.rb
+++ b/ee/app/models/vulnerabilities/finding.rb
@@ -224,12 +224,10 @@ def sha
       # which is defined in the `secrets` analyzer:
       # https://gitlab.com/gitlab-org/security-products/analyzers/secrets/-/blob/7e1e03209495a209308f3e9e96c5a4a0d32e1d55/secret.go#L13-13
       commit_sha = location.dig("commit", "sha")
-      # rubocop:disable Style/IfUnlessModifier
       if !commit_sha || commit_sha == SECRET_DETECTION_DEFAULT_COMMIT_SHA
         # Two layers of fallbacks.
         commit_sha = @sha || pipeline_branch
       end
-      # rubocop:enable Style/IfUnlessModifier
 
       commit_sha
     end
diff --git a/ee/app/serializers/dashboard_environments_serializer.rb b/ee/app/serializers/dashboard_environments_serializer.rb
index feb5b2d04712..fc34eb823f05 100644
--- a/ee/app/serializers/dashboard_environments_serializer.rb
+++ b/ee/app/serializers/dashboard_environments_serializer.rb
@@ -13,7 +13,6 @@ def represent(resource, opts = {})
 
   private
 
-  # rubocop: disable CodeReuse/ActiveRecord
   def batch_load(projects)
     ActiveRecord::Associations::Preloader.new(
       records: projects,
@@ -33,7 +32,6 @@ def batch_load(projects)
 
     projects
   end
-  # rubocop: enable CodeReuse/ActiveRecord
 
   def deployment_associations
     {
diff --git a/ee/app/services/analytics/cycle_analytics/consistency_check_service.rb b/ee/app/services/analytics/cycle_analytics/consistency_check_service.rb
index bfc80a621867..8176d85ae6ff 100644
--- a/ee/app/services/analytics/cycle_analytics/consistency_check_service.rb
+++ b/ee/app/services/analytics/cycle_analytics/consistency_check_service.rb
@@ -99,12 +99,10 @@ def stage_event_hash_id_from_cursor_data(cursor_data)
         end
       end
 
-      # rubocop: disable CodeReuse/ActiveRecord
       def cursor_for_record(record, scope)
         order = Gitlab::Pagination::Keyset::Order.extract_keyset_order_object(scope)
         order.cursor_attributes_for_node(record)
       end
-      # rubocop: enable CodeReuse/ActiveRecord
 
       def stage_event_hash_ids(cursor_data)
         last_stage_event_hash_id = stage_event_hash_id_from_cursor_data(cursor_data)
diff --git a/ee/app/services/analytics/cycle_analytics/data_loader_service.rb b/ee/app/services/analytics/cycle_analytics/data_loader_service.rb
index 1fbde738385c..66ff3265eb99 100644
--- a/ee/app/services/analytics/cycle_analytics/data_loader_service.rb
+++ b/ee/app/services/analytics/cycle_analytics/data_loader_service.rb
@@ -140,13 +140,11 @@ def upsert_data(records)
         @upsert_count += event_model.upsert_data(data) if data.any?
       end
 
-      # rubocop: disable CodeReuse/ActiveRecord
       def cursor_for_node(record)
         scope, _ = Gitlab::Pagination::Keyset::SimpleOrderBuilder.build(iterator_base_scope)
         order = Gitlab::Pagination::Keyset::Order.extract_keyset_order_object(scope)
         order.cursor_attributes_for_node(record)
       end
-      # rubocop: enable CodeReuse/ActiveRecord
 
       def event_model
         CONFIG_MAPPING.fetch(model).fetch(:event_model)
diff --git a/ee/app/services/approval_rules/user_rules_destroy_service.rb b/ee/app/services/approval_rules/user_rules_destroy_service.rb
index 9aad0fe4ea95..c957f65ced69 100644
--- a/ee/app/services/approval_rules/user_rules_destroy_service.rb
+++ b/ee/app/services/approval_rules/user_rules_destroy_service.rb
@@ -16,7 +16,7 @@ def merge_request_rules
     end
 
     def delete_in_batches(relation)
-      relation.each_batch do |batch| # rubocop:disable Style/SymbolProc -- does not work with ActiveRecord::Relation
+      relation.each_batch do |batch|
         batch.delete_all
       end
     end
diff --git a/ee/app/services/dora/aggregate_scores_service.rb b/ee/app/services/dora/aggregate_scores_service.rb
index 2691500492ca..7297ba7e5947 100644
--- a/ee/app/services/dora/aggregate_scores_service.rb
+++ b/ee/app/services/dora/aggregate_scores_service.rb
@@ -59,9 +59,7 @@ def projects_without_any_scores_count
     strong_memoize_attr :projects_without_any_scores_count
 
     def projects_without_any_dora_scores_count(date:)
-      # rubocop:disable CodeReuse/ActiveRecord
       authorized_projects.select(:id).id_not_in(Project.with_dora_scores_for_date(date)).count
-      # rubocop:enable CodeReuse/ActiveRecord
     end
 
     def raw_counts(metric_symbol)
diff --git a/ee/app/services/ee/boards/issues/list_service.rb b/ee/app/services/ee/boards/issues/list_service.rb
index c479dd8f12c4..93a9146f09d5 100644
--- a/ee/app/services/ee/boards/issues/list_service.rb
+++ b/ee/app/services/ee/boards/issues/list_service.rb
@@ -104,13 +104,11 @@ def without_milestones_from_lists(issues)
         end
         # rubocop: enable CodeReuse/ActiveRecord
 
-        # rubocop: disable CodeReuse/ActiveRecord
         def without_iterations_from_lists(issues)
           return issues if all_iteration_lists.empty?
 
           issues.not_in_iterations(all_iteration_lists.select(:iteration_id))
         end
-        # rubocop: enable CodeReuse/ActiveRecord
 
         def with_assignee(issues)
           issues.assigned_to(list.user)
diff --git a/ee/app/services/ee/ci/queue/build_queue_service.rb b/ee/app/services/ee/ci/queue/build_queue_service.rb
index 430b5831382d..a8282a7a8d60 100644
--- a/ee/app/services/ee/ci/queue/build_queue_service.rb
+++ b/ee/app/services/ee/ci/queue/build_queue_service.rb
@@ -24,7 +24,6 @@ def builds_for_shared_runner
           end
         end
 
-        # rubocop: disable CodeReuse/ActiveRecord
         def enforce_minutes_based_on_cost_factors(relation)
           strategy.enforce_minutes_limit(relation)
         end
diff --git a/ee/app/services/ee/notification_recipients/builder/base.rb b/ee/app/services/ee/notification_recipients/builder/base.rb
index eb6474a86690..95a675118eeb 100644
--- a/ee/app/services/ee/notification_recipients/builder/base.rb
+++ b/ee/app/services/ee/notification_recipients/builder/base.rb
@@ -11,7 +11,7 @@ module Base
 
         override :preload_users_namespace_bans
         def preload_users_namespace_bans(users)
-          ActiveRecord::Associations::Preloader.new(records: users, associations: :namespace_bans).call # rubocop:disable CodeReuse/ActiveRecord
+          ActiveRecord::Associations::Preloader.new(records: users, associations: :namespace_bans).call
         end
       end
     end
diff --git a/ee/app/services/security/ingestion/tasks/ingest_vulnerabilities/mark_resolved_as_detected.rb b/ee/app/services/security/ingestion/tasks/ingest_vulnerabilities/mark_resolved_as_detected.rb
index 33acdba44280..facb4c0c9350 100644
--- a/ee/app/services/security/ingestion/tasks/ingest_vulnerabilities/mark_resolved_as_detected.rb
+++ b/ee/app/services/security/ingestion/tasks/ingest_vulnerabilities/mark_resolved_as_detected.rb
@@ -28,7 +28,7 @@ def mark_as_resolved
 
           def redetected_vulnerability_ids
             strong_memoize(:redetected_vulnerability_ids) do
-              ::Vulnerability.resolved.id_in(vulnerability_ids).pluck_primary_key # rubocop:disable Database/AvoidUsingPluckWithoutLimit -- `finding_maps` collection can have max 100 objects
+              ::Vulnerability.resolved.id_in(vulnerability_ids).pluck_primary_key
             end
           end
 
diff --git a/ee/app/services/security/scan_result_policies/sync_any_merge_request_rules_service.rb b/ee/app/services/security/scan_result_policies/sync_any_merge_request_rules_service.rb
index 5d50be3e2bc2..c6f2e0e9986f 100644
--- a/ee/app/services/security/scan_result_policies/sync_any_merge_request_rules_service.rb
+++ b/ee/app/services/security/scan_result_policies/sync_any_merge_request_rules_service.rb
@@ -36,13 +36,11 @@ def sync_required_approvals
         violated_rules, unviolated_rules = update_required_approvals(violated_rules, unviolated_rules)
 
         log_violated_rules(violated_rules)
-        # rubocop:disable CodeReuse/ActiveRecord
         violated_policies -= unviolated_rules.map(&:scan_result_policy_read)
         violations.add(
           violated_policies,
           unviolated_policies + unviolated_rules.map(&:scan_result_policy_read)
         )
-        # rubocop:enable CodeReuse/ActiveRecord
         save_violation_data(violated_policies)
         violations.execute
         generate_policy_bot_comment(merge_request, violated_rules, :any_merge_request)
diff --git a/ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb b/ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb
index 3138d39107f4..e06e45576b5a 100644
--- a/ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb
+++ b/ee/app/services/security/security_orchestration_policies/process_scan_result_policy_service.rb
@@ -186,7 +186,6 @@ def users_ids(user_ids, user_names)
         project.team.users.get_ids_by_ids_or_usernames(user_ids, user_names)
       end
 
-      # rubocop: disable Cop/GroupPublicOrVisibleToUser
       def groups_ids(group_ids, group_paths)
         Security::ApprovalGroupsFinder.new(group_ids: group_ids,
           group_paths: group_paths,
@@ -194,7 +193,6 @@ def groups_ids(group_ids, group_paths)
           container: project.namespace,
           search_globally: search_groups_globally?).execute(include_inaccessible: true)
       end
-      # rubocop: enable Cop/GroupPublicOrVisibleToUser
 
       def role_access_levels(role_approvers)
         return [] unless role_approvers
diff --git a/ee/app/services/software_license_policies/bulk_create_scan_result_policy_service.rb b/ee/app/services/software_license_policies/bulk_create_scan_result_policy_service.rb
index 9942ce820def..e656cc3d4400 100644
--- a/ee/app/services/software_license_policies/bulk_create_scan_result_policy_service.rb
+++ b/ee/app/services/software_license_policies/bulk_create_scan_result_policy_service.rb
@@ -11,7 +11,7 @@ def initialize(project, params)
     end
 
     def execute
-      existing_licenses = SoftwareLicense.by_name(license_names).limit(license_names.size).pluck(:name, :id).to_h # rubocop:disable CodeReuse/ActiveRecord, Database/AvoidUsingPluckWithoutLimit -- Array#pluck
+      existing_licenses = SoftwareLicense.by_name(license_names).limit(license_names.size).pluck(:name, :id).to_h # rubocop:disable CodeReuse/ActiveRecord, -- Array#pluck
       missing_licenses_names = license_names - existing_licenses.keys
 
       created_custom_licenses = create_unknown_custom_licenses(missing_licenses_names)
diff --git a/ee/app/workers/ee/issuable_export_csv_worker.rb b/ee/app/workers/ee/issuable_export_csv_worker.rb
index 8545149d1ee8..4dd379c7bf21 100644
--- a/ee/app/workers/ee/issuable_export_csv_worker.rb
+++ b/ee/app/workers/ee/issuable_export_csv_worker.rb
@@ -5,7 +5,7 @@ module EE
   #
   # This module is intended to encapsulate EE-specific model logic
   # and be prepended in the `IssuableExportCsvWorker` worker
-  module IssuableExportCsvWorker # rubocop:disable Scalability/IdempotentWorker
+  module IssuableExportCsvWorker
     extend ::Gitlab::Utils::Override
 
     private
diff --git a/ee/app/workers/members_destroyer/clean_up_group_protected_branch_rules_worker.rb b/ee/app/workers/members_destroyer/clean_up_group_protected_branch_rules_worker.rb
index fabfb8db3963..f1989591902e 100644
--- a/ee/app/workers/members_destroyer/clean_up_group_protected_branch_rules_worker.rb
+++ b/ee/app/workers/members_destroyer/clean_up_group_protected_branch_rules_worker.rb
@@ -1,7 +1,7 @@
 # frozen_string_literal: true
 
 module MembersDestroyer
-  class CleanUpGroupProtectedBranchRulesWorker # rubocop:disable Scalability/CronWorkerContext
+  class CleanUpGroupProtectedBranchRulesWorker
     include ApplicationWorker
 
     data_consistency :always
diff --git a/ee/app/workers/scan_security_report_secrets_worker.rb b/ee/app/workers/scan_security_report_secrets_worker.rb
index 5772f5c63b16..e5cc92cf45a5 100644
--- a/ee/app/workers/scan_security_report_secrets_worker.rb
+++ b/ee/app/workers/scan_security_report_secrets_worker.rb
@@ -2,7 +2,7 @@
 
 # Worker for triggering events subject to secret_detection security reports
 #
-class ScanSecurityReportSecretsWorker # rubocop:disable Scalability/IdempotentWorker
+class ScanSecurityReportSecretsWorker
   include ApplicationWorker
 
   data_consistency :always
diff --git a/ee/app/workers/security/orchestration_policy_rule_schedule_worker.rb b/ee/app/workers/security/orchestration_policy_rule_schedule_worker.rb
index 4890a95b6b80..5e77833849ec 100644
--- a/ee/app/workers/security/orchestration_policy_rule_schedule_worker.rb
+++ b/ee/app/workers/security/orchestration_policy_rule_schedule_worker.rb
@@ -5,10 +5,8 @@ class OrchestrationPolicyRuleScheduleWorker # rubocop:disable Scalability/Idempo
     include ApplicationWorker
 
     data_consistency :always
-    # rubocop:disable Scalability/CronWorkerContext
     # This worker does not perform work scoped to a context
     include CronjobQueue
-    # rubocop:enable Scalability/CronWorkerContext
     include Security::SecurityOrchestrationPolicies::CadenceChecker
 
     feature_category :security_policy_management
diff --git a/ee/app/workers/security/scan_execution_policies/create_pipeline_worker.rb b/ee/app/workers/security/scan_execution_policies/create_pipeline_worker.rb
index ee7d4b19ebba..e438018c23bb 100644
--- a/ee/app/workers/security/scan_execution_policies/create_pipeline_worker.rb
+++ b/ee/app/workers/security/scan_execution_policies/create_pipeline_worker.rb
@@ -59,7 +59,7 @@ def project_ids(schedule)
           project_ids = [project.id]
         else
           namespace = policy_configuration.namespace
-          project_ids = namespace.all_projects.pluck(:id) # rubocop:disable Database/AvoidUsingPluckWithoutLimit, CodeReuse/ActiveRecord -- avoids cross-schema error
+          project_ids = namespace.all_projects.pluck(:id) # rubocop:disable CodeReuse/ActiveRecord -- avoids cross-schema error
         end
 
         project_ids
diff --git a/ee/app/workers/vulnerabilities/mark_dropped_as_resolved_worker.rb b/ee/app/workers/vulnerabilities/mark_dropped_as_resolved_worker.rb
index 2b51de3c85ff..9611396ac4cd 100644
--- a/ee/app/workers/vulnerabilities/mark_dropped_as_resolved_worker.rb
+++ b/ee/app/workers/vulnerabilities/mark_dropped_as_resolved_worker.rb
@@ -1,7 +1,6 @@
 # frozen_string_literal: true
 
 module Vulnerabilities
-  # rubocop:disable Scalability/IdempotentWorker
   class MarkDroppedAsResolvedWorker
     include ApplicationWorker
 
@@ -107,5 +106,4 @@ def resolution_comment
       # rubocop:enable Gitlab/DocUrl
     end
   end
-  # rubocop:enable Scalability/IdempotentWorker
 end
diff --git a/ee/db/fixtures/development/93_vsd_overview_counts.rb b/ee/db/fixtures/development/93_vsd_overview_counts.rb
index c9c41e95c5ff..7b77f7445e8b 100644
--- a/ee/db/fixtures/development/93_vsd_overview_counts.rb
+++ b/ee/db/fixtures/development/93_vsd_overview_counts.rb
@@ -12,7 +12,6 @@
 #
 # GROUP_ID=22 FILTER=vsd_overview_counts bundle exec rake db:seed_fu
 
-# rubocop:disable Rails/Output -- this is a seed script
 class Gitlab::Seeder::ValueStreamDashboardCounts # rubocop:disable Style/ClassAndModuleChildren -- this is a seed script
   include ActiveSupport::Testing::TimeHelpers
 
@@ -60,4 +59,3 @@ def aggregation
     seeder.seed!
   end
 end
-# rubocop:enable Rails/Output
diff --git a/ee/lib/analytics/merge_request_metrics_calculator.rb b/ee/lib/analytics/merge_request_metrics_calculator.rb
index 3def26d6062a..2522689d8e42 100644
--- a/ee/lib/analytics/merge_request_metrics_calculator.rb
+++ b/ee/lib/analytics/merge_request_metrics_calculator.rb
@@ -17,14 +17,12 @@ def productivity_data
       }
     end
 
-    # rubocop: disable CodeReuse/ActiveRecord
     def line_counts_data
       {
         added_lines: raw_diff_files.sum(&:added_lines),
         removed_lines: raw_diff_files.sum(&:removed_lines)
       }
     end
-    # rubocop: enable CodeReuse/ActiveRecord
 
     # rubocop: disable CodeReuse/ActiveRecord
     def first_comment_at
diff --git a/ee/lib/api/admin/search/migrations.rb b/ee/lib/api/admin/search/migrations.rb
index dda96dd9713c..40f378ee7f97 100644
--- a/ee/lib/api/admin/search/migrations.rb
+++ b/ee/lib/api/admin/search/migrations.rb
@@ -3,7 +3,7 @@
 module API
   module Admin
     module Search
-      class Migrations < ::API::Base # rubocop:disable Search/NamespacedClass
+      class Migrations < ::API::Base
         feature_category :global_search
         urgency :low
 
diff --git a/ee/lib/api/audit_events.rb b/ee/lib/api/audit_events.rb
index b5d5857c0d38..b98582f78f04 100644
--- a/ee/lib/api/audit_events.rb
+++ b/ee/lib/api/audit_events.rb
@@ -58,11 +58,8 @@ class AuditEvents < ::API::Base
       end
       get ':id' do
         level = ::Gitlab::Audit::Levels::Instance.new
-        # rubocop: disable CodeReuse/ActiveRecord
         # This is not `find_by!` from ActiveRecord
         audit_event = AuditEventFinder.new(level: level).find(params[:id])
-        # rubocop: enable CodeReuse/ActiveRecord
-
         present audit_event, with: EE::API::Entities::AuditEvent
       end
     end
diff --git a/ee/lib/api/dora/metrics.rb b/ee/lib/api/dora/metrics.rb
index f0a1dbccefd9..91f376c798e3 100644
--- a/ee/lib/api/dora/metrics.rb
+++ b/ee/lib/api/dora/metrics.rb
@@ -12,7 +12,8 @@ class Metrics < ::API::Base
         params :dora_metrics_params do
           requires :metric,
             type: String,
-            desc: 'One of `deployment_frequency`, `lead_time_for_changes`, `time_to_restore_service` or `change_failure_rate`' # rubocop:disable Layout/LineLength
+            desc: 'One of `deployment_frequency`, `lead_time_for_changes`, `time_to_restore_service` or ' \
+              '`change_failure_rate`'
 
           optional :start_date,
             type: Date,
diff --git a/ee/lib/ee/api/entities/analytics/code_review/merge_request.rb b/ee/lib/ee/api/entities/analytics/code_review/merge_request.rb
index 4d6da2884b2c..2654601851c6 100644
--- a/ee/lib/ee/api/entities/analytics/code_review/merge_request.rb
+++ b/ee/lib/ee/api/entities/analytics/code_review/merge_request.rb
@@ -28,7 +28,6 @@ class MergeRequest < ::API::Entities::MergeRequestSimple
 
             private
 
-            # rubocop: disable CodeReuse/ActiveRecord
             def diff_stats
               result = {
                 additions: object.diffs.diff_files.sum(&:added_lines),
@@ -38,7 +37,6 @@ def diff_stats
               result[:total] = result[:additions] + result[:deletions]
               result
             end
-            # rubocop: enable CodeReuse/ActiveRecord
           end
         end
       end
diff --git a/ee/lib/ee/api/helpers.rb b/ee/lib/ee/api/helpers.rb
index 3d56cb6927f9..e97a771902c7 100644
--- a/ee/lib/ee/api/helpers.rb
+++ b/ee/lib/ee/api/helpers.rb
@@ -103,13 +103,11 @@ def find_group_epic(iid)
       end
       # rubocop: enable CodeReuse/ActiveRecord
 
-      # rubocop: disable CodeReuse/ActiveRecord
       def find_or_create_subscription_add_on!(name, namespace = nil)
         not_found!('Subscription Add-on') unless GitlabSubscriptions::AddOn.names[name]
 
         GitlabSubscriptions::AddOn.find_or_create_by_name(name, namespace)
       end
-      # rubocop: enable CodeReuse/ActiveRecord
 
       # rubocop: disable CodeReuse/ActiveRecord
       def find_subscription_add_on_purchase!(namespace, add_on)
diff --git a/ee/lib/ee/api/helpers/internal_helpers.rb b/ee/lib/ee/api/helpers/internal_helpers.rb
index 912d9d4be26a..8d549760579d 100644
--- a/ee/lib/ee/api/helpers/internal_helpers.rb
+++ b/ee/lib/ee/api/helpers/internal_helpers.rb
@@ -14,7 +14,6 @@ def access_checker_for(actor, protocol)
           end
         end
 
-        # rubocop:disable Gitlab/ModuleWithInstanceVariables
         override :send_git_audit_streaming_event
         def send_git_audit_streaming_event(msg)
           ::Gitlab::GitAuditEvent.new(actor, project).send_audit_event(msg)
@@ -26,7 +25,6 @@ def need_git_audit_event?
 
           ::Gitlab::GitAuditEvent.new(actor, project).enabled?
         end
-        # rubocop:enable Gitlab/ModuleWithInstanceVariables
       end
     end
   end
diff --git a/ee/lib/ee/gitlab/event_store.rb b/ee/lib/ee/gitlab/event_store.rb
index bf48a51003a5..3d8c6d136c43 100644
--- a/ee/lib/ee/gitlab/event_store.rb
+++ b/ee/lib/ee/gitlab/event_store.rb
@@ -17,7 +17,7 @@ module EventStore
         #
         # Only EE subscriptions should be declared in this module.
         override :configure!
-        def configure!(store) # rubocop:disable Metrics/AbcSize -- This is basically a configuration file
+        def configure!(store)
           super(store)
 
           ###
diff --git a/ee/lib/ee/gitlab/usage_data.rb b/ee/lib/ee/gitlab/usage_data.rb
index 1fde4689ceb3..79afe22fa7b6 100644
--- a/ee/lib/ee/gitlab/usage_data.rb
+++ b/ee/lib/ee/gitlab/usage_data.rb
@@ -66,7 +66,6 @@ def requirements_counts
           }
         end
 
-        # rubocop:disable CodeReuse/ActiveRecord, UsageData/LargeTable
         def approval_rules_counts
           {
             approval_project_rules: count(ApprovalProjectRule),
@@ -76,7 +75,6 @@ def approval_rules_counts
             approval_project_rules_with_exact_required_approvers: add_metric('ApprovalProjectRulesWithUserMetric', options: { count_type: 'exact_required_approvers' })
           }
         end
-        # rubocop:enable CodeReuse/ActiveRecord, UsageData/LargeTable
 
         def on_demand_pipelines_usage
           { dast_on_demand_pipelines: count(::Ci::Pipeline.ondemand_dast_scan) }
@@ -109,7 +107,6 @@ def operations_dashboard_usage
         # less "complex" without introducing extra methods (which actually will
         # make things _more_ complex).
         #
-        # rubocop: disable Metrics/AbcSize
         def system_usage_data
           super.tap do |usage_data|
             usage_data[:counts].merge!(
@@ -138,8 +135,6 @@ def system_usage_data
               operations_dashboard_usage)
           end
         end
-        # rubocop: enable Metrics/AbcSize
-
         # Omitted because no user, creator or author associated: `lfs_objects`, `pool_repositories`, `web_hooks`
         override :usage_activity_by_stage_create
         # rubocop:disable CodeReuse/ActiveRecord
diff --git a/ee/lib/elastic/latest/git_class_proxy.rb b/ee/lib/elastic/latest/git_class_proxy.rb
index 15f33d259031..43b462f385b2 100644
--- a/ee/lib/elastic/latest/git_class_proxy.rb
+++ b/ee/lib/elastic/latest/git_class_proxy.rb
@@ -264,7 +264,6 @@ def group_id_for_wiki_blob(result)
         result.dig('_source', 'group_id')
       end
 
-      # rubocop:disable Metrics/AbcSize
       # rubocop:disable Metrics/PerceivedComplexity
       # rubocop:disable Metrics/CyclomaticComplexity
       def blob_query(query, type: 'blob', page: 1, per: 20, options: {})
diff --git a/ee/lib/gitlab/analytics/type_of_work/tasks_by_type.rb b/ee/lib/gitlab/analytics/type_of_work/tasks_by_type.rb
index 01c170a88036..4fbf09b3433b 100644
--- a/ee/lib/gitlab/analytics/type_of_work/tasks_by_type.rb
+++ b/ee/lib/gitlab/analytics/type_of_work/tasks_by_type.rb
@@ -25,7 +25,6 @@ def counts_by_labels
         end
 
         # top N commonly used labels for Issues or MergeRequests ordered by usage
-        # rubocop: disable CodeReuse/ActiveRecord
         def top_labels(limit = TOP_LABELS_COUNT)
           targets = finder
             .execute
@@ -36,7 +35,6 @@ def top_labels(limit = TOP_LABELS_COUNT)
             .top_labels_by_target(targets)
             .limit(limit)
         end
-        # rubocop: enable CodeReuse/ActiveRecord
 
         private
 
diff --git a/ee/lib/gitlab/duo/developments/feature_flag_enabler.rb b/ee/lib/gitlab/duo/developments/feature_flag_enabler.rb
index b756b23bb0cb..61b07068a335 100644
--- a/ee/lib/gitlab/duo/developments/feature_flag_enabler.rb
+++ b/ee/lib/gitlab/duo/developments/feature_flag_enabler.rb
@@ -1,6 +1,5 @@
 # frozen_string_literal: true
 
-# rubocop:disable Gitlab/DocUrl -- Development purpose
 module Gitlab
   module Duo
     module Developments
@@ -19,4 +18,3 @@ def self.execute
     end
   end
 end
-# rubocop:enable Gitlab/DocUrl
diff --git a/ee/lib/gitlab/status_page/storage/object.rb b/ee/lib/gitlab/status_page/storage/object.rb
index af26a594e83a..b5acc6c9fb3d 100644
--- a/ee/lib/gitlab/status_page/storage/object.rb
+++ b/ee/lib/gitlab/status_page/storage/object.rb
@@ -1,4 +1,3 @@
-# rubocop:disable Naming/FileName
 # frozen_string_literal: true
 
 module Gitlab
@@ -9,5 +8,3 @@ module Storage
     end
   end
 end
-
-# rubocop:enable Naming/FileName
diff --git a/ee/lib/langsmith/run_helpers.rb b/ee/lib/langsmith/run_helpers.rb
index 27aece725a35..d9323cbf37cb 100644
--- a/ee/lib/langsmith/run_helpers.rb
+++ b/ee/lib/langsmith/run_helpers.rb
@@ -33,7 +33,7 @@ def traceable(
       end
     end
 
-    def trace(klass_name, method_name, name, run_type, tags, *args, **kwargs) # rubocop:disable Metrics/AbcSize -- Aligned with the other interfaces.
+    def trace(klass_name, method_name, name, run_type, tags, *args, **kwargs)
       correlation_id = Labkit::Correlation::CorrelationId.current_or_new_id
 
       Langsmith::RunHelpers.run_tree ||= {}
diff --git a/ee/spec/controllers/concerns/gitlab_subscriptions/seat_count_alert_spec.rb b/ee/spec/controllers/concerns/gitlab_subscriptions/seat_count_alert_spec.rb
index 7551f3094644..74b0e86db898 100644
--- a/ee/spec/controllers/concerns/gitlab_subscriptions/seat_count_alert_spec.rb
+++ b/ee/spec/controllers/concerns/gitlab_subscriptions/seat_count_alert_spec.rb
@@ -4,7 +4,7 @@
 
 RSpec.describe GitlabSubscriptions::SeatCountAlert, feature_category: :subscription_management do
   controller(ActionController::Base) do
-    include GitlabSubscriptions::SeatCountAlert # rubocop:disable RSpec/DescribedClass
+    include GitlabSubscriptions::SeatCountAlert
   end
 
   let_it_be(:user) { create(:user) }
diff --git a/ee/spec/controllers/concerns/routable_actions_spec.rb b/ee/spec/controllers/concerns/routable_actions_spec.rb
index 8a712b2b5e16..1e510d1ee3c3 100644
--- a/ee/spec/controllers/concerns/routable_actions_spec.rb
+++ b/ee/spec/controllers/concerns/routable_actions_spec.rb
@@ -4,7 +4,7 @@
 
 RSpec.describe RoutableActions, feature_category: :system_access do
   controller(::ApplicationController) do
-    include RoutableActions # rubocop:disable RSpec/DescribedClass
+    include RoutableActions
     skip_before_action :authenticate_user!
 
     before_action :routable
diff --git a/ee/spec/factories/package_metadata/pm_licenses.rb b/ee/spec/factories/package_metadata/pm_licenses.rb
index 61f7c9c1bcad..c5b19dc9ef01 100644
--- a/ee/spec/factories/package_metadata/pm_licenses.rb
+++ b/ee/spec/factories/package_metadata/pm_licenses.rb
@@ -22,9 +22,7 @@
             license.spdx_identifier
           end
 
-        # rubocop: disable RSpec/FactoryBot/StrategyInCallback
         SoftwareLicense.where(spdx_identifier: license.spdx_identifier, name: name).first_or_create!
-        # rubocop: enable RSpec/FactoryBot/StrategyInCallback
       end
     end
   end
diff --git a/ee/spec/features/trials/lead_creation_form_validation_spec.rb b/ee/spec/features/trials/lead_creation_form_validation_spec.rb
index 407e2fb85685..57ef534d8503 100644
--- a/ee/spec/features/trials/lead_creation_form_validation_spec.rb
+++ b/ee/spec/features/trials/lead_creation_form_validation_spec.rb
@@ -44,7 +44,7 @@
       expect(page).not_to have_selector('[data-testid="state"]')
 
       expect_next_instance_of(GitlabSubscriptions::CreateLeadService) do |service|
-        expect(service).to receive(:execute).with(lead_params).and_return(ServiceResponse.success) # rubocop:disable RSpec/ExpectInHook
+        expect(service).to receive(:execute).with(lead_params).and_return(ServiceResponse.success)
       end
 
       click_button 'Continue'
diff --git a/ee/spec/helpers/ee/releases_helper_spec.rb b/ee/spec/helpers/ee/releases_helper_spec.rb
index a0ddd03f6520..beb2811ff1b9 100644
--- a/ee/spec/helpers/ee/releases_helper_spec.rb
+++ b/ee/spec/helpers/ee/releases_helper_spec.rb
@@ -6,12 +6,10 @@
   let(:project) { build(:project, namespace: create(:group)) }
   let(:release) { create(:release, project: project) }
 
-  # rubocop: disable CodeReuse/ActiveRecord
   before do
     helper.instance_variable_set(:@project, project)
     helper.instance_variable_set(:@release, release)
   end
-  # rubocop: enable CodeReuse/ActiveRecord
 
   describe '#group_milestone_project_releases_available?' do
     subject { helper.data_for_edit_release_page[:group_milestones_available] }
diff --git a/ee/spec/lib/cloud_connector/self_signed/access_data_reader_spec.rb b/ee/spec/lib/cloud_connector/self_signed/access_data_reader_spec.rb
index ddf57c26b5b3..55ec87fd1725 100644
--- a/ee/spec/lib/cloud_connector/self_signed/access_data_reader_spec.rb
+++ b/ee/spec/lib/cloud_connector/self_signed/access_data_reader_spec.rb
@@ -2,7 +2,6 @@
 
 require 'spec_helper'
 
-# rubocop:disable RSpec/MultipleMemoizedHelpers -- Test uses a lot of helpers, and will be reviewed in https://gitlab.com/gitlab-org/gitlab/-/issues/495021
 RSpec.describe CloudConnector::SelfSigned::AccessDataReader, feature_category: :cloud_connector do
   describe '#read_available_services' do
     subject(:available_services) { described_class.new.read_available_services }
@@ -21,4 +20,3 @@
     end
   end
 end
-# rubocop:enable RSpec/MultipleMemoizedHelpers
diff --git a/ee/spec/lib/code_suggestions/instructions_extractor_spec.rb b/ee/spec/lib/code_suggestions/instructions_extractor_spec.rb
index 0649ab27a2fc..f9713e16e8b8 100644
--- a/ee/spec/lib/code_suggestions/instructions_extractor_spec.rb
+++ b/ee/spec/lib/code_suggestions/instructions_extractor_spec.rb
@@ -211,7 +211,6 @@ def fibonacci(x)
 
       context 'when there are several comments in a row followed by empty line' do
         let(:content_above_cursor) do
-          # rubocop:disable Layout/TrailingWhitespace
           <<~CODE
             full_name()
             address()
@@ -220,7 +219,6 @@ def fibonacci(x)
             #{comment_sign}with 2 arguments
             #{comment_sign}first and last\n
           CODE
-          # rubocop:enable Layout/TrailingWhitespace
         end
 
         it_behaves_like 'extracted instruction' do
diff --git a/ee/spec/lib/ee/gitlab/issuable_metadata_spec.rb b/ee/spec/lib/ee/gitlab/issuable_metadata_spec.rb
index 8d6bfe38bfdf..7462119cf629 100644
--- a/ee/spec/lib/ee/gitlab/issuable_metadata_spec.rb
+++ b/ee/spec/lib/ee/gitlab/issuable_metadata_spec.rb
@@ -25,7 +25,7 @@
     end
 
     it 'aggregates stats on issues' do
-      data = described_class.new(user, Issue.all.limit(6)).data # rubocop: disable CodeReuse/ActiveRecord
+      data = described_class.new(user, Issue.all.limit(6)).data
 
       expect(data.count).to eq(6)
       expect(data[blocking_issue_1.id].blocking_issues_count).to eq(2)
diff --git a/ee/spec/lib/gitlab/geo/log_helpers_spec.rb b/ee/spec/lib/gitlab/geo/log_helpers_spec.rb
index 19691d274f42..bad9877c461f 100644
--- a/ee/spec/lib/gitlab/geo/log_helpers_spec.rb
+++ b/ee/spec/lib/gitlab/geo/log_helpers_spec.rb
@@ -7,7 +7,7 @@
     stub_const('FakeLogHelpersConsumer', Class.new)
 
     FakeLogHelpersConsumer.class_eval do
-      include Gitlab::Geo::LogHelpers # rubocop:disable RSpec/DescribedClass
+      include Gitlab::Geo::LogHelpers
 
       def execute
         log_error('Test message')
diff --git a/ee/spec/lib/gitlab/llm/completions/chat_real_requests_spec.rb b/ee/spec/lib/gitlab/llm/completions/chat_real_requests_spec.rb
index bf941b94206e..14c620546b30 100644
--- a/ee/spec/lib/gitlab/llm/completions/chat_real_requests_spec.rb
+++ b/ee/spec/lib/gitlab/llm/completions/chat_real_requests_spec.rb
@@ -133,7 +133,6 @@
         context 'with issue reference' do
           let(:input) { format(input_template, issue_identifier: "the issue #{issue.to_reference(full: true)}") }
 
-          # rubocop: disable Layout/LineLength -- keep table structure readable
           where(:input_template, :tools) do
             'Please summarize %<issue_identifier>s' | %w[IssueReader]
             'Summarize %<issue_identifier>s with bullet points' | %w[IssueReader]
@@ -144,8 +143,6 @@
             'Summarize the comments from %<issue_identifier>s into bullet points' | %w[IssueReader]
             'What should be the final solution for %<issue_identifier>s?' | %w[IssueReader]
           end
-          # rubocop: enable Layout/LineLength
-
           with_them do
             it_behaves_like 'successful prompt processing'
           end
@@ -155,7 +152,6 @@
           let(:resource) { issue }
           let(:input) { format(input_template, issue_identifier: "this issue") }
 
-          # rubocop: disable Layout/LineLength -- keep table structure readable
           where(:input_template, :tools) do
             'Please summarize %<issue_identifier>s' | %w[]
             'Can you list all the labels on %<issue_identifier>s?' | %w[]
@@ -164,8 +160,6 @@
             'For which milestone is %<issue_identifier>s? And how long until then' | %w[]
             'What should be the final solution for %<issue_identifier>s?' | %w[]
           end
-          # rubocop: enable Layout/LineLength
-
           with_them do
             it_behaves_like 'successful prompt processing'
           end
@@ -203,7 +197,6 @@
             note: '+1, our company will also use this to manage our projects!')
         end
 
-        # rubocop: disable Layout/LineLength -- keep table structure readable
         where(:input_template, :tools) do
           # evaluation of questions which involve processing of other resources is not reliable yet
           # because the IssueReader tool assumes we work with single resource:
@@ -214,8 +207,6 @@
           'Can you expand on your last paragraph?' | []
           'Can you identify the unique use cases the commenters have raised on this issue?' | %w[IssueReader]
         end
-        # rubocop: enable Layout/LineLength
-
         with_them do
           let(:input) { format(input_template) }
 
@@ -301,7 +292,6 @@
     end
 
     context 'when asking to explain code' do
-      # rubocop: disable Layout/LineLength -- keep table structure readable
       where(:input_template, :tools) do
         # NOTE: `tools: []` is the correct expected value.
         # There is no tool for explaining a code and the LLM answers the question directly.
@@ -318,8 +308,6 @@
         'Create a tic tac toe game in Javascript' | []
         'What would the ""def hello_world\\nputs(\""Hello, world!\\n\"");\nend"" code look like in Python?' | []
       end
-      # rubocop: enable Layout/LineLength
-
       with_them do
         let(:input) { input_template }
 
@@ -403,15 +391,12 @@
         context 'with epic reference' do
           let(:input) { format(input_template, epic_identifier: "the epic #{epic.to_reference(full: true)}") }
 
-          # rubocop: disable Layout/LineLength -- keep table structure readable
           where(:input_template, :tools) do
             'Please summarize %<epic_identifier>s'                    | %w[EpicReader]
             'Can you list all labels on %{epic_identifier} epic?'     | %w[EpicReader]
             'How old is %<epic_identifier>s?' | %w[EpicReader]
             'How many days ago was %<epic_identifier>s epic created?' | %w[EpicReader]
           end
-          # rubocop: enable Layout/LineLength
-
           with_them do
             it_behaves_like 'successful prompt processing'
           end
@@ -454,7 +439,6 @@
           end
         end
 
-        # rubocop: disable Layout/LineLength -- keep table structure readable
         where(:input_template, :tools) do
           # evaluation of questions which involve processing of other resources is not reliable yet
           # because the EpicReader tool assumes we work with single resource:
@@ -464,8 +448,6 @@
           'Can you reword your answer?' | []
           'Can you explain your third point in different words?' | []
         end
-        # rubocop: enable Layout/LineLength
-
         with_them do
           let(:input) { format(input_template) }
 
diff --git a/ee/spec/lib/gitlab/usage/metrics/instrumentations/count_user_merge_requests_for_projects_with_applied_scan_result_policies_metric_spec.rb b/ee/spec/lib/gitlab/usage/metrics/instrumentations/count_user_merge_requests_for_projects_with_applied_scan_result_policies_metric_spec.rb
index 026b73061ea2..7981150a5d6d 100644
--- a/ee/spec/lib/gitlab/usage/metrics/instrumentations/count_user_merge_requests_for_projects_with_applied_scan_result_policies_metric_spec.rb
+++ b/ee/spec/lib/gitlab/usage/metrics/instrumentations/count_user_merge_requests_for_projects_with_applied_scan_result_policies_metric_spec.rb
@@ -2,7 +2,7 @@
 
 require 'spec_helper'
 
-RSpec.describe Gitlab::Usage::Metrics::Instrumentations::CountUserMergeRequestsForProjectsWithAppliedScanResultPoliciesMetric do # rubocop:disable Layout/LineLength
+RSpec.describe Gitlab::Usage::Metrics::Instrumentations::CountUserMergeRequestsForProjectsWithAppliedScanResultPoliciesMetric do
   let_it_be(:user_1) { create(:user) }
   let_it_be(:user_2) { create(:user) }
 
diff --git a/ee/spec/lib/gitlab/usage/metrics/instrumentations/protected_environment_approval_rules_required_approvals_average_metric_spec.rb b/ee/spec/lib/gitlab/usage/metrics/instrumentations/protected_environment_approval_rules_required_approvals_average_metric_spec.rb
index fbbb8e09d6a1..40c2bff44078 100644
--- a/ee/spec/lib/gitlab/usage/metrics/instrumentations/protected_environment_approval_rules_required_approvals_average_metric_spec.rb
+++ b/ee/spec/lib/gitlab/usage/metrics/instrumentations/protected_environment_approval_rules_required_approvals_average_metric_spec.rb
@@ -2,7 +2,7 @@
 
 require 'spec_helper'
 
-RSpec.describe Gitlab::Usage::Metrics::Instrumentations::ProtectedEnvironmentApprovalRulesRequiredApprovalsAverageMetric do # rubocop:disable Layout/LineLength
+RSpec.describe Gitlab::Usage::Metrics::Instrumentations::ProtectedEnvironmentApprovalRulesRequiredApprovalsAverageMetric do
   # rubocop:disable Layout/LineLength
   let_it_be(:rule_not_within_timeframe) { create(:protected_environment_approval_rule, :maintainer_access, created_at: 1.day.ago) }
   let_it_be(:rule_for_maintainer_within_timeframe) { create(:protected_environment_approval_rule, :maintainer_access, required_approvals: 2, created_at: 3.days.ago) }
diff --git a/ee/spec/requests/api/vulnerability_findings_spec.rb b/ee/spec/requests/api/vulnerability_findings_spec.rb
index 7c9668041c44..c9a5b9973e8e 100644
--- a/ee/spec/requests/api/vulnerability_findings_spec.rb
+++ b/ee/spec/requests/api/vulnerability_findings_spec.rb
@@ -109,7 +109,7 @@
         it 'returns dismissed vulnerabilities with `all` scope', :aggregate_failures do
           finding_count = (sast_report.findings.count + ds_report.findings.count)
 
-          get api(project_vulnerability_findings_path, user), params: { scope: 'all' }.merge(pagination) # rubocop:disable Performance/CollectionLiteralInLoop
+          get api(project_vulnerability_findings_path, user), params: { scope: 'all' }.merge(pagination)
 
           expect(response).to have_gitlab_http_status(:ok)
 
@@ -117,7 +117,7 @@
         end
 
         it 'returns vulnerabilities with low severity', :aggregate_failures do
-          get api(project_vulnerability_findings_path, user), params: { severity: 'low' }.merge(pagination) # rubocop:disable Performance/CollectionLiteralInLoop
+          get api(project_vulnerability_findings_path, user), params: { severity: 'low' }.merge(pagination)
 
           expect(response).to have_gitlab_http_status(:ok)
 
@@ -151,7 +151,7 @@
 
           context 'with unknown pipeline' do
             it 'returns empty results' do
-              get api(project_vulnerability_findings_path, user), params: { pipeline_id: 0 }.merge(pagination) # rubocop:disable Performance/CollectionLiteralInLoop
+              get api(project_vulnerability_findings_path, user), params: { pipeline_id: 0 }.merge(pagination)
 
               expect(json_response).to eq []
             end
diff --git a/ee/spec/requests/git_http_geo_spec.rb b/ee/spec/requests/git_http_geo_spec.rb
index 1eff5aa7fd08..2b787f786229 100644
--- a/ee/spec/requests/git_http_geo_spec.rb
+++ b/ee/spec/requests/git_http_geo_spec.rb
@@ -334,7 +334,6 @@ def make_request
             end
           end
 
-          # rubocop:disable RSpec/MultipleMemoizedHelpers
           context 'operation download' do
             let(:user) { create(:user) }
             let(:authorization) { ActionController::HttpAuthentication::Basic.encode_credentials(user.username, user.password) }
@@ -420,7 +419,6 @@ def make_request
               end
             end
           end
-          # rubocop:enable RSpec/MultipleMemoizedHelpers
         end
       end
 
diff --git a/ee/spec/serializers/vulnerabilities/external_issue_link_entity_spec.rb b/ee/spec/serializers/vulnerabilities/external_issue_link_entity_spec.rb
index e783c24bbc08..01488a41cff5 100644
--- a/ee/spec/serializers/vulnerabilities/external_issue_link_entity_spec.rb
+++ b/ee/spec/serializers/vulnerabilities/external_issue_link_entity_spec.rb
@@ -3,11 +3,8 @@
 require 'spec_helper'
 
 RSpec.describe Vulnerabilities::ExternalIssueLinkEntity, feature_category: :vulnerability_management do
-  # rubocop: disable RSpec/FactoryBot/AvoidCreate -- needs to be persisted
   let_it_be(:project) { build(:project, :repository) }
   let_it_be(:jira_integration) { build(:jira_integration, project: project) }
-  # rubocop: enable RSpec/FactoryBot/AvoidCreate
-
   let_it_be(:user) { build_stubbed(:user) }
   let_it_be(:vulnerability) { build(:vulnerability, project: project) }
 
diff --git a/ee/spec/services/security/merge_reports_service_spec.rb b/ee/spec/services/security/merge_reports_service_spec.rb
index f0b474f24c55..bb7738bb82d8 100644
--- a/ee/spec/services/security/merge_reports_service_spec.rb
+++ b/ee/spec/services/security/merge_reports_service_spec.rb
@@ -110,7 +110,7 @@
       specify { expect(ds_merged_report.findings.last.identifiers).to match_array(finding_id_2_loc_1.identifiers) }
     end
 
-    context 'merging reports step by step' do # rubocop:disable RSpec/MultipleMemoizedHelpers
+    context 'merging reports step by step' do
       let(:gitlab_identifier) { build(:ci_reports_security_identifier, external_id: 'GL-01', external_type: 'gitlab') }
       let(:finding_id_4) { build(:ci_reports_security_finding, identifiers: [identifier_cwe, gitlab_identifier], scanner: gemnasium_scanner, report_type: :dependency_scanning) }
       let(:finding_id_5) { build(:ci_reports_security_finding, identifiers: [identifier_cwe, gitlab_identifier], scanner: retire_js_scaner, report_type: :dependency_scanning) }
diff --git a/ee/spec/support/shared_examples/models/elasticsearch_indexed_container_shared_examples.rb b/ee/spec/support/shared_examples/models/elasticsearch_indexed_container_shared_examples.rb
index 42a19d1b27ef..86b39dfc5fc8 100644
--- a/ee/spec/support/shared_examples/models/elasticsearch_indexed_container_shared_examples.rb
+++ b/ee/spec/support/shared_examples/models/elasticsearch_indexed_container_shared_examples.rb
@@ -2,7 +2,7 @@
 
 RSpec.shared_examples 'an elasticsearch indexed container' do
   describe 'validations' do
-    subject { create(container, container_attributes) } # rubocop:disable Rails/SaveBang
+    subject { create(container, container_attributes) }
 
     it 'validates uniqueness of main attribute' do
       is_expected.to validate_uniqueness_of(required_attribute)
@@ -27,7 +27,7 @@
     end
 
     describe 'on destroy' do
-      subject { create(container, container_attributes) } # rubocop:disable Rails/SaveBang
+      subject { create(container, container_attributes) }
 
       it 'triggers delete_from_index' do
         is_expected.to receive(:delete_from_index)
diff --git a/ee/spec/support/shared_examples/models/geo_verifiable_registry_shared_examples.rb b/ee/spec/support/shared_examples/models/geo_verifiable_registry_shared_examples.rb
index 4fc35d977f0a..e982685b6a7f 100644
--- a/ee/spec/support/shared_examples/models/geo_verifiable_registry_shared_examples.rb
+++ b/ee/spec/support/shared_examples/models/geo_verifiable_registry_shared_examples.rb
@@ -92,7 +92,6 @@
     end
 
     it 'excludes rows which are not synced or are not pending verification' do
-      # rubocop:disable Rails/SaveBang
       create(registry_class_factory, verification_state: verification_state_value(:verification_pending))
       create(registry_class_factory, :started, verification_state: verification_state_value(:verification_pending))
       create(registry_class_factory, :failed, verification_state: verification_state_value(:verification_pending))
@@ -100,8 +99,6 @@
       create(registry_class_factory, :synced, verification_state: verification_state_value(:verification_started))
       create(registry_class_factory, :synced, verification_state: verification_state_value(:verification_succeeded), verification_checksum: 'abc123')
       create(registry_class_factory, :synced, verification_state: verification_state_value(:verification_disabled))
-      # rubocop:enable Rails/SaveBang
-
       expect(described_class.verification_pending_batch(batch_size: 4)).to match_array([subject.model_record_id])
     end
 
@@ -153,7 +150,6 @@
       end
 
       it 'excludes rows which are not synced or have not failed verification' do
-        # rubocop:disable Rails/SaveBang
         create(registry_class_factory, verification_state: verification_state_value(:verification_failed), verification_failure: 'foo')
         create(registry_class_factory, :started, verification_state: verification_state_value(:verification_failed), verification_failure: 'foo')
         create(registry_class_factory, :failed, verification_state: verification_state_value(:verification_failed), verification_failure: 'foo')
@@ -161,8 +157,6 @@
         create(registry_class_factory, :synced, verification_state: verification_state_value(:verification_started))
         create(registry_class_factory, :synced, verification_state: verification_state_value(:verification_succeeded), verification_checksum: 'abc123')
         create(registry_class_factory, :synced, verification_state: verification_state_value(:verification_disabled))
-        # rubocop:enable Rails/SaveBang
-
         expect(described_class.verification_failed_batch(batch_size: 4)).to match_array([subject.model_record_id])
       end
 
@@ -207,26 +201,23 @@
     end
 
     it 'includes rows which are synced and failed verification and are due for retry' do
-      create(registry_class_factory, :synced, verification_state: verification_state_value(:verification_failed), verification_failure: 'foo', verification_retry_at: 1.minute.ago) # rubocop:disable Rails/SaveBang
+      create(registry_class_factory, :synced, verification_state: verification_state_value(:verification_failed), verification_failure: 'foo', verification_retry_at: 1.minute.ago)
 
       expect(described_class.needs_verification_count(limit: 3)).to eq(2)
     end
 
     it 'excludes rows which are synced and failed verification and have a future retry time' do
-      create(registry_class_factory, :synced, verification_state: verification_state_value(:verification_failed), verification_failure: 'foo', verification_retry_at: 1.minute.from_now) # rubocop:disable Rails/SaveBang
+      create(registry_class_factory, :synced, verification_state: verification_state_value(:verification_failed), verification_failure: 'foo', verification_retry_at: 1.minute.from_now)
 
       expect(described_class.needs_verification_count(limit: 3)).to eq(1)
     end
 
     it 'excludes rows which are not synced or are not (pending or failed) verification' do
-      # rubocop:disable Rails/SaveBang
       create(registry_class_factory, verification_state: verification_state_value(:verification_pending))
       create(registry_class_factory, :started, verification_state: verification_state_value(:verification_pending))
       create(registry_class_factory, :failed, verification_state: verification_state_value(:verification_pending))
       create(registry_class_factory, :synced, verification_state: verification_state_value(:verification_started))
       create(registry_class_factory, :synced, verification_state: verification_state_value(:verification_succeeded), verification_checksum: 'abc123')
-      # rubocop:enable Rails/SaveBang
-
       expect(described_class.needs_verification_count(limit: 3)).to eq(1)
     end
   end
diff --git a/lib/api/api.rb b/lib/api/api.rb
index 9ea1e9309c33..b9352ad81d17 100644
--- a/lib/api/api.rb
+++ b/lib/api/api.rb
@@ -413,7 +413,7 @@ def initialize(location_url)
     mount ::API::Internal::Workhorse
     mount ::API::Internal::Shellhorse
 
-    route :any, '*path', feature_category: :not_owned do # rubocop:todo Gitlab/AvoidFeatureCategoryNotOwned
+    route :any, '*path', feature_category: :not_owned do
       error!('404 Not Found', 404)
     end
   end
diff --git a/lib/api/entities/issuable_time_stats.rb b/lib/api/entities/issuable_time_stats.rb
index 717d2282441c..b1024fb5e4e1 100644
--- a/lib/api/entities/issuable_time_stats.rb
+++ b/lib/api/entities/issuable_time_stats.rb
@@ -15,12 +15,10 @@ class IssuableTimeStats < Grape::Entity
         expose :total_time_spent, as: :human_total_time_spent, documentation: { type: 'string', example: '1h' }
       end
 
-      # rubocop: disable CodeReuse/ActiveRecord
       def total_time_spent
         # Avoids an N+1 query since timelogs are preloaded
         object.timelogs.sum(&:time_spent)
       end
-      # rubocop: enable CodeReuse/ActiveRecord
     end
   end
 end
diff --git a/lib/api/entities/tag.rb b/lib/api/entities/tag.rb
index b4c6214e86d0..8c5af364d994 100644
--- a/lib/api/entities/tag.rb
+++ b/lib/api/entities/tag.rb
@@ -13,12 +13,9 @@ class Tag < Grape::Entity
         options[:project].repository.commit(repo_tag.dereferenced_target)
       end
 
-      # rubocop: disable CodeReuse/ActiveRecord
       expose :release, using: Entities::TagRelease, if: ->(*) { can_read_release? } do |repo_tag, options|
         options[:releases]&.find { |r| r.tag == repo_tag.name }
       end
-      # rubocop: enable CodeReuse/ActiveRecord
-
       expose :protected, documentation: { type: 'boolean', example: true } do |repo_tag, options|
         ::ProtectedTag.protected?(options[:project], repo_tag.name)
       end
diff --git a/lib/api/helpers.rb b/lib/api/helpers.rb
index a9ce3ff68907..b64d206b4b52 100644
--- a/lib/api/helpers.rb
+++ b/lib/api/helpers.rb
@@ -227,12 +227,10 @@ def find_group!(id, organization: nil)
       check_group_access(group)
     end
 
-    # rubocop: disable CodeReuse/ActiveRecord
     def find_group_by_full_path!(full_path)
       group = Group.find_by_full_path(full_path)
       check_group_access(group)
     end
-    # rubocop: enable CodeReuse/ActiveRecord
 
     def check_group_access(group)
       return group if can?(current_user, :read_group, group)
diff --git a/lib/api/issue_links.rb b/lib/api/issue_links.rb
index 0f5551e112ba..5361ac5d06da 100644
--- a/lib/api/issue_links.rb
+++ b/lib/api/issue_links.rb
@@ -59,7 +59,6 @@ class IssueLinks < ::API::Base
           desc: 'The type of the relation (“relates_to”, “blocks”, “is_blocked_by”),'\
            'defaults to “relates_to”)'
       end
-      # rubocop: disable CodeReuse/ActiveRecord
       post ':id/issues/:issue_iid/links' do
         source_issue = find_project_issue(params[:issue_iid])
         target_issue = find_project_issue(declared_params[:target_issue_iid],
@@ -77,8 +76,6 @@ class IssueLinks < ::API::Base
           render_api_error!(result[:message], result[:http_status])
         end
       end
-      # rubocop: enable CodeReuse/ActiveRecord
-
       desc 'Get an issue link' do
         detail 'Gets details about an issue link. This feature was introduced in GitLab 15.1.'
         success Entities::IssueLink
diff --git a/lib/backup/options.rb b/lib/backup/options.rb
index 4848d23405fd..2db6e8ae4242 100644
--- a/lib/backup/options.rb
+++ b/lib/backup/options.rb
@@ -186,7 +186,7 @@ def initialize(
     end
     # rubocop:enable Metrics/ParameterLists
 
-    # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize -- TODO: Complexity will be solved in the Unified Backup implementation (https://gitlab.com/groups/gitlab-org/-/epics/11635)
+    # rubocop:disable Metrics/AbcSize -- TODO: Complexity will be solved in the Unified Backup implementation (https://gitlab.com/groups/gitlab-org/-/epics/11635)
     # Extract supported options from defined ENV variables
     def extract_from_env!
       # We've used lowercase `force` as the key while ENV normally is defined using UPPERCASE letters
@@ -212,7 +212,7 @@ def extract_from_env!
 
       extract_skippables!(ENV['SKIP']) if ENV['SKIP'].present?
     end
-    # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize
+    # rubocop:enable Metrics/AbcSize
 
     def update_from_backup_information!(backup_information)
       self.repositories_storages += backup_information[:repositories_storages]&.split(',') || []
diff --git a/lib/bulk_imports/pipeline/runner.rb b/lib/bulk_imports/pipeline/runner.rb
index 8d937dcf4535..f9b2f9784c1b 100644
--- a/lib/bulk_imports/pipeline/runner.rb
+++ b/lib/bulk_imports/pipeline/runner.rb
@@ -64,7 +64,7 @@ def run
 
       def on_finish; end
 
-      private # rubocop:disable Lint/UselessAccessModifier
+      private
 
       def run_pipeline_step(step, class_name = nil, entry = nil)
         raise MarkedAsFailedError if context.entity.failed?
diff --git a/lib/container_registry/tag.rb b/lib/container_registry/tag.rb
index d4a4ef205b16..5c66c92b8871 100644
--- a/lib/container_registry/tag.rb
+++ b/lib/container_registry/tag.rb
@@ -135,7 +135,6 @@ def put(digests)
       repository.client.put_tag(repository.path, name, digests)
     end
 
-    # rubocop: disable CodeReuse/ActiveRecord
     def total_size
       return @total_size if @total_size
 
@@ -143,7 +142,6 @@ def total_size
 
       layers.sum(&:size) if v2?
     end
-    # rubocop: enable CodeReuse/ActiveRecord
 
     # Deletes the image associated with this tag
     # Note this will delete the image and all tags associated with it.
diff --git a/lib/event_filter.rb b/lib/event_filter.rb
index deff8b5fc05e..4d9f4d0f7631 100644
--- a/lib/event_filter.rb
+++ b/lib/event_filter.rb
@@ -48,7 +48,6 @@ def apply_filter(events)
     end
   end
 
-  # rubocop: disable Metrics/CyclomaticComplexity
   # This method build specialized in-operator optimized queries based on different
   # filter parameters. All queries will benefit from the index covering the following columns:
   # * author_id target_type action id
@@ -119,7 +118,6 @@ def in_operator_query_builder_params(array_data)
       in_operator_params(array_data: array_data)
     end
   end
-  # rubocop: enable Metrics/CyclomaticComplexity
 
   private
 
diff --git a/lib/feature.rb b/lib/feature.rb
index e2b2039a04f7..ce36a970f6b6 100644
--- a/lib/feature.rb
+++ b/lib/feature.rb
@@ -68,7 +68,7 @@ class ActiveSupportCacheStoreAdapter < Flipper::Adapters::ActiveSupportCacheStor
   end
 
   InvalidFeatureFlagError = Class.new(Exception) # rubocop:disable Lint/InheritException
-  InvalidOperation = Class.new(ArgumentError) # rubocop:disable Lint/InheritException
+  InvalidOperation = Class.new(ArgumentError)
 
   class << self
     delegate :group, to: :flipper
diff --git a/lib/gitlab/analytics/cycle_analytics/aggregated/base_query_builder.rb b/lib/gitlab/analytics/cycle_analytics/aggregated/base_query_builder.rb
index 085f722a66cb..476b18df8a17 100644
--- a/lib/gitlab/analytics/cycle_analytics/aggregated/base_query_builder.rb
+++ b/lib/gitlab/analytics/cycle_analytics/aggregated/base_query_builder.rb
@@ -4,7 +4,6 @@ module Gitlab
   module Analytics
     module CycleAnalytics
       module Aggregated
-        # rubocop: disable CodeReuse/ActiveRecord
         class BaseQueryBuilder
           include StageQueryHelpers
 
@@ -122,7 +121,6 @@ def find_user(username)
             User.by_username(username).first
           end
         end
-        # rubocop: enable CodeReuse/ActiveRecord
       end
     end
   end
diff --git a/lib/gitlab/analytics/cycle_analytics/aggregated/records_fetcher.rb b/lib/gitlab/analytics/cycle_analytics/aggregated/records_fetcher.rb
index 552d06eb2142..089e525b83da 100644
--- a/lib/gitlab/analytics/cycle_analytics/aggregated/records_fetcher.rb
+++ b/lib/gitlab/analytics/cycle_analytics/aggregated/records_fetcher.rb
@@ -110,7 +110,6 @@ def serializer
             MAPPINGS.fetch(subject_class).fetch(:serializer_class).new
           end
 
-          # rubocop: disable CodeReuse/ActiveRecord
           def preload_associations(records)
             ActiveRecord::Associations::Preloader.new(
               records: records,
@@ -119,7 +118,6 @@ def preload_associations(records)
 
             records
           end
-          # rubocop: enable CodeReuse/ActiveRecord
         end
       end
     end
diff --git a/lib/gitlab/analytics/cycle_analytics/base_query_builder.rb b/lib/gitlab/analytics/cycle_analytics/base_query_builder.rb
index bcfe0b92b283..93657e9174a6 100644
--- a/lib/gitlab/analytics/cycle_analytics/base_query_builder.rb
+++ b/lib/gitlab/analytics/cycle_analytics/base_query_builder.rb
@@ -22,13 +22,11 @@ def initialize(stage:, params: {})
           @params[:state] = :opened if in_progress?
         end
 
-        # rubocop: disable CodeReuse/ActiveRecord
         def build
           query = finder.execute
           query = stage.start_event.apply_query_customization(query)
           apply_end_event_query_customization(query)
         end
-        # rubocop: enable CodeReuse/ActiveRecord
 
         private
 
diff --git a/lib/gitlab/analytics/cycle_analytics/records_fetcher.rb b/lib/gitlab/analytics/cycle_analytics/records_fetcher.rb
index cb4b908bc5e5..3f05e513df7a 100644
--- a/lib/gitlab/analytics/cycle_analytics/records_fetcher.rb
+++ b/lib/gitlab/analytics/cycle_analytics/records_fetcher.rb
@@ -23,7 +23,6 @@ def initialize(stage:, query:, params: {})
           @per_page = MAX_RECORDS
         end
 
-        # rubocop: disable CodeReuse/ActiveRecord
         def serialized_records
           strong_memoize(:serialized_records) do
             records = ordered_and_limited_query.select(*columns, *time_columns)
@@ -51,7 +50,6 @@ def records_for_graphql
 
           preload_associations(records)
         end
-        # rubocop: enable CodeReuse/ActiveRecord
 
         private
 
@@ -73,7 +71,6 @@ def ordered_and_limited_query
           end
         end
 
-        # rubocop: disable CodeReuse/ActiveRecord
         def preload_associations(records)
           # using preloader instead of includes to avoid AR generating a large column list
           ActiveRecord::Associations::Preloader.new(
@@ -84,7 +81,6 @@ def preload_associations(records)
           records
         end
 
-        # rubocop: enable CodeReuse/ActiveRecord
         def time_columns
           [
             stage.start_event.timestamp_projection.as('start_event_timestamp'),
diff --git a/lib/gitlab/application_context.rb b/lib/gitlab/application_context.rb
index 0bafa7414ced..57d124a2822f 100644
--- a/lib/gitlab/application_context.rb
+++ b/lib/gitlab/application_context.rb
@@ -119,8 +119,6 @@ def initialize(**args)
       set_attr_readers
     end
 
-    # rubocop: disable Metrics/CyclomaticComplexity
-    # rubocop: disable Metrics/PerceivedComplexity
     # rubocop: disable Metrics/AbcSize
     def to_lazy_hash
       {}.tap do |hash|
@@ -151,8 +149,6 @@ def to_lazy_hash
         hash[:bulk_import_entity_id] = -> { bulk_import_entity_id } if set_values.include?(:bulk_import_entity_id)
       end
     end
-    # rubocop: enable Metrics/CyclomaticComplexity
-    # rubocop: enable Metrics/PerceivedComplexity
     # rubocop: enable Metrics/AbcSize
 
     def use
diff --git a/lib/gitlab/cache/request_cache.rb b/lib/gitlab/cache/request_cache.rb
index 13b4cace08ad..a174892db67f 100644
--- a/lib/gitlab/cache/request_cache.rb
+++ b/lib/gitlab/cache/request_cache.rb
@@ -55,7 +55,7 @@ def request_cache(method_name, &method_key_block)
               .join(':')
           end
 
-          private cache_key_method_name # rubocop: disable Style/AccessModifierDeclarations
+          private cache_key_method_name
         end
       end
     end
diff --git a/lib/gitlab/data_builder/pipeline.rb b/lib/gitlab/data_builder/pipeline.rb
index 2fa0b40df149..65b68ccaa7e2 100644
--- a/lib/gitlab/data_builder/pipeline.rb
+++ b/lib/gitlab/data_builder/pipeline.rb
@@ -43,7 +43,6 @@ def with_retried_builds
 
       private
 
-      # rubocop: disable CodeReuse/ActiveRecord
       def preload_builds(pipeline, association)
         ActiveRecord::Associations::Preloader.new(
           records: [pipeline],
@@ -59,7 +58,6 @@ def preload_builds(pipeline, association)
           }
         ).call
       end
-      # rubocop: enable CodeReuse/ActiveRecord
 
       def hook_attrs(pipeline)
         {
diff --git a/lib/gitlab/diff/file.rb b/lib/gitlab/diff/file.rb
index ed43862a19b8..26b8b01b2697 100644
--- a/lib/gitlab/diff/file.rb
+++ b/lib/gitlab/diff/file.rb
@@ -350,17 +350,13 @@ def different_type?
         old_blob && new_blob && old_blob.binary? != new_blob.binary?
       end
 
-      # rubocop: disable CodeReuse/ActiveRecord
       def size
         valid_blobs.sum(&:size)
       end
-      # rubocop: enable CodeReuse/ActiveRecord
 
-      # rubocop: disable CodeReuse/ActiveRecord
       def raw_size
         valid_blobs.sum(&:raw_size)
       end
-      # rubocop: enable CodeReuse/ActiveRecord
 
       def empty?
         valid_blobs.map(&:empty?).all?
diff --git a/lib/gitlab/diff/file_collection/paginated_diffs.rb b/lib/gitlab/diff/file_collection/paginated_diffs.rb
index 63c186affe93..c5661145d5dc 100644
--- a/lib/gitlab/diff/file_collection/paginated_diffs.rb
+++ b/lib/gitlab/diff/file_collection/paginated_diffs.rb
@@ -23,7 +23,7 @@ def diffs
 
             collection =
               if offset_index && offset_index > 0
-                offset_collection = relation.limit(offset_index) # rubocop:disable CodeReuse/ActiveRecord
+                offset_collection = relation.limit(offset_index)
                 options[:offset_index] = offset_index
                 offset_collection + collection
               else
diff --git a/lib/gitlab/diff/pair_selector.rb b/lib/gitlab/diff/pair_selector.rb
index e848f5107ae7..e51c35540f84 100644
--- a/lib/gitlab/diff/pair_selector.rb
+++ b/lib/gitlab/diff/pair_selector.rb
@@ -6,7 +6,6 @@ class PairSelector
       include Enumerable
 
       # Regex to find a run of deleted lines followed by the same number of added lines
-      # rubocop: disable Lint/MixedRegexpCaptureTypes
       LINE_PAIRS_PATTERN = %r{
         # Runs start at the beginning of the string (the first line) or after a space (for an unchanged line)
         (?:\A|\s)
@@ -21,8 +20,6 @@ class PairSelector
         # Runs end at the end of the string (the last line) or before a space (for an unchanged line)
         (?=\s|\z)
       }x
-      # rubocop: enable Lint/MixedRegexpCaptureTypes
-
       def initialize(lines)
         @lines = lines
       end
diff --git a/lib/gitlab/diff/parser.rb b/lib/gitlab/diff/parser.rb
index 1bf517759774..9a34f96d91a8 100644
--- a/lib/gitlab/diff/parser.rb
+++ b/lib/gitlab/diff/parser.rb
@@ -56,7 +56,7 @@ def parse(lines, diff_file: nil)
             when "-"
               line_old += 1
               context = :old
-            when "\\" # rubocop:disable Lint/EmptyWhen
+            when "\\"
               # No increment
             else
               line_new += 1
diff --git a/lib/gitlab/diff/rendered/notebook/diff_file_helper.rb b/lib/gitlab/diff/rendered/notebook/diff_file_helper.rb
index b4b7d5729019..369acf7ce1ec 100644
--- a/lib/gitlab/diff/rendered/notebook/diff_file_helper.rb
+++ b/lib/gitlab/diff/rendered/notebook/diff_file_helper.rb
@@ -4,7 +4,7 @@ module Diff
     module Rendered
       module Notebook
         module DiffFileHelper
-          require 'set' # rubocop:disable Lint/RedundantRequireStatement -- Ruby 3.1 and earlier needs this. Drop this line after Ruby 3.2+ is only supported.
+          require 'set' # -- Ruby 3.1 and earlier needs this. Drop this line after Ruby 3.2+ is only supported.
 
           EMBEDDED_IMAGE_PATTERN = '    ![](data:image'
 
diff --git a/lib/gitlab/encrypted_incoming_email_command.rb b/lib/gitlab/encrypted_incoming_email_command.rb
index 05fc7cac000b..0caf65ab7946 100644
--- a/lib/gitlab/encrypted_incoming_email_command.rb
+++ b/lib/gitlab/encrypted_incoming_email_command.rb
@@ -1,6 +1,5 @@
 # frozen_string_literal: true
 
-# rubocop:disable Rails/Output
 module Gitlab
   class EncryptedIncomingEmailCommand < EncryptedCommandBase
     DISPLAY_NAME = "INCOMING_EMAIL"
@@ -20,4 +19,3 @@ def encrypted_file_template
     end
   end
 end
-# rubocop:enable Rails/Output
diff --git a/lib/gitlab/encrypted_redis_command.rb b/lib/gitlab/encrypted_redis_command.rb
index 608edcdb9500..e72448083bc0 100644
--- a/lib/gitlab/encrypted_redis_command.rb
+++ b/lib/gitlab/encrypted_redis_command.rb
@@ -1,6 +1,5 @@
 # frozen_string_literal: true
 
-# rubocop:disable Rails/Output
 module Gitlab
   class EncryptedRedisCommand < EncryptedCommandBase
     DISPLAY_NAME = "Redis"
@@ -53,4 +52,3 @@ def encrypted_file_template
     end
   end
 end
-# rubocop:enable Rails/Output
diff --git a/lib/gitlab/encrypted_service_desk_email_command.rb b/lib/gitlab/encrypted_service_desk_email_command.rb
index 1a0317e0da9b..5a5d84a81bbd 100644
--- a/lib/gitlab/encrypted_service_desk_email_command.rb
+++ b/lib/gitlab/encrypted_service_desk_email_command.rb
@@ -1,6 +1,5 @@
 # frozen_string_literal: true
 
-# rubocop:disable Rails/Output
 module Gitlab
   class EncryptedServiceDeskEmailCommand < EncryptedCommandBase
     DISPLAY_NAME = "SERVICE_DESK_EMAIL"
@@ -20,4 +19,3 @@ def encrypted_file_template
     end
   end
 end
-# rubocop:enable Rails/Output
diff --git a/lib/gitlab/encrypted_smtp_command.rb b/lib/gitlab/encrypted_smtp_command.rb
index 51a476b143d1..02938da0736e 100644
--- a/lib/gitlab/encrypted_smtp_command.rb
+++ b/lib/gitlab/encrypted_smtp_command.rb
@@ -1,6 +1,5 @@
 # frozen_string_literal: true
 
-# rubocop:disable Rails/Output
 module Gitlab
   class EncryptedSmtpCommand < EncryptedCommandBase
     DISPLAY_NAME = "SMTP"
@@ -20,4 +19,3 @@ def encrypted_file_template
     end
   end
 end
-# rubocop:enable Rails/Output
diff --git a/lib/gitlab/error_tracking/processor/sidekiq_processor.rb b/lib/gitlab/error_tracking/processor/sidekiq_processor.rb
index a0b6318e0664..033e08eced2c 100644
--- a/lib/gitlab/error_tracking/processor/sidekiq_processor.rb
+++ b/lib/gitlab/error_tracking/processor/sidekiq_processor.rb
@@ -1,6 +1,6 @@
 # frozen_string_literal: true
 
-require 'set' # rubocop:disable Lint/RedundantRequireStatement -- Ruby 3.1 and earlier needs this. Drop this line after Ruby 3.2+ is only supported.
+require 'set' # -- Ruby 3.1 and earlier needs this. Drop this line after Ruby 3.2+ is only supported.
 
 module Gitlab
   module ErrorTracking
diff --git a/lib/gitlab/file_detector.rb b/lib/gitlab/file_detector.rb
index 91f4e733e9a3..62a3f70cd1ea 100644
--- a/lib/gitlab/file_detector.rb
+++ b/lib/gitlab/file_detector.rb
@@ -1,6 +1,6 @@
 # frozen_string_literal: true
 
-require 'set' # rubocop:disable Lint/RedundantRequireStatement -- Ruby 3.1 and earlier needs this. Drop this line after Ruby 3.2+ is only supported.
+require 'set' # -- Ruby 3.1 and earlier needs this. Drop this line after Ruby 3.2+ is only supported.
 
 module Gitlab
   # Module that can be used to detect if a path points to a special file such as
diff --git a/lib/gitlab/git/commit.rb b/lib/gitlab/git/commit.rb
index 7c7f9e3374c6..c881affff111 100644
--- a/lib/gitlab/git/commit.rb
+++ b/lib/gitlab/git/commit.rb
@@ -105,7 +105,6 @@ def last(repo)
         #   Commit.last_for_path(repo, 'master', 'Gemfile')
         #
         def last_for_path(repo, ref, path = nil, literal_pathspec: false)
-          # rubocop: disable Rails/FindBy
           # This is not where..first from ActiveRecord
           where(
             repo: repo,
@@ -114,7 +113,6 @@ def last_for_path(repo, ref, path = nil, literal_pathspec: false)
             limit: 1,
             literal_pathspec: literal_pathspec
           ).first
-          # rubocop: enable Rails/FindBy
         end
 
         # Get commits between two revspecs
diff --git a/lib/gitlab/git/patches/collection.rb b/lib/gitlab/git/patches/collection.rb
index ad6b5d32abca..4359d5c720ef 100644
--- a/lib/gitlab/git/patches/collection.rb
+++ b/lib/gitlab/git/patches/collection.rb
@@ -20,13 +20,11 @@ def valid_size?
           size < MAX_PATCH_SIZE
         end
 
-        # rubocop: disable CodeReuse/ActiveRecord
         # `@patches` is not an `ActiveRecord` relation, but an `Enumerable`
         # We're using sum from `ActiveSupport`
         def size
           @size ||= @patches.sum(&:size)
         end
-        # rubocop: enable CodeReuse/ActiveRecord
       end
     end
   end
diff --git a/lib/gitlab/github_import/markdown_text.rb b/lib/gitlab/github_import/markdown_text.rb
index 5e2c9b06c977..69f3b0a6cb6d 100644
--- a/lib/gitlab/github_import/markdown_text.rb
+++ b/lib/gitlab/github_import/markdown_text.rb
@@ -2,7 +2,6 @@
 
 # This class includes overriding Kernel#format method
 # what makes impossible to use it here
-# rubocop:disable Style/FormatString
 module Gitlab
   module GithubImport
     class MarkdownText
@@ -87,4 +86,3 @@ def format
     end
   end
 end
-# rubocop:enable Style/FormatString
diff --git a/lib/gitlab/github_import/user_finder.rb b/lib/gitlab/github_import/user_finder.rb
index 204851fdeb08..603851b1de39 100644
--- a/lib/gitlab/github_import/user_finder.rb
+++ b/lib/gitlab/github_import/user_finder.rb
@@ -197,17 +197,13 @@ def id_for_github_email(email)
         Gitlab::Cache::Import::Caching.write(ID_FOR_EMAIL_CACHE_KEY % email, gitlab_id)
       end
 
-      # rubocop: disable CodeReuse/ActiveRecord
       def query_id_for_github_id(id)
         User.by_provider_and_extern_uid(:github, id).select(:id).first&.id
       end
-      # rubocop: enable CodeReuse/ActiveRecord
 
-      # rubocop: disable CodeReuse/ActiveRecord
       def query_id_for_github_email(email)
         User.by_any_email(email).pick(:id)
       end
-      # rubocop: enable CodeReuse/ActiveRecord
 
       # Reads an ID from the cache.
       #
diff --git a/lib/gitlab/graphql/pagination/keyset/connection.rb b/lib/gitlab/graphql/pagination/keyset/connection.rb
index 208ca5f2d244..55de4a8aef68 100644
--- a/lib/gitlab/graphql/pagination/keyset/connection.rb
+++ b/lib/gitlab/graphql/pagination/keyset/connection.rb
@@ -124,7 +124,6 @@ def limited_nodes
             end
           end
 
-          # rubocop: disable CodeReuse/ActiveRecord
           def slice_nodes(sliced, encoded_cursor, before_or_after)
             order = Gitlab::Pagination::Keyset::Order.extract_keyset_order_object(sliced)
             order = order.reversed_order if before_or_after == :before
@@ -132,7 +131,6 @@ def slice_nodes(sliced, encoded_cursor, before_or_after)
             decoded_cursor = ordering_from_encoded_json(encoded_cursor)
             order.apply_cursor_conditions(sliced, decoded_cursor)
           end
-          # rubocop: enable CodeReuse/ActiveRecord
 
           def limit_value
             # note: only first _or_ last can be specified, not both
diff --git a/lib/gitlab/health_checks/metric.rb b/lib/gitlab/health_checks/metric.rb
index c1e437831d7f..b697cb0d027d 100644
--- a/lib/gitlab/health_checks/metric.rb
+++ b/lib/gitlab/health_checks/metric.rb
@@ -1,4 +1,3 @@
-# rubocop:disable Naming/FileName
 # frozen_string_literal: true
 
 module Gitlab
@@ -6,5 +5,3 @@ module HealthChecks
     Metric = Struct.new(:name, :value, :labels)
   end
 end
-
-# rubocop:enable Naming/FileName
diff --git a/lib/gitlab/health_checks/probes/status.rb b/lib/gitlab/health_checks/probes/status.rb
index 1c59f18ff7d5..192e93660010 100644
--- a/lib/gitlab/health_checks/probes/status.rb
+++ b/lib/gitlab/health_checks/probes/status.rb
@@ -1,4 +1,3 @@
-# rubocop:disable Naming/FileName
 # frozen_string_literal: true
 
 module Gitlab
@@ -13,5 +12,3 @@ def success?
     end
   end
 end
-
-# rubocop:enable Naming/FileName
diff --git a/lib/gitlab/health_checks/result.rb b/lib/gitlab/health_checks/result.rb
index cbb847d2af29..38a36100ec7e 100644
--- a/lib/gitlab/health_checks/result.rb
+++ b/lib/gitlab/health_checks/result.rb
@@ -1,4 +1,3 @@
-# rubocop:disable Naming/FileName
 # frozen_string_literal: true
 
 module Gitlab
@@ -14,5 +13,3 @@ def payload
     end
   end
 end
-
-# rubocop:enable Naming/FileName
diff --git a/lib/gitlab/middleware/release_env.rb b/lib/gitlab/middleware/release_env.rb
index 2439e873e0b3..0719fb2e8c69 100644
--- a/lib/gitlab/middleware/release_env.rb
+++ b/lib/gitlab/middleware/release_env.rb
@@ -1,4 +1,3 @@
-# rubocop:disable Naming/FileName
 # frozen_string_literal: true
 
 module Gitlab
@@ -15,5 +14,3 @@ def call(env)
     end
   end
 end
-
-# rubocop:enable Naming/FileName
diff --git a/lib/gitlab/object_hierarchy.rb b/lib/gitlab/object_hierarchy.rb
index 0576aed811cb..17a163db17d3 100644
--- a/lib/gitlab/object_hierarchy.rb
+++ b/lib/gitlab/object_hierarchy.rb
@@ -84,22 +84,18 @@ def base_and_ancestors(upto: nil, hierarchy_order: nil)
     #
     # When `with_depth` is `true`, a `depth` column is included where it starts with `1` for the base objects
     # and incremented as we go down the descendant tree
-    # rubocop: disable CodeReuse/ActiveRecord
     def base_and_descendants(with_depth: false)
       outer_select_relation = unscoped_model.all
       outer_select_relation = outer_select_relation.select(objects_table[Arel.star]) if with_depth # Otherwise Active Record will not select `depth` as it's not a table column
 
       read_only(base_and_descendants_cte(with_depth: with_depth).apply_to(outer_select_relation))
     end
-    # rubocop: enable CodeReuse/ActiveRecord
 
     # Returns a relation that includes ID of the descendants_base set of objects
     # and all their descendants IDs (recursively).
-    # rubocop: disable CodeReuse/ActiveRecord
     def base_and_descendant_ids
       read_only(base_and_descendant_ids_cte.apply_to(unscoped_model.select(objects_table[:id])))
     end
-    # rubocop: enable CodeReuse/ActiveRecord
 
     # Returns a relation that includes the base objects, their ancestors,
     # and the descendants of the base objects.
diff --git a/lib/gitlab/pagination/keyset/column_order_definition.rb b/lib/gitlab/pagination/keyset/column_order_definition.rb
index 606fb7d1e60d..567d75358399 100644
--- a/lib/gitlab/pagination/keyset/column_order_definition.rb
+++ b/lib/gitlab/pagination/keyset/column_order_definition.rb
@@ -129,7 +129,6 @@ class ColumnOrderDefinition
 
         attr_reader :attribute_name, :column_expression, :order_expression, :add_to_projections, :order_direction
 
-        # rubocop: disable Metrics/ParameterLists
         def initialize(attribute_name:, order_expression:, column_expression: nil, reversed_order_expression: nil, nullable: :not_nullable, order_direction: nil, sql_type: nil, add_to_projections: false)
           @attribute_name = attribute_name
           @order_expression = order_expression
@@ -140,7 +139,6 @@ def initialize(attribute_name:, order_expression:, column_expression: nil, rever
           @sql_type = sql_type
           @add_to_projections = add_to_projections
         end
-        # rubocop: enable Metrics/ParameterLists
 
         def reverse
           self.class.new(
diff --git a/lib/gitlab/pagination/keyset/pager.rb b/lib/gitlab/pagination/keyset/pager.rb
index 3fabd454ee3b..5de6adf7aa39 100644
--- a/lib/gitlab/pagination/keyset/pager.rb
+++ b/lib/gitlab/pagination/keyset/pager.rb
@@ -14,7 +14,7 @@ def paginate(relation, _params = {})
           # Validate assumption: The last two columns must match the page order_by
           validate_order!(relation)
 
-          relation.limit(page.per_page) # rubocop: disable CodeReuse/ActiveRecord
+          relation.limit(page.per_page)
         end
 
         def finalize(records)
diff --git a/lib/gitlab/patch/old_redis_cache_store.rb b/lib/gitlab/patch/old_redis_cache_store.rb
index 308b0c0ff5cd..0491b4f092ee 100644
--- a/lib/gitlab/patch/old_redis_cache_store.rb
+++ b/lib/gitlab/patch/old_redis_cache_store.rb
@@ -5,7 +5,7 @@ module Patch
     module OldRedisCacheStore
       # We will try keep patched code explicit and matching the original signature in
       # https://github.com/rails/rails/blob/v6.1.7.2/activesupport/lib/active_support/cache/redis_cache_store.rb#L361
-      def read_multi_mget(*names) # rubocop:disable Style/ArgumentsForwarding -- Overridden patch
+      def read_multi_mget(*names)
         return super unless enable_rails_cache_pipeline_patch?
         return super unless use_patched_mget?
 
diff --git a/lib/gitlab/patch/redis_cache_store.rb b/lib/gitlab/patch/redis_cache_store.rb
index 59c9d5860825..faaa31a8dff3 100644
--- a/lib/gitlab/patch/redis_cache_store.rb
+++ b/lib/gitlab/patch/redis_cache_store.rb
@@ -5,7 +5,7 @@ module Patch
     module RedisCacheStore
       # We will try keep patched code explicit and matching the original signature in
       # https://github.com/rails/rails/blob/v7.1.3.4/activesupport/lib/active_support/cache/redis_cache_store.rb#L324
-      def read_multi_entries(names, **options) # rubocop:disable Style/ArgumentsForwarding -- Overridden patch
+      def read_multi_entries(names, **options)
         return super unless enable_rails_cache_pipeline_patch?
         return super unless use_patched_mget?
 
diff --git a/lib/gitlab/profiler.rb b/lib/gitlab/profiler.rb
index 1a6feff915fd..5b1bb734ddcc 100644
--- a/lib/gitlab/profiler.rb
+++ b/lib/gitlab/profiler.rb
@@ -155,7 +155,6 @@ def self.remove_method(klass, meth)
       klass.send(:remove_method, meth) if klass.instance_methods(false).include?(meth) # rubocop:disable GitlabSecurity/PublicSend
     end
 
-    # rubocop: disable CodeReuse/ActiveRecord
     def self.log_load_times_by_model(logger)
       return unless logger.respond_to?(:load_times_by_model)
 
@@ -167,7 +166,6 @@ def self.log_load_times_by_model(logger)
         logger.info("#{model} total (#{query_count}): #{time.round(2)}ms")
       end
     end
-    # rubocop: enable CodeReuse/ActiveRecord
 
     def self.with_profiler(profiler_options)
       require 'stackprof'
diff --git a/lib/gitlab/project_search_results.rb b/lib/gitlab/project_search_results.rb
index 6b198d5d9506..762ad43b7413 100644
--- a/lib/gitlab/project_search_results.rb
+++ b/lib/gitlab/project_search_results.rb
@@ -64,7 +64,6 @@ def limited_blobs_count
       @limited_blobs_count ||= blobs(limit: count_limit).count
     end
 
-    # rubocop: disable CodeReuse/ActiveRecord
     def limited_notes_count
       return @limited_notes_count if defined?(@limited_notes_count)
 
@@ -78,7 +77,6 @@ def limited_notes_count
 
       @limited_notes_count
     end
-    # rubocop: enable CodeReuse/ActiveRecord
 
     def wiki_blobs_count
       @wiki_blobs_count ||= wiki_blobs(limit: count_limit).count
diff --git a/lib/gitlab/rack_attack/user_allowlist.rb b/lib/gitlab/rack_attack/user_allowlist.rb
index c1da1fabef50..70b475191ac9 100644
--- a/lib/gitlab/rack_attack/user_allowlist.rb
+++ b/lib/gitlab/rack_attack/user_allowlist.rb
@@ -1,6 +1,6 @@
 # frozen_string_literal: true
 
-require 'set' # rubocop:disable Lint/RedundantRequireStatement -- Ruby 3.1 and earlier needs this. Drop this line after Ruby 3.2+ is only supported.
+require 'set' # -- Ruby 3.1 and earlier needs this. Drop this line after Ruby 3.2+ is only supported.
 
 module Gitlab
   module RackAttack
diff --git a/lib/gitlab/redis/hll.rb b/lib/gitlab/redis/hll.rb
index 3a610c08d679..8339a5f11b20 100644
--- a/lib/gitlab/redis/hll.rb
+++ b/lib/gitlab/redis/hll.rb
@@ -1,4 +1,3 @@
-# rubocop:disable Naming/FileName
 # frozen_string_literal: true
 
 module Gitlab
@@ -52,5 +51,3 @@ def validate_key!(key)
     end
   end
 end
-
-# rubocop:enable Naming/FileName
diff --git a/lib/gitlab/search/sort_options.rb b/lib/gitlab/search/sort_options.rb
index 31c374f6a78e..1c1f5999ec5f 100644
--- a/lib/gitlab/search/sort_options.rb
+++ b/lib/gitlab/search/sort_options.rb
@@ -33,7 +33,7 @@ def sort_and_direction(order_by, sort)
           :unknown
         end
       end
-      module_function :sort_and_direction # rubocop: disable Style/AccessModifierDeclarations
+      module_function :sort_and_direction
     end
   end
 end
diff --git a/lib/gitlab/sidekiq_config/cli_methods.rb b/lib/gitlab/sidekiq_config/cli_methods.rb
index 5c69a87f3664..565e8a3f647e 100644
--- a/lib/gitlab/sidekiq_config/cli_methods.rb
+++ b/lib/gitlab/sidekiq_config/cli_methods.rb
@@ -1,7 +1,7 @@
 # frozen_string_literal: true
 
 require 'yaml'
-require 'set' # rubocop:disable Lint/RedundantRequireStatement -- Ruby 3.1 and earlier needs this. Drop this line after Ruby 3.2+ is only supported.
+require 'set' # -- Ruby 3.1 and earlier needs this. Drop this line after Ruby 3.2+ is only supported.
 
 # These methods are called by `sidekiq-cluster`, which runs outside of
 # the bundler/Rails context, so we cannot use any gem or Rails methods.
diff --git a/lib/gitlab/slash_commands/issue_search.rb b/lib/gitlab/slash_commands/issue_search.rb
index 0a705de4484a..2c25c32e1f73 100644
--- a/lib/gitlab/slash_commands/issue_search.rb
+++ b/lib/gitlab/slash_commands/issue_search.rb
@@ -11,7 +11,6 @@ def self.help_message
         "issue search <your query>"
       end
 
-      # rubocop: disable CodeReuse/ActiveRecord
       def execute(match)
         issues = collection.search(match[:query]).limit(QUERY_LIMIT)
 
@@ -21,7 +20,6 @@ def execute(match)
           Presenters::Access.new(issues).not_found
         end
       end
-      # rubocop: enable CodeReuse/ActiveRecord
     end
   end
 end
diff --git a/lib/gitlab/slash_commands/result.rb b/lib/gitlab/slash_commands/result.rb
index d488606120ff..a66a2e0726bf 100644
--- a/lib/gitlab/slash_commands/result.rb
+++ b/lib/gitlab/slash_commands/result.rb
@@ -1,4 +1,3 @@
-# rubocop:disable Naming/FileName
 # frozen_string_literal: true
 
 module Gitlab
@@ -6,5 +5,3 @@ module SlashCommands
     Result = Struct.new(:type, :message)
   end
 end
-
-# rubocop:enable Naming/FileName
diff --git a/lib/gitlab/tracking.rb b/lib/gitlab/tracking.rb
index dc81595fbde2..383b34e65d3e 100644
--- a/lib/gitlab/tracking.rb
+++ b/lib/gitlab/tracking.rb
@@ -55,7 +55,7 @@ def tracker
 
       private
 
-      def track_struct_event(destination, category, action, label:, property:, value:, contexts:) # rubocop:disable Metrics/ParameterLists
+      def track_struct_event(destination, category, action, label:, property:, value:, contexts:)
         destination
           .event(category, action, label: label, property: property, value: value, context: contexts)
       rescue StandardError => error
diff --git a/lib/gitlab/usage/metrics/instrumentations/count_imported_projects_metric.rb b/lib/gitlab/usage/metrics/instrumentations/count_imported_projects_metric.rb
index f3e81766b4c5..859466adb635 100644
--- a/lib/gitlab/usage/metrics/instrumentations/count_imported_projects_metric.rb
+++ b/lib/gitlab/usage/metrics/instrumentations/count_imported_projects_metric.rb
@@ -22,7 +22,7 @@ def initialize(metric_definition)
               unless start.nil?
                 ::Project
                   .select(:id)
-                  .where(Project.arel_table[:created_at].gteq(start)) # rubocop:disable UsageData/LargeTable
+                  .where(Project.arel_table[:created_at].gteq(start))
                   .order(created_at: :asc).order(id: :asc).limit(1).first&.id
               end
             end
@@ -35,7 +35,7 @@ def initialize(metric_definition)
               unless finish.nil?
                 ::Project
                   .select(:id)
-                  .where(Project.arel_table[:created_at].lteq(finish)) # rubocop:disable UsageData/LargeTable
+                  .where(Project.arel_table[:created_at].lteq(finish))
                   .order(created_at: :desc).order(id: :desc).limit(1).first&.id
               end
             end
diff --git a/lib/gitlab/usage/metrics/instrumentations/database_metric.rb b/lib/gitlab/usage/metrics/instrumentations/database_metric.rb
index 926d4ccb3357..f9762794baa5 100644
--- a/lib/gitlab/usage/metrics/instrumentations/database_metric.rb
+++ b/lib/gitlab/usage/metrics/instrumentations/database_metric.rb
@@ -15,7 +15,7 @@ class DatabaseMetric < BaseMetric
           #   end
           # end
 
-          UnimplementedOperationError = Class.new(StandardError) # rubocop:disable UsageData/InstrumentationSuperclass
+          UnimplementedOperationError = Class.new(StandardError)
 
           class << self
             IMPLEMENTED_OPERATIONS = %i[count distinct_count estimate_batch_distinct_count sum average].freeze
diff --git a/lib/gitlab/usage/metrics/instrumentations/numbers_metric.rb b/lib/gitlab/usage/metrics/instrumentations/numbers_metric.rb
index f168837bd503..36202f6153d0 100644
--- a/lib/gitlab/usage/metrics/instrumentations/numbers_metric.rb
+++ b/lib/gitlab/usage/metrics/instrumentations/numbers_metric.rb
@@ -18,7 +18,7 @@ class NumbersMetric < BaseMetric
           #   end
           # end
 
-          UnimplementedOperationError = Class.new(StandardError) # rubocop:disable UsageData/InstrumentationSuperclass
+          UnimplementedOperationError = Class.new(StandardError)
 
           class << self
             IMPLEMENTED_OPERATIONS = %i[add].freeze
diff --git a/lib/gitlab/usage_data.rb b/lib/gitlab/usage_data.rb
index 1d2b4813dc2c..171f71ecd2b4 100644
--- a/lib/gitlab/usage_data.rb
+++ b/lib/gitlab/usage_data.rb
@@ -65,9 +65,7 @@ def system_usage_data
             auto_devops_enabled: count(::ProjectAutoDevops.enabled),
             auto_devops_disabled: count(::ProjectAutoDevops.disabled),
             deploy_keys: count(DeployKey),
-            # rubocop: disable UsageData/LargeTable:
             feature_flags: count(Operations::FeatureFlag),
-            # rubocop: enable UsageData/LargeTable:
             environments: count(::Environment),
             clusters: count(::Clusters::Cluster),
             clusters_enabled: count(::Clusters::Cluster.enabled),
@@ -439,7 +437,6 @@ def stage_manage_events(time_period)
           Gitlab::Utils::UsageData::FALLBACK
         else
           # rubocop: disable CodeReuse/ActiveRecord
-          # rubocop: disable UsageData/LargeTable
           start = ::Event.where(time_period).select(:id).order(created_at: :asc).first&.id
           finish = ::Event.where(time_period).select(:id).order(created_at: :desc).first&.id
           estimate_batch_distinct_count(::Event.where(time_period), :author_id, start: start, finish: finish)
diff --git a/lib/gitlab/usage_data_queries.rb b/lib/gitlab/usage_data_queries.rb
index 8310c464a592..08f034b2e463 100644
--- a/lib/gitlab/usage_data_queries.rb
+++ b/lib/gitlab/usage_data_queries.rb
@@ -27,11 +27,9 @@ def sum(relation, column, *args, **kwargs)
         Gitlab::Usage::Metrics::Query.for(:sum, relation, column)
       end
 
-      # rubocop: disable CodeReuse/ActiveRecord
       def histogram(relation, column, buckets:, bucket_size: buckets.size)
         Gitlab::Usage::Metrics::Query.for(:histogram, relation, column, buckets: buckets, bucket_size: bucket_size)
       end
-      # rubocop: enable CodeReuse/ActiveRecord
 
       # For estimated distinct count use exact query instead of hll
       # buckets query, because it can't be used to obtain estimations without
@@ -77,9 +75,7 @@ def topology_usage_data
 
       def stage_manage_events(time_period)
         # rubocop: disable CodeReuse/ActiveRecord
-        # rubocop: disable UsageData/LargeTable
         estimate_batch_distinct_count(::Event.where(time_period), :author_id)
-        # rubocop: enable UsageData/LargeTable
         # rubocop: enable CodeReuse/ActiveRecord
       end
     end
diff --git a/lib/gitlab/verify/ci_secure_files.rb b/lib/gitlab/verify/ci_secure_files.rb
index 9bb7f7260c44..8ba8c15bb48d 100644
--- a/lib/gitlab/verify/ci_secure_files.rb
+++ b/lib/gitlab/verify/ci_secure_files.rb
@@ -13,11 +13,9 @@ def describe(object)
 
       private
 
-      # rubocop: disable CodeReuse/ActiveRecord
       def all_relation
         ::Ci::SecureFile.all
       end
-      # rubocop: enable CodeReuse/ActiveRecord
 
       def local?(secure_file)
         secure_file.local?
diff --git a/lib/gitlab/x509/signature.rb b/lib/gitlab/x509/signature.rb
index 3cecb995a7e6..1f96b95716bc 100644
--- a/lib/gitlab/x509/signature.rb
+++ b/lib/gitlab/x509/signature.rb
@@ -69,7 +69,9 @@ def cert_store
 
           if Feature.enabled?(:x509_forced_cert_loading, type: :ops)
             # Forcibly load the default cert file because the OpenSSL library seemingly ignores it
-            store.add_file(Gitlab::X509::Certificate.default_cert_file) if File.exist?(Gitlab::X509::Certificate.default_cert_file) # rubocop:disable Layout/LineLength
+            if File.exist?(Gitlab::X509::Certificate.default_cert_file)
+              store.add_file(Gitlab::X509::Certificate.default_cert_file)
+            end
           end
 
           # valid_signing_time? checks the time attributes already
diff --git a/lib/tasks/gitlab/cleanup.rake b/lib/tasks/gitlab/cleanup.rake
index d85530e8c740..9bfcf1f7d149 100644
--- a/lib/tasks/gitlab/cleanup.rake
+++ b/lib/tasks/gitlab/cleanup.rake
@@ -1,7 +1,7 @@
 # frozen_string_literal: true
 
 namespace :gitlab do
-  require 'set' # rubocop:disable Lint/RedundantRequireStatement -- Ruby 3.1 and earlier needs this. Drop this line after Ruby 3.2+ is only supported.
+  require 'set' # -- Ruby 3.1 and earlier needs this. Drop this line after Ruby 3.2+ is only supported.
 
   namespace :cleanup do
     desc "GitLab | Cleanup | Block users that have been removed in LDAP"
@@ -287,7 +287,6 @@ new_sha: Gitlab::Git::SHA1_BLANK_SHA }
       end
     end
 
-    # rubocop:disable Gitlab/RailsLogger
     def logger
       return @logger if defined?(@logger)
 
@@ -305,6 +304,5 @@ new_sha: Gitlab::Git::SHA1_BLANK_SHA }
                   Rails.logger
                 end
     end
-    # rubocop:enable Gitlab/RailsLogger
   end
 end
diff --git a/lib/tasks/gitlab/seed/group_seed.rake b/lib/tasks/gitlab/seed/group_seed.rake
index d9b24d8e6790..c2636931011d 100644
--- a/lib/tasks/gitlab/seed/group_seed.rake
+++ b/lib/tasks/gitlab/seed/group_seed.rake
@@ -123,7 +123,6 @@ class GroupSeeder
   end
 
   def create_user
-    # rubocop:disable Style/SymbolProc -- Incorrect rubocop advice.
     User.create!(
       username: FFaker::Internet.unique.user_name,
       name: FFaker::Name.name,
@@ -133,7 +132,6 @@ class GroupSeeder
     ) do |user|
       user.assign_personal_namespace(@organization)
     end
-    # rubocop:enable Style/SymbolProc
   end
 
   def create_member(user_id, group_id)
diff --git a/qa/qa/specs/features/ee/browser_ui/10_govern/create_merge_request_with_secure_spec.rb b/qa/qa/specs/features/ee/browser_ui/10_govern/create_merge_request_with_secure_spec.rb
index 13b56531bdb1..7c225183a416 100644
--- a/qa/qa/specs/features/ee/browser_ui/10_govern/create_merge_request_with_secure_spec.rb
+++ b/qa/qa/specs/features/ee/browser_ui/10_govern/create_merge_request_with_secure_spec.rb
@@ -7,7 +7,9 @@ module QA
       let(:dependency_scan_vuln_count) { 4 }
       let(:container_scan_vuln_count) { 8 }
       let(:vuln_name) { "Regular Expression Denial of Service in debug" }
-      let(:remediable_vuln_name) { "Authentication bypass via incorrect DOM traversal and canonicalization in saml2-js" } # rubocop:disable Layout/LineLength
+      let(:remediable_vuln_name) do
+        "Authentication bypass via incorrect DOM traversal and canonicalization in saml2-js"
+      end
 
       # rubocop:disable RSpec/InstanceVariable
       after do
diff --git a/rubocop/cop/gettext/static_identifier.rb b/rubocop/cop/gettext/static_identifier.rb
index 9ca1c88f4b6b..28d7e83effcf 100644
--- a/rubocop/cop/gettext/static_identifier.rb
+++ b/rubocop/cop/gettext/static_identifier.rb
@@ -76,7 +76,7 @@ def multiline_string?(node)
         def allowed_method_call?(node)
           return false unless node.send_type?
 
-          !DENIED_METHOD_CALLS.include?(node.method_name) # rubocop:disable Rails/NegateInclude
+          !DENIED_METHOD_CALLS.include?(node.method_name)
         end
       end
     end
diff --git a/rubocop/cop/gitlab/feature_available_usage.rb b/rubocop/cop/gitlab/feature_available_usage.rb
index 0b1c4367eae7..ec38650b89a4 100644
--- a/rubocop/cop/gitlab/feature_available_usage.rb
+++ b/rubocop/cop/gitlab/feature_available_usage.rb
@@ -41,7 +41,7 @@ def on_send(node)
           return if feature_name(node).nil?
           return if ALL_FEATURES.include?(feature_name(node)) && args_count(node) == 2
 
-          if !ALL_FEATURES.include?(feature_name(node)) # rubocop:disable Rails/NegateInclude
+          if !ALL_FEATURES.include?(feature_name(node))
             add_offense(node, message: licensed_feature_message(node))
           elsif args_count(node) < 2
             add_offense(node, message: NOT_ENOUGH_ARGS_MSG)
diff --git a/rubocop/cop/migration/add_reference.rb b/rubocop/cop/migration/add_reference.rb
index 8daa85749fd1..02a0ef899b4a 100644
--- a/rubocop/cop/migration/add_reference.rb
+++ b/rubocop/cop/migration/add_reference.rb
@@ -41,7 +41,7 @@ def on_def(node)
         private
 
         def existing_table?(new_tables, table)
-          !new_tables.include?(table) # rubocop:disable Rails/NegateInclude
+          !new_tables.include?(table)
         end
 
         def create_table?(node)
diff --git a/rubocop/cop/rake/require.rb b/rubocop/cop/rake/require.rb
index 1b358505f6f6..2139911f0dd6 100644
--- a/rubocop/cop/rake/require.rb
+++ b/rubocop/cop/rake/require.rb
@@ -107,7 +107,7 @@ def requires_task?(file)
 
         def inside_block(node, skip:)
           node.each_ancestor(:block).any? do |block|
-            !skip.include?(block.method_name) # rubocop:disable Rails/NegateInclude -- This is not Rails
+            !skip.include?(block.method_name)
           end
         end
 
diff --git a/rubocop/cop/rspec/factory_bot/inline_association.rb b/rubocop/cop/rspec/factory_bot/inline_association.rb
index acd2c10a63dd..8d7c73b99a06 100644
--- a/rubocop/cop/rspec/factory_bot/inline_association.rb
+++ b/rubocop/cop/rspec/factory_bot/inline_association.rb
@@ -99,7 +99,7 @@ def on_send(node)
           def inside_assocation_definition?(node)
             node.each_ancestor(:block).any? do |parent|
               name = association_definition(parent)
-              name && !SKIP_NAMES.include?(name) # rubocop:disable Rails/NegateInclude
+              name && !SKIP_NAMES.include?(name)
             end
           end
         end
diff --git a/rubocop/cop/static_translation_definition.rb b/rubocop/cop/static_translation_definition.rb
index e7b8cdeab12c..55c1176e31bb 100644
--- a/rubocop/cop/static_translation_definition.rb
+++ b/rubocop/cop/static_translation_definition.rb
@@ -105,7 +105,7 @@ def lambda_or_proc?(node)
       def named_block?(node)
         return unless node.block_type?
 
-        !NON_METHOD_DEFINITIONS.include?(node.method_name) # rubocop:disable Rails/NegateInclude
+        !NON_METHOD_DEFINITIONS.include?(node.method_name)
       end
 
       def instance_method_definition?(node)
diff --git a/rubocop/feature_categories.rb b/rubocop/feature_categories.rb
index 015c267ab346..f8401def83af 100644
--- a/rubocop/feature_categories.rb
+++ b/rubocop/feature_categories.rb
@@ -1,6 +1,6 @@
 # frozen_string_literal: true
 
-require 'set' # rubocop:disable Lint/RedundantRequireStatement -- Ruby 3.1 and earlier needs this. Drop this line after Ruby 3.2+ is only supported.
+require 'set' # -- Ruby 3.1 and earlier needs this. Drop this line after Ruby 3.2+ is only supported.
 require 'yaml'
 require 'digest/sha2'
 require 'did_you_mean'
@@ -51,7 +51,7 @@ def check(value_node:, document_link:)
       if value_node
         if !value_node.sym_type?
           yield MSG_SYMBOL
-        elsif !categories.include?(value_node.value.to_s) # rubocop:disable Rails/NegateInclude
+        elsif !categories.include?(value_node.value.to_s)
           yield format_message(value_node.value, document_link: document_link)
         end
       else
diff --git a/rubocop/formatter/todo_formatter.rb b/rubocop/formatter/todo_formatter.rb
index cc9767764c55..77c748025863 100644
--- a/rubocop/formatter/todo_formatter.rb
+++ b/rubocop/formatter/todo_formatter.rb
@@ -1,6 +1,6 @@
 # frozen_string_literal: true
 
-require 'set' # rubocop:disable Lint/RedundantRequireStatement -- Ruby 3.1 and earlier needs this. Drop this line after Ruby 3.2+ is only supported.
+require 'set' # -- Ruby 3.1 and earlier needs this. Drop this line after Ruby 3.2+ is only supported.
 require 'rubocop'
 require 'yaml'
 
diff --git a/sidekiq_cluster/cli.rb b/sidekiq_cluster/cli.rb
index 2760eecb5e13..424e6bd422d2 100644
--- a/sidekiq_cluster/cli.rb
+++ b/sidekiq_cluster/cli.rb
@@ -89,7 +89,7 @@ def run(argv = ARGV)
         end
 
         if @list_queues
-          puts queue_groups.map(&:sort) # rubocop:disable Rails/Output
+          puts queue_groups.map(&:sort)
 
           return
         end
diff --git a/sidekiq_cluster/sidekiq_cluster.rb b/sidekiq_cluster/sidekiq_cluster.rb
index 47a81d3143bb..df0fcc31f52a 100644
--- a/sidekiq_cluster/sidekiq_cluster.rb
+++ b/sidekiq_cluster/sidekiq_cluster.rb
@@ -65,7 +65,7 @@ def self.start_sidekiq(queues, env:, directory:, concurrency:, worker_id:, timeo
       end
 
       if dryrun
-        puts Shellwords.join(cmd) # rubocop:disable Rails/Output
+        puts Shellwords.join(cmd)
         return
       end
 
diff --git a/spec/controllers/groups/milestones_controller_spec.rb b/spec/controllers/groups/milestones_controller_spec.rb
index 596deccba691..8b34c6e4a43a 100644
--- a/spec/controllers/groups/milestones_controller_spec.rb
+++ b/spec/controllers/groups/milestones_controller_spec.rb
@@ -334,7 +334,7 @@
         expect(response).to have_gitlab_http_status(:conflict)
         expect(json_response).to include "errors" => [
           format(
-            _("Someone edited this %{model_name} at the same time you did. Please refresh your browser and make sure your changes will not unintentionally remove theirs."), # rubocop:disable Layout/LineLength
+            _("Someone edited this %{model_name} at the same time you did. Please refresh your browser and make sure your changes will not unintentionally remove theirs."),
             model_name: _('milestone')
           )
         ]
diff --git a/spec/controllers/profiles/two_factor_auths_controller_spec.rb b/spec/controllers/profiles/two_factor_auths_controller_spec.rb
index 046a5f5959ee..d380312af732 100644
--- a/spec/controllers/profiles/two_factor_auths_controller_spec.rb
+++ b/spec/controllers/profiles/two_factor_auths_controller_spec.rb
@@ -273,9 +273,11 @@ def go
     let(:client) { WebAuthn::FakeClient.new('http://localhost', encoding: :base64) }
     let(:credential) { create_credential(client: client, rp_id: request.host) }
 
-    let(:params) { { device_registration: { name: 'touch id', device_response: device_response } } } # rubocop:disable Rails/SaveBang
+    let(:params) { { device_registration: { name: 'touch id', device_response: device_response } } }
 
-    let(:params_with_password) { { device_registration: { name: 'touch id', device_response: device_response }, current_password: user.password } } # rubocop:disable Rails/SaveBang
+    let(:params_with_password) do
+      { device_registration: { name: 'touch id', device_response: device_response }, current_password: user.password }
+    end
 
     before do
       session[:challenge] = challenge
diff --git a/spec/controllers/projects/milestones_controller_spec.rb b/spec/controllers/projects/milestones_controller_spec.rb
index 9f8272c11d1e..aafcb1dfdcd2 100644
--- a/spec/controllers/projects/milestones_controller_spec.rb
+++ b/spec/controllers/projects/milestones_controller_spec.rb
@@ -254,7 +254,7 @@ def render_index(project:, page:, search_title: '')
         expect(response).to have_gitlab_http_status(:conflict)
         expect(json_response).to include "errors" => [
           format(
-            _("Someone edited this %{model_name} at the same time you did. Please refresh your browser and make sure your changes will not unintentionally remove theirs."), # rubocop:disable Layout/LineLength
+            _("Someone edited this %{model_name} at the same time you did. Please refresh your browser and make sure your changes will not unintentionally remove theirs."),
             model_name: _('milestone')
           )
         ]
diff --git a/spec/features/issues/discussion_lock_spec.rb b/spec/features/issues/discussion_lock_spec.rb
index 7541d7658b38..6db5c0b62c5d 100644
--- a/spec/features/issues/discussion_lock_spec.rb
+++ b/spec/features/issues/discussion_lock_spec.rb
@@ -114,6 +114,6 @@
     expect(page).to be_axe_clean.within(issuable_note_warning)
 
     more_dropdown.click
-    expect(page).to be_axe_clean.within('[data-testid="lock-issue-toggle"] button') # rubocop:todo Capybara/TestidFinders -- Doesn't cover use case, see https://gitlab.com/gitlab-org/gitlab/-/issues/442224
+    expect(page).to be_axe_clean.within('[data-testid="lock-issue-toggle"] button')
   end
 end
diff --git a/spec/features/issues/user_edits_issue_spec.rb b/spec/features/issues/user_edits_issue_spec.rb
index 8ed75d554464..5e48c7141071 100644
--- a/spec/features/issues/user_edits_issue_spec.rb
+++ b/spec/features/issues/user_edits_issue_spec.rb
@@ -93,7 +93,7 @@
 
           expect(page).to have_content(
             format(
-              _("Someone edited this %{model_name} at the same time you did. Please check out the %{link_to_model} and make sure your changes will not unintentionally remove theirs."), # rubocop:disable Layout/LineLength
+              _("Someone edited this %{model_name} at the same time you did. Please check out the %{link_to_model} and make sure your changes will not unintentionally remove theirs."),
               model_name: _('issue'),
               link_to_model: _('issue')
             )
diff --git a/spec/frontend/fixtures/merge_requests.rb b/spec/frontend/fixtures/merge_requests.rb
index f34997cfd652..6e3c779396da 100644
--- a/spec/frontend/fixtures/merge_requests.rb
+++ b/spec/frontend/fixtures/merge_requests.rb
@@ -15,7 +15,6 @@
   let(:project) { create(:project, :repository, namespace: namespace, path: 'merge-requests-project') }
   let(:user) { project.first_owner }
 
-  # rubocop: disable Layout/TrailingWhitespace
   let(:description) do
     <<~MARKDOWN.strip_heredoc
     - [ ] Task List Item
@@ -23,7 +22,6 @@
     - [ ] Task List Item 2
     MARKDOWN
   end
-  # rubocop: enable Layout/TrailingWhitespace
 
   let(:merge_request) do
     create(
diff --git a/spec/lib/backup/manager_spec.rb b/spec/lib/backup/manager_spec.rb
index 012a48610440..76dadebdb12c 100644
--- a/spec/lib/backup/manager_spec.rb
+++ b/spec/lib/backup/manager_spec.rb
@@ -1042,7 +1042,7 @@
       it 'returns false' do
         allow(lfs).to receive(:backup!).and_raise(Backup::FileBackupError.new('foo', 'bar'))
 
-        expect(subject.create).to be_falsey # rubocop:disable Rails/SaveBang -- not a Rails create method
+        expect(subject.create).to be_falsey
       end
     end
   end
diff --git a/spec/lib/gitlab/avatar_cache_spec.rb b/spec/lib/gitlab/avatar_cache_spec.rb
index 65cde195a610..ae86a35cdaea 100644
--- a/spec/lib/gitlab/avatar_cache_spec.rb
+++ b/spec/lib/gitlab/avatar_cache_spec.rb
@@ -4,7 +4,7 @@
 
 RSpec.describe Gitlab::AvatarCache, :clean_gitlab_redis_cache do
   def with(&blk)
-    Gitlab::Redis::Cache.with(&blk) # rubocop:disable CodeReuse/ActiveRecord
+    Gitlab::Redis::Cache.with(&blk)
   end
 
   def read(key, subkey)
diff --git a/spec/lib/gitlab/diff/rendered/notebook/diff_file_helper_spec.rb b/spec/lib/gitlab/diff/rendered/notebook/diff_file_helper_spec.rb
index 4dd29e1fb153..36c0166c4474 100644
--- a/spec/lib/gitlab/diff/rendered/notebook/diff_file_helper_spec.rb
+++ b/spec/lib/gitlab/diff/rendered/notebook/diff_file_helper_spec.rb
@@ -2,7 +2,7 @@
 
 require 'fast_spec_helper'
 require 'rspec-parameterized'
-require 'set' # rubocop:disable Lint/RedundantRequireStatement -- Ruby 3.1 and earlier needs this. Drop this line after Ruby 3.2+ is only supported.
+require 'set' # -- Ruby 3.1 and earlier needs this. Drop this line after Ruby 3.2+ is only supported.
 
 MOCK_LINE = Struct.new(:text, :type, :index, :old_pos, :new_pos)
 
diff --git a/spec/lib/gitlab/gfm/uploads_rewriter_spec.rb b/spec/lib/gitlab/gfm/uploads_rewriter_spec.rb
index 0ed9e0b4a90a..8e59557ef542 100644
--- a/spec/lib/gitlab/gfm/uploads_rewriter_spec.rb
+++ b/spec/lib/gitlab/gfm/uploads_rewriter_spec.rb
@@ -19,7 +19,7 @@
     end
 
     let(:text) do
-      "Text and #{image_uploader.markdown_link} and #{zip_uploader.markdown_link}".freeze # rubocop:disable Style/RedundantFreeze
+      "Text and #{image_uploader.markdown_link} and #{zip_uploader.markdown_link}".freeze
     end
 
     def referenced_files(text, project)
diff --git a/spec/lib/gitlab/git/tree_spec.rb b/spec/lib/gitlab/git/tree_spec.rb
index d456499c0250..8efdd08df0a1 100644
--- a/spec/lib/gitlab/git/tree_spec.rb
+++ b/spec/lib/gitlab/git/tree_spec.rb
@@ -75,11 +75,9 @@
       it { expect(dir.flat_path).to eq('encoding') }
 
       context :subdir do
-        # rubocop: disable Rails/FindBy
         # This is not ActiveRecord where..first
         let(:path) { 'files' }
         let(:subdir) { entries.first }
-        # rubocop: enable Rails/FindBy
 
         it { expect(subdir).to be_kind_of Gitlab::Git::Tree }
         it { expect(subdir.id).to eq('a1e8f8d745cc87e3a9248358d9352bb7f9a0aeba') }
@@ -90,11 +88,9 @@
       end
 
       context :subdir_file do
-        # rubocop: disable Rails/FindBy
         # This is not ActiveRecord where..first
         let(:path) { 'files/ruby' }
         let(:subdir_file) { entries.first }
-        # rubocop: enable Rails/FindBy
 
         it { expect(subdir_file).to be_kind_of Gitlab::Git::Tree }
         it { expect(subdir_file.id).to eq('7e3e39ebb9b2bf433b4ad17313770fbe4051649c') }
@@ -109,10 +105,8 @@
         let(:repository) { project.repository.raw }
         let(:filename) { 'files/flat/path/correct/content.txt' }
         let(:path) { 'files/flat' }
-        # rubocop: disable Rails/FindBy
         # This is not ActiveRecord where..first
         let(:subdir_file) { entries.first }
-        # rubocop: enable Rails/FindBy
         let!(:sha) do
           repository.commit_files(
             user,
diff --git a/spec/lib/gitlab/import_export/project/relation_saver_spec.rb b/spec/lib/gitlab/import_export/project/relation_saver_spec.rb
index 5b56df33fe0d..244416f1f074 100644
--- a/spec/lib/gitlab/import_export/project/relation_saver_spec.rb
+++ b/spec/lib/gitlab/import_export/project/relation_saver_spec.rb
@@ -55,7 +55,7 @@
       end
 
       it 'successfully serializes without errors' do
-        result = relation_saver.save # rubocop:disable Rails/SaveBang
+        result = relation_saver.save
 
         expect(result).to eq(true)
         expect(shared.errors).to be_empty
@@ -81,7 +81,7 @@
       end
 
       it 'successfully serializes without errors' do
-        result = relation_saver.save # rubocop:disable Rails/SaveBang
+        result = relation_saver.save
 
         expect(result).to eq(true)
         expect(shared.errors).to be_empty
@@ -92,7 +92,7 @@
       let(:relation) { 'unknown' }
 
       it 'returns false and register the error' do
-        result = relation_saver.save # rubocop:disable Rails/SaveBang
+        result = relation_saver.save
 
         expect(result).to eq(false)
         expect(shared.errors).to be_present
@@ -105,7 +105,7 @@
           allow(serializer).to receive(:serialize_root).and_raise('Error!')
         end
 
-        result = relation_saver.save # rubocop:disable Rails/SaveBang
+        result = relation_saver.save
 
         expect(result).to eq(false)
         expect(shared.errors).to include('Error!')
diff --git a/spec/lib/gitlab/memory/watchdog/configurator_spec.rb b/spec/lib/gitlab/memory/watchdog/configurator_spec.rb
index 365505913d9e..86110d337408 100644
--- a/spec/lib/gitlab/memory/watchdog/configurator_spec.rb
+++ b/spec/lib/gitlab/memory/watchdog/configurator_spec.rb
@@ -63,7 +63,6 @@
   let(:configuration) { Gitlab::Memory::Watchdog::Configuration.new }
 
   # In tests, the Puma constant does not exist so we cannot use a verified double.
-  # rubocop: disable RSpec/VerifiedDoubles
   describe '.configure_for_puma' do
     let(:logger) { Gitlab::AppLogger }
     let(:puma) do
@@ -189,7 +188,6 @@ def stub_prometheus_metrics
       end
     end
   end
-  # rubocop: enable RSpec/VerifiedDoubles
 
   describe '.configure_for_sidekiq' do
     let(:logger) { ::Sidekiq.logger }
diff --git a/spec/lib/gitlab/metrics/exporter/base_exporter_spec.rb b/spec/lib/gitlab/metrics/exporter/base_exporter_spec.rb
index 54e28a4db22d..095811e8e8fc 100644
--- a/spec/lib/gitlab/metrics/exporter/base_exporter_spec.rb
+++ b/spec/lib/gitlab/metrics/exporter/base_exporter_spec.rb
@@ -216,7 +216,7 @@ def call(env)
       # in separate thread
       allow_any_instance_of(::WEBrick::HTTPServer)
         .to receive(:start).and_wrap_original do |m, *args|
-        @server_thread = Thread.new do # rubocop:disable RSpec/InstanceVariable -- let does not work for this case
+        @server_thread = Thread.new do
           m.call(*args)
         rescue IOError
           # is raised as we close listeners
diff --git a/spec/lib/gitlab/namespaced_session_store_spec.rb b/spec/lib/gitlab/namespaced_session_store_spec.rb
index 07e2b9c0cea3..d55a9ea4717b 100644
--- a/spec/lib/gitlab/namespaced_session_store_spec.rb
+++ b/spec/lib/gitlab/namespaced_session_store_spec.rb
@@ -16,13 +16,10 @@
       it 'passes .each call to storage hash' do
         keys = []
         values = []
-        # rubocop:disable Lint/UnreachableLoop -- false positive
         instance.each do |key, val|
           keys << key
           values << val
         end
-        # rubocop:enable Lint/UnreachableLoop
-
         expect(keys).to match_array([:a, :b])
         expect(values).to match_array([1, 2])
       end
diff --git a/spec/lib/gitlab/pagination/keyset/iterator_spec.rb b/spec/lib/gitlab/pagination/keyset/iterator_spec.rb
index 1b7b9efc9d19..b55baef671b1 100644
--- a/spec/lib/gitlab/pagination/keyset/iterator_spec.rb
+++ b/spec/lib/gitlab/pagination/keyset/iterator_spec.rb
@@ -20,8 +20,8 @@
         Gitlab::Pagination::Keyset::ColumnOrderDefinition.new(
           attribute_name: column,
           column_expression: klass.arel_table[column],
-          order_expression: klass.arel_table[column].public_send(direction).public_send(nulls_position), # rubocop:disable GitlabSecurity/PublicSend
-          reversed_order_expression: klass.arel_table[column].public_send(reverse_direction).public_send(reverse_nulls_position), # rubocop:disable GitlabSecurity/PublicSend
+          order_expression: klass.arel_table[column].public_send(direction).public_send(nulls_position),
+          reversed_order_expression: klass.arel_table[column].public_send(reverse_direction).public_send(reverse_nulls_position),
           order_direction: direction,
           nullable: nulls_position
         ),
diff --git a/spec/lib/gitlab/quick_actions/dsl_spec.rb b/spec/lib/gitlab/quick_actions/dsl_spec.rb
index c0469537c68b..72cfc07cd582 100644
--- a/spec/lib/gitlab/quick_actions/dsl_spec.rb
+++ b/spec/lib/gitlab/quick_actions/dsl_spec.rb
@@ -6,7 +6,7 @@
   before do
     stub_const('DummyClass', Struct.new(:project))
     DummyClass.class_eval do
-      include Gitlab::QuickActions::Dsl # rubocop:disable RSpec/DescribedClass
+      include Gitlab::QuickActions::Dsl
 
       desc 'A command with no args'
       command :no_args, :none do
diff --git a/spec/lib/gitlab/redis/multi_store_spec.rb b/spec/lib/gitlab/redis/multi_store_spec.rb
index 148fa9282690..4667c2705980 100644
--- a/spec/lib/gitlab/redis/multi_store_spec.rb
+++ b/spec/lib/gitlab/redis/multi_store_spec.rb
@@ -132,7 +132,6 @@
     end
   end
 
-  # rubocop:disable RSpec/MultipleMemoizedHelpers
   context 'with READ redis commands' do
     let(:args) { 'args' }
     let(:kwargs) { { match: '*:set:key2*' } }
@@ -270,7 +269,6 @@
       end
     end
   end
-  # rubocop:enable RSpec/MultipleMemoizedHelpers
 
   context 'with nested command in block' do
     let(:skey) { "test_set" }
diff --git a/spec/lib/gitlab/shard_health_cache_spec.rb b/spec/lib/gitlab/shard_health_cache_spec.rb
index 8d0eebbb23ed..5f56d8a7cc43 100644
--- a/spec/lib/gitlab/shard_health_cache_spec.rb
+++ b/spec/lib/gitlab/shard_health_cache_spec.rb
@@ -36,7 +36,7 @@
     end
 
     it 'returns 0 if no shards are available' do
-      described_class.update([]) # rubocop:disable Rails/SaveBang
+      described_class.update([])
 
       expect(described_class.healthy_shard_count).to eq(0)
     end
diff --git a/spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb b/spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb
index dde20a03dc6f..e6294b142181 100644
--- a/spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb
+++ b/spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb
@@ -2,7 +2,6 @@
 
 require 'spec_helper'
 
-# rubocop: disable RSpec/MultipleMemoizedHelpers
 RSpec.describe Gitlab::SidekiqMiddleware::ServerMetrics, feature_category: :shared do
   before do
     allow(Thread.current).to receive(:name=)
@@ -557,4 +556,3 @@ def self.name
     end
   end
 end
-# rubocop: enable RSpec/MultipleMemoizedHelpers
diff --git a/spec/lib/gitlab/sidekiq_middleware/size_limiter/server_spec.rb b/spec/lib/gitlab/sidekiq_middleware/size_limiter/server_spec.rb
index 12430313141e..1ab893f2a300 100644
--- a/spec/lib/gitlab/sidekiq_middleware/size_limiter/server_spec.rb
+++ b/spec/lib/gitlab/sidekiq_middleware/size_limiter/server_spec.rb
@@ -2,7 +2,6 @@
 
 require 'fast_spec_helper'
 
-# rubocop: disable RSpec/MultipleMemoizedHelpers
 RSpec.describe Gitlab::SidekiqMiddleware::SizeLimiter::Server, :clean_gitlab_redis_queues do
   subject(:middleware) { described_class.new }
 
diff --git a/spec/lib/omni_auth/strategies/jwt_spec.rb b/spec/lib/omni_auth/strategies/jwt_spec.rb
index ac3d2deb3e9e..4e25e6a96f71 100644
--- a/spec/lib/omni_auth/strategies/jwt_spec.rb
+++ b/spec/lib/omni_auth/strategies/jwt_spec.rb
@@ -51,7 +51,6 @@
         context "when the #{algorithm} algorithm is used" do
           let(:algorithm) { algorithm }
           let(:secret) do
-            # rubocop:disable Style/CaseLikeIf
             if private_key_class == OpenSSL::PKey::RSA
               private_key_class.generate(2048)
                 .to_pem
@@ -61,7 +60,6 @@
             else
               private_key_class.new(jwt_config.strategy.secret)
             end
-            # rubocop:enable Style/CaseLikeIf
           end
 
           let(:private_key) { private_key_class ? private_key_class.new(secret) : secret }
diff --git a/spec/models/ci/build_trace_chunk_spec.rb b/spec/models/ci/build_trace_chunk_spec.rb
index b56c0608488a..d205d0ce712c 100644
--- a/spec/models/ci/build_trace_chunk_spec.rb
+++ b/spec/models/ci/build_trace_chunk_spec.rb
@@ -903,7 +903,7 @@ def lock_chunk(&block)
         let(:chunk) { create(:ci_build_trace_chunk) }
 
         it 'indicates the these are equal' do
-          expect(chunk <=> chunk).to be_zero # rubocop:disable Lint/UselessComparison
+          expect(chunk <=> chunk).to be_zero
         end
       end
     end
diff --git a/spec/models/concerns/triggerable_hooks_spec.rb b/spec/models/concerns/triggerable_hooks_spec.rb
index c209d6476f32..a916f3f3861a 100644
--- a/spec/models/concerns/triggerable_hooks_spec.rb
+++ b/spec/models/concerns/triggerable_hooks_spec.rb
@@ -7,7 +7,7 @@
     stub_const('TestableHook', Class.new(WebHook))
 
     TestableHook.class_eval do
-      include TriggerableHooks # rubocop:disable RSpec/DescribedClass
+      include TriggerableHooks
       triggerable_hooks [:push_hooks]
 
       self.allow_legacy_sti_class = true
diff --git a/spec/presenters/packages/pypi/simple_index_presenter_spec.rb b/spec/presenters/packages/pypi/simple_index_presenter_spec.rb
index eb167d673985..c18772cdd073 100644
--- a/spec/presenters/packages/pypi/simple_index_presenter_spec.rb
+++ b/spec/presenters/packages/pypi/simple_index_presenter_spec.rb
@@ -56,16 +56,16 @@
 
     context 'for project' do
       let(:project_or_group) { project }
-      let(:expected_link1) { "<a href=\"http://localhost/api/v4/projects/#{project.id}/packages/pypi/simple/#{package1.normalized_pypi_name}\" data-requires-python=\"#{expected_python_version}\">#{package1.name}</a>" } # rubocop:disable Layout/LineLength
-      let(:expected_link2) { "<a href=\"http://localhost/api/v4/projects/#{project.id}/packages/pypi/simple/#{package2.normalized_pypi_name}\" data-requires-python=\"\">#{package2.name}</a>" } # rubocop:disable Layout/LineLength
+      let(:expected_link1) { "<a href=\"http://localhost/api/v4/projects/#{project.id}/packages/pypi/simple/#{package1.normalized_pypi_name}\" data-requires-python=\"#{expected_python_version}\">#{package1.name}</a>" }
+      let(:expected_link2) { "<a href=\"http://localhost/api/v4/projects/#{project.id}/packages/pypi/simple/#{package2.normalized_pypi_name}\" data-requires-python=\"\">#{package2.name}</a>" }
 
       it_behaves_like 'pypi package presenter'
     end
 
     context 'for group' do
       let(:project_or_group) { group }
-      let(:expected_link1) { "<a href=\"http://localhost/api/v4/groups/#{group.id}/-/packages/pypi/simple/#{package1.normalized_pypi_name}\" data-requires-python=\"#{expected_python_version}\">#{package1.name}</a>" } # rubocop:disable Layout/LineLength
-      let(:expected_link2) { "<a href=\"http://localhost/api/v4/groups/#{group.id}/-/packages/pypi/simple/#{package2.normalized_pypi_name}\" data-requires-python=\"\">#{package2.name}</a>" } # rubocop:disable Layout/LineLength
+      let(:expected_link1) { "<a href=\"http://localhost/api/v4/groups/#{group.id}/-/packages/pypi/simple/#{package1.normalized_pypi_name}\" data-requires-python=\"#{expected_python_version}\">#{package1.name}</a>" }
+      let(:expected_link2) { "<a href=\"http://localhost/api/v4/groups/#{group.id}/-/packages/pypi/simple/#{package2.normalized_pypi_name}\" data-requires-python=\"\">#{package2.name}</a>" }
 
       it_behaves_like 'pypi package presenter'
     end
diff --git a/spec/presenters/packages/pypi/simple_package_versions_presenter_spec.rb b/spec/presenters/packages/pypi/simple_package_versions_presenter_spec.rb
index 9ad269994377..6dca4ac0be3b 100644
--- a/spec/presenters/packages/pypi/simple_package_versions_presenter_spec.rb
+++ b/spec/presenters/packages/pypi/simple_package_versions_presenter_spec.rb
@@ -49,14 +49,14 @@
 
     context 'for project' do
       let(:project_or_group) { project }
-      let(:expected_link) { "<a href=\"http://localhost/api/v4/projects/#{project.id}/packages/pypi/files/#{file.file_sha256}/#{filename}#sha256=#{file.file_sha256}\" data-requires-python=\"#{expected_python_version}\">#{filename}</a>" } # rubocop:disable Layout/LineLength
+      let(:expected_link) { "<a href=\"http://localhost/api/v4/projects/#{project.id}/packages/pypi/files/#{file.file_sha256}/#{filename}#sha256=#{file.file_sha256}\" data-requires-python=\"#{expected_python_version}\">#{filename}</a>" }
 
       it_behaves_like 'pypi package presenter'
     end
 
     context 'for group' do
       let(:project_or_group) { group }
-      let(:expected_link) { "<a href=\"http://localhost/api/v4/groups/#{group.id}/-/packages/pypi/files/#{file.file_sha256}/#{filename}#sha256=#{file.file_sha256}\" data-requires-python=\"#{expected_python_version}\">#{filename}</a>" } # rubocop:disable Layout/LineLength
+      let(:expected_link) { "<a href=\"http://localhost/api/v4/groups/#{group.id}/-/packages/pypi/files/#{file.file_sha256}/#{filename}#sha256=#{file.file_sha256}\" data-requires-python=\"#{expected_python_version}\">#{filename}</a>" }
 
       it_behaves_like 'pypi package presenter'
     end
diff --git a/spec/requests/api/graphql/ci/config_spec.rb b/spec/requests/api/graphql/ci/config_spec.rb
index c30b8abdbb2d..58711a9bd4e4 100644
--- a/spec/requests/api/graphql/ci/config_spec.rb
+++ b/spec/requests/api/graphql/ci/config_spec.rb
@@ -415,7 +415,6 @@
 
     it_behaves_like 'a working graphql query'
 
-    # rubocop:disable Layout/LineLength
     it 'returns correct includes' do
       expect(graphql_data['ciConfig']["includes"]).to eq(
         [
@@ -467,7 +466,6 @@
         ]
       )
     end
-    # rubocop:enable Layout/LineLength
   end
 
   describe 'skip_verify_project_sha' do
diff --git a/spec/scripts/duo_chat/reporter_spec.rb b/spec/scripts/duo_chat/reporter_spec.rb
index 836c41273e82..8f778416c0d2 100644
--- a/spec/scripts/duo_chat/reporter_spec.rb
+++ b/spec/scripts/duo_chat/reporter_spec.rb
@@ -111,7 +111,7 @@
       end
 
       context 'when a note does not already exist' do
-        let(:note) { nil } # rubocop: disable RSpec/VerifiedDoubles -- an internal detail of Gitlab gem.
+        let(:note) { nil }
 
         it 'saves the report as a markdown file and creates a new MR note containing the report content' do
           expect(File).to receive(:write).with(base_dir, reporter.markdown_report)
diff --git a/spec/services/alert_management/metric_images/upload_service_spec.rb b/spec/services/alert_management/metric_images/upload_service_spec.rb
index e2a21cb9d16e..fea57dd5d3a9 100644
--- a/spec/services/alert_management/metric_images/upload_service_spec.rb
+++ b/spec/services/alert_management/metric_images/upload_service_spec.rb
@@ -64,7 +64,8 @@
           }
         end
 
-        it_behaves_like 'no metric saved, an error given', /File does not have a supported extension. Only png, jpg, jpeg, gif, bmp, tiff, ico, and webp are supported/ # rubocop: disable Layout/LineLength
+        it_behaves_like 'no metric saved, an error given',
+          /File does not have a supported extension. Only png, jpg, jpeg, gif, bmp, tiff, ico, and webp are supported/
       end
 
       context 'user is guest' do
diff --git a/spec/services/boards/lists/list_service_spec.rb b/spec/services/boards/lists/list_service_spec.rb
index 282230def44d..40ef4b646039 100644
--- a/spec/services/boards/lists/list_service_spec.rb
+++ b/spec/services/boards/lists/list_service_spec.rb
@@ -18,7 +18,8 @@
       end
 
       let_it_be(:milestone_list) do
-        list = build(:list, board: board, milestone_id: milestone.id, list_type: List.list_types[:milestone], position: 1) # rubocop:disable Layout/LineLength
+        list = build(:list, board: board, milestone_id: milestone.id, list_type: List.list_types[:milestone],
+          position: 1)
         list.save!(validate: false)
         list
       end
diff --git a/spec/support/finder_collection.rb b/spec/support/finder_collection.rb
index 933639434495..6bcdc80acff8 100644
--- a/spec/support/finder_collection.rb
+++ b/spec/support/finder_collection.rb
@@ -1,6 +1,6 @@
 # frozen_string_literal: true
 
-require 'set' # rubocop:disable Lint/RedundantRequireStatement -- Ruby 3.1 and earlier needs this. Drop this line after Ruby 3.2+ is only supported.
+require 'set' # -- Ruby 3.1 and earlier needs this. Drop this line after Ruby 3.2+ is only supported.
 
 module Support
   # Ensure that finders' `execute` method always returns
diff --git a/spec/support/forgery_protection.rb b/spec/support/forgery_protection.rb
index d12e99b17c48..1d6ea0132927 100644
--- a/spec/support/forgery_protection.rb
+++ b/spec/support/forgery_protection.rb
@@ -8,7 +8,7 @@ def with_forgery_protection
     ActionController::Base.allow_forgery_protection = false
   end
 
-  module_function :with_forgery_protection # rubocop: disable Style/AccessModifierDeclarations
+  module_function :with_forgery_protection
 end
 
 RSpec.configure do |config|
diff --git a/spec/support/helpers/database/multiple_databases_helpers.rb b/spec/support/helpers/database/multiple_databases_helpers.rb
index 328365366ce5..c8af2f1f1af7 100644
--- a/spec/support/helpers/database/multiple_databases_helpers.rb
+++ b/spec/support/helpers/database/multiple_databases_helpers.rb
@@ -90,7 +90,6 @@ def ensure_schema_and_empty_tables
     #
     # The execution within a block ensures safe cleanup of all allocated resources.
     #
-    # rubocop:disable Database/MultipleDatabases
     def with_reestablished_active_record_base(reconnect: true)
       connection_classes = ActiveRecord::Base
         .connection_handler
@@ -112,10 +111,9 @@ def with_reestablished_active_record_base(reconnect: true)
       ActiveRecord::Base.connection_handler = original_handler
       new_handler&.clear_all_connections!
     end
-    # rubocop:enable Database/MultipleDatabases
 
     def with_db_configs(test: test_config)
-      current_configurations = ActiveRecord::Base.configurations # rubocop:disable Database/MultipleDatabases
+      current_configurations = ActiveRecord::Base.configurations
       ActiveRecord::Base.configurations = { test: test_config }
       yield
     ensure
diff --git a/spec/support/helpers/graphql_helpers.rb b/spec/support/helpers/graphql_helpers.rb
index 8fafd7a46d43..e9356062cff0 100644
--- a/spec/support/helpers/graphql_helpers.rb
+++ b/spec/support/helpers/graphql_helpers.rb
@@ -130,7 +130,6 @@ def resolve(
   # NB: Arguments are passed from the client's perspective. If there is an argument
   # `foo` aliased as `bar`, then we would pass `args: { bar: the_value }`, and
   # types are checked before resolution.
-  # rubocop:disable Metrics/ParameterLists
   def resolve_field(
     field,                        # An instance of `BaseField`, or the name of a field on the current described_class
     object,                       # The current object of the `BaseObject` this field 'belongs' to
diff --git a/spec/support/helpers/snowplow_helpers.rb b/spec/support/helpers/snowplow_helpers.rb
index a04e5d46df97..f0a65e51c194 100644
--- a/spec/support/helpers/snowplow_helpers.rb
+++ b/spec/support/helpers/snowplow_helpers.rb
@@ -60,7 +60,7 @@ def expect_snowplow_event(category:, action:, context: nil, tracking_method: :ev
       end
     end
 
-    expect(Gitlab::Tracking).to have_received(tracking_method) # rubocop:disable RSpec/ExpectGitlabTracking
+    expect(Gitlab::Tracking).to have_received(tracking_method)
       .with(category, action, **kwargs).at_least(:once)
   end
 
@@ -81,9 +81,9 @@ def match_snowplow_context_schema(schema_path:, context:)
   #   end
   def expect_no_snowplow_event(category: nil, action: nil, tracking_method: :event, **kwargs)
     if category && action
-      expect(Gitlab::Tracking).not_to have_received(tracking_method).with(category, action, **kwargs) # rubocop:disable RSpec/ExpectGitlabTracking
+      expect(Gitlab::Tracking).not_to have_received(tracking_method).with(category, action, **kwargs)
     else
-      expect(Gitlab::Tracking).not_to have_received(tracking_method) # rubocop:disable RSpec/ExpectGitlabTracking
+      expect(Gitlab::Tracking).not_to have_received(tracking_method)
     end
   end
 end
diff --git a/spec/support/shared_examples/features/editable_merge_request_shared_examples.rb b/spec/support/shared_examples/features/editable_merge_request_shared_examples.rb
index 1bee8184e61b..8594bfad5c72 100644
--- a/spec/support/shared_examples/features/editable_merge_request_shared_examples.rb
+++ b/spec/support/shared_examples/features/editable_merge_request_shared_examples.rb
@@ -89,7 +89,7 @@
 
     expect(page).to have_content(
       format(
-        _("Someone edited this %{model_name} at the same time you did. Please check out the %{link_to_model} and make sure your changes will not unintentionally remove theirs."), # rubocop:disable Layout/LineLength
+        _("Someone edited this %{model_name} at the same time you did. Please check out the %{link_to_model} and make sure your changes will not unintentionally remove theirs."),
         model_name: _('merge request'),
         link_to_model: _('merge request')
       )
diff --git a/spec/support/shared_examples/lib/gitlab/regex_shared_examples.rb b/spec/support/shared_examples/lib/gitlab/regex_shared_examples.rb
index 2de30aed2642..57032997fe12 100644
--- a/spec/support/shared_examples/lib/gitlab/regex_shared_examples.rb
+++ b/spec/support/shared_examples/lib/gitlab/regex_shared_examples.rb
@@ -14,8 +14,16 @@
   it { is_expected.to match('my/awesome/image.test') }
   it { is_expected.to match('my/awesome/image--test') }
   it { is_expected.to match('my/image__test') }
+
   # this example tests for catastrophic backtracking
-  it { is_expected.to match('user1/project/a_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb------------x') } # rubocop:disable Layout/LineLength -- Avoid formatting to keep one-line test blocks
+  specify do
+    string =
+      'user1/project/a_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' \
+        'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' \
+        'bbbbbbbbbb------------x'
+    is_expected.to match(string)
+  end
+
   it { is_expected.not_to match('user1/project/a_bbbbb-------------') }
   it { is_expected.not_to match('my/image-.test') }
   it { is_expected.not_to match('my/image___test') }
diff --git a/spec/support/shared_examples/models/boards/listable_shared_examples.rb b/spec/support/shared_examples/models/boards/listable_shared_examples.rb
index ac8655a907f0..aee591764b23 100644
--- a/spec/support/shared_examples/models/boards/listable_shared_examples.rb
+++ b/spec/support/shared_examples/models/boards/listable_shared_examples.rb
@@ -86,7 +86,7 @@
     end
 
     it 'can not be destroyed when list_type is set to closed' do
-      subject = create(list_factory, list_type: :closed) # rubocop:disable Rails/SaveBang
+      subject = create(list_factory, list_type: :closed)
 
       expect(subject.destroy).to be_falsey
     end
diff --git a/spec/support/shared_examples/models/concerns/incident_management/escalatable_shared_examples.rb b/spec/support/shared_examples/models/concerns/incident_management/escalatable_shared_examples.rb
index a5970f134d99..6d10dd6ac4fd 100644
--- a/spec/support/shared_examples/models/concerns/incident_management/escalatable_shared_examples.rb
+++ b/spec/support/shared_examples/models/concerns/incident_management/escalatable_shared_examples.rb
@@ -1,7 +1,6 @@
 # frozen_string_literal: true
 
 RSpec.shared_examples 'a model including Escalatable' do
-  # rubocop:disable Rails/SaveBang -- Usage of factory symbol as argument causes a false-positive
   let_it_be(:escalatable_factory) { factory_from_class(described_class) }
   let_it_be(:triggered_escalatable, reload: true) { create(escalatable_factory, :triggered) }
   let_it_be(:acknowledged_escalatable, reload: true) { create(escalatable_factory, :acknowledged) }
@@ -276,4 +275,3 @@ def factory_from_class(klass)
     klass.name.underscore.tr('/', '_')
   end
 end
-# rubocop:enable Rails/SaveBang
diff --git a/spec/support/shared_examples/models/cycle_analytics_stage_shared_examples.rb b/spec/support/shared_examples/models/cycle_analytics_stage_shared_examples.rb
index de25dc2379e2..67b4faf49537 100644
--- a/spec/support/shared_examples/models/cycle_analytics_stage_shared_examples.rb
+++ b/spec/support/shared_examples/models/cycle_analytics_stage_shared_examples.rb
@@ -156,7 +156,6 @@
     end
   end
 
-  # rubocop: disable Rails/SaveBang
   describe '#event_hash' do
     it 'associates the same stage event hash record' do
       first = create(factory, namespace: group)
@@ -224,7 +223,6 @@
       end
     end
   end
-  # rubocop: enable Rails/SaveBang
 end
 
 RSpec.shared_examples 'value stream analytics label based stage' do
diff --git a/spec/support/shared_examples/models/packages/debian/distribution_key_shared_examples.rb b/spec/support/shared_examples/models/packages/debian/distribution_key_shared_examples.rb
index 26794c837362..69192ee7558a 100644
--- a/spec/support/shared_examples/models/packages/debian/distribution_key_shared_examples.rb
+++ b/spec/support/shared_examples/models/packages/debian/distribution_key_shared_examples.rb
@@ -3,7 +3,7 @@
 require 'spec_helper'
 
 RSpec.shared_examples 'Debian Distribution Key' do |container|
-  let_it_be_with_refind(:distribution_key) { create("debian_#{container}_distribution_key") } # rubocop:disable Rails/SaveBang
+  let_it_be_with_refind(:distribution_key) { create("debian_#{container}_distribution_key") }
 
   subject { distribution_key }
 
diff --git a/spec/support/shared_examples/requests/api/rubygems_packages_shared_examples.rb b/spec/support/shared_examples/requests/api/rubygems_packages_shared_examples.rb
index d7077180b910..b5d6cc2394ec 100644
--- a/spec/support/shared_examples/requests/api/rubygems_packages_shared_examples.rb
+++ b/spec/support/shared_examples/requests/api/rubygems_packages_shared_examples.rb
@@ -161,7 +161,7 @@
 
         subject
 
-        expect(response.body).to eq(expected_response) # rubocop:disable Security/MarshalLoad
+        expect(response.body).to eq(expected_response)
         expect(response).to have_gitlab_http_status(status)
       end
 
-- 
GitLab