From 73183154c66a47eaabc1e41ba34bc392183fa5f3 Mon Sep 17 00:00:00 2001
From: Chad Woolley <cwoolley@gitlab.com>
Date: Thu, 6 Jun 2024 03:14:58 -0700
Subject: [PATCH] Cleanup linter annotations for remote dev domain

- Cleanup/update noinspection and fix other minor issues
---
 .../cluster_agents_finder.rb                  |  1 +
 .../remote_development/workspaces/create.rb   |  2 +-
 .../workspaces_for_agent_resolver.rb          |  1 -
 ee/app/models/remote_development/workspace.rb | 21 +++++++++++++------
 .../remote_development/workspace_policy.rb    |  3 ---
 .../agent_config/updater.rb                   |  2 +-
 .../validations.rb                            |  1 +
 .../settings/env_var_reader.rb                |  3 ++-
 .../workspaces/create/workspace_creator.rb    |  1 -
 .../workspaces_from_agent_infos_updater.rb    |  1 -
 .../workspaces_dropdown_group_spec.rb         |  3 ++-
 .../remote_development/workspaces_spec.rb     |  4 ++--
 .../agent_config/updater_spec.rb              |  3 ++-
 .../create/main_integration_spec.rb           |  2 ++
 .../create/main_spec.rb                       |  4 ++--
 .../create/mapping_creator_spec.rb            |  5 +++++
 .../delete/main_spec.rb                       |  4 ++--
 .../remote_development/settings/main_spec.rb  |  4 ++--
 .../workspaces/create/creator_spec.rb         |  4 ++--
 .../workspaces/create/main_spec.rb            |  4 ++--
 .../reconcile/main_integration_spec.rb        |  6 +++++-
 .../workspaces/reconcile/main_spec.rb         |  4 ++--
 .../workspaces_to_be_returned_updater_spec.rb |  4 +++-
 .../workspaces/update/main_spec.rb            |  4 ++--
 .../remote_development_agent_config_spec.rb   |  4 +++-
 .../remote_development/workspace_spec.rb      |  6 +++++-
 .../workspace_policy_spec.rb                  |  3 +--
 .../network_policy_egress_validator_spec.rb   |  2 +-
 ...pace_container_resources_validator_spec.rb |  1 -
 spec/lib/result_spec.rb                       |  2 +-
 spec/support/matchers/invoke_rop_steps.rb     |  2 ++
 .../lint_factories_shared_examples.rb         |  2 +-
 ...etes_container_resources_validator_spec.rb |  1 -
 33 files changed, 70 insertions(+), 44 deletions(-)

diff --git a/ee/app/finders/remote_development/cluster_agents_finder.rb b/ee/app/finders/remote_development/cluster_agents_finder.rb
index 3dc80d9b4e59..29a262920674 100644
--- a/ee/app/finders/remote_development/cluster_agents_finder.rb
+++ b/ee/app/finders/remote_development/cluster_agents_finder.rb
@@ -13,6 +13,7 @@ def self.fetch_agents(filter, namespace, user)
       when :unmapped
         validate_user_can_read_namespace_agent_mappings!(user: user, namespace: namespace)
 
+        # noinspection RailsParamDefResolve -- A symbol is a valid argument for 'select'
         existing_mapped_agents =
           RemoteDevelopmentNamespaceClusterAgentMapping
             .for_namespaces([namespace.id])
diff --git a/ee/app/graphql/mutations/remote_development/workspaces/create.rb b/ee/app/graphql/mutations/remote_development/workspaces/create.rb
index 05d847449839..bda19dc4d44a 100644
--- a/ee/app/graphql/mutations/remote_development/workspaces/create.rb
+++ b/ee/app/graphql/mutations/remote_development/workspaces/create.rb
@@ -106,7 +106,7 @@ def resolve(args)
             end
           end
 
-          # noinspection RubyNilAnalysis
+          # noinspection RubyNilAnalysis - This is because the superclass #current_user uses #[], which can return nil
           track_usage_event(:users_creating_workspaces, current_user.id)
 
           service = ::RemoteDevelopment::Workspaces::CreateService.new(current_user: current_user)
diff --git a/ee/app/graphql/resolvers/remote_development/workspaces_for_agent_resolver.rb b/ee/app/graphql/resolvers/remote_development/workspaces_for_agent_resolver.rb
index 97e36aab46a3..880535807c02 100644
--- a/ee/app/graphql/resolvers/remote_development/workspaces_for_agent_resolver.rb
+++ b/ee/app/graphql/resolvers/remote_development/workspaces_for_agent_resolver.rb
@@ -4,7 +4,6 @@ module Resolvers
   module RemoteDevelopment
     class WorkspacesForAgentResolver < ::Resolvers::BaseResolver
       include ResolvesIds
-      # noinspection RubyResolve - likely due to https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
       include Gitlab::Graphql::Authorize::AuthorizeResource
 
       type Types::RemoteDevelopment::WorkspaceType.connection_type, null: true
diff --git a/ee/app/models/remote_development/workspace.rb b/ee/app/models/remote_development/workspace.rb
index f2bed27057f7..377811bc1ea2 100644
--- a/ee/app/models/remote_development/workspace.rb
+++ b/ee/app/models/remote_development/workspace.rb
@@ -4,7 +4,6 @@ module RemoteDevelopment
   class Workspace < ApplicationRecord
     include IgnorableColumns
     include Sortable
-    # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
     include RemoteDevelopment::Workspaces::States
     include ::Gitlab::Utils::StrongMemoize
 
@@ -80,6 +79,7 @@ def workspaces_count_for_current_user_and_agent
         .by_agent_ids(cluster_agent_id)
         .count
     end
+
     strong_memoize_attr :workspaces_count_for_current_user_and_agent
 
     def workspaces_count_for_current_agent
@@ -88,11 +88,13 @@ def workspaces_count_for_current_agent
         .by_agent_ids(cluster_agent_id)
         .count
     end
+
     strong_memoize_attr :workspaces_count_for_current_agent
 
     def exceeds_workspaces_per_user_quota?
       return unless remote_development_agent_config
 
+      # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
       quota = remote_development_agent_config.workspaces_per_user_quota
       return true if quota == 0
       return false if quota == -1
@@ -103,6 +105,7 @@ def exceeds_workspaces_per_user_quota?
     def exceeds_workspaces_quota?
       return unless remote_development_agent_config
 
+      # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
       quota = remote_development_agent_config.workspaces_quota
       return true if quota == 0
       return false if quota == -1
@@ -159,21 +162,27 @@ def enforce_permanent_termination
     def enforce_quotas
       agent_config = remote_development_agent_config
       if exceeds_workspaces_per_user_quota?
+        # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
         errors.add :base,
-          format(s_('RemoteDevelopment|You cannot create a workspace because you already have "%{count}" existing workspaces for the given agent with a per user quota of "%{quota}" workspaces'),
+          format(
+            s_('RemoteDevelopment|You cannot create a workspace because you already have "%{count}" existing workspaces for the given agent with a per user quota of "%{quota}" workspaces'),
             count: workspaces_count_for_current_user_and_agent,
-            quota: agent_config.workspaces_per_user_quota)
+            quota: agent_config.workspaces_per_user_quota
+          )
       elsif exceeds_workspaces_quota?
+        # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
         errors.add :base,
-          format(s_('RemoteDevelopment|You cannot create a workspace because there are already "%{count}" existing workspaces for the given agent with a total quota of "%{quota}" workspaces'),
+          format(
+            s_('RemoteDevelopment|You cannot create a workspace because there are already "%{count}" existing workspaces for the given agent with a total quota of "%{quota}" workspaces'),
             count: workspaces_count_for_current_agent,
-            quota: agent_config.workspaces_quota)
+            quota: agent_config.workspaces_quota
+          )
       end
     end
+
     # rubocop:enable Layout/LineLength  -- Long messages for UI
 
     def touch_desired_state_updated_at
-      # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
       self.desired_state_updated_at = Time.current.utc
     end
   end
diff --git a/ee/app/policies/remote_development/workspace_policy.rb b/ee/app/policies/remote_development/workspace_policy.rb
index bb3a887a24f7..8dc16e867401 100644
--- a/ee/app/policies/remote_development/workspace_policy.rb
+++ b/ee/app/policies/remote_development/workspace_policy.rb
@@ -3,9 +3,6 @@
 module RemoteDevelopment
   # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-25400
   class WorkspacePolicy < BasePolicy
-    # TODO: This policy should be updated/replaced with a new authorization scheme based on runners.
-    #       See https://gitlab.com/groups/gitlab-org/-/epics/10272
-
     condition(:can_access_workspaces_feature) { user&.can?(:access_workspaces_feature, :global) }
     condition(:can_admin_cluster_agent_for_workspace) { user&.can?(:admin_cluster, workspace.agent) }
     condition(:can_admin_owned_workspace) { workspace_owner? && has_developer_access_to_workspace_project? }
diff --git a/ee/lib/remote_development/agent_config/updater.rb b/ee/lib/remote_development/agent_config/updater.rb
index 3b3f8e37acca..b584586cf26b 100644
--- a/ee/lib/remote_development/agent_config/updater.rb
+++ b/ee/lib/remote_development/agent_config/updater.rb
@@ -1,6 +1,5 @@
 # frozen_string_literal: true
 
-# noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
 module RemoteDevelopment
   module AgentConfig
     class Updater
@@ -47,6 +46,7 @@ def self.update(value)
 
           workspaces_update_fields = { force_include_all_resources: true }
 
+          # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
           if remote_development_agent_config.dns_zone_previously_was
             workspaces_update_fields[:dns_zone] = remote_development_agent_config.dns_zone
           end
diff --git a/ee/lib/remote_development/namespace_cluster_agent_mappings/validations.rb b/ee/lib/remote_development/namespace_cluster_agent_mappings/validations.rb
index 11709fcc99b5..4aaeea5093ea 100644
--- a/ee/lib/remote_development/namespace_cluster_agent_mappings/validations.rb
+++ b/ee/lib/remote_development/namespace_cluster_agent_mappings/validations.rb
@@ -42,6 +42,7 @@ def self.traversal_ids_for_cluster_agents(cluster_agent_ids:)
           # project_namespaces_by_id must contain project.project_namespace_id as "projects" table has a
           # ON CASCADE DELETE constraint with respect to the projects table. As such, if a project can be retrieved
           # from the database, so should its project_namespace
+          # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
           project_namespace = project_namespaces_by_id[project.project_namespace_id]
 
           hash[cluster_agent_id] = project_namespace.traversal_ids
diff --git a/ee/lib/remote_development/settings/env_var_reader.rb b/ee/lib/remote_development/settings/env_var_reader.rb
index 868f45471e76..0187af47ad60 100644
--- a/ee/lib/remote_development/settings/env_var_reader.rb
+++ b/ee/lib/remote_development/settings/env_var_reader.rb
@@ -41,11 +41,12 @@ def self.read(value)
       end
 
       # @param [String] env_var_name
-      # @param [Integer,String] env_var_value_string
+      # @param [String] env_var_value_string
       # @param [Class] setting_type
       # @return [Object]
       # @raise [RuntimeError]
       def self.cast_value(env_var_name:, env_var_value_string:, setting_type:)
+        # noinspection RubyIfCanBeCaseInspection -- This cannot be a case statement - see discussion here https://gitlab.com/gitlab-org/gitlab/-/merge_requests/148287#note_1849160293
         if setting_type == String
           env_var_value_string
         elsif setting_type == Integer
diff --git a/ee/lib/remote_development/workspaces/create/workspace_creator.rb b/ee/lib/remote_development/workspaces/create/workspace_creator.rb
index f64a90c0442f..3b44670b8f1f 100644
--- a/ee/lib/remote_development/workspaces/create/workspace_creator.rb
+++ b/ee/lib/remote_development/workspaces/create/workspace_creator.rb
@@ -3,7 +3,6 @@
 module RemoteDevelopment
   module Workspaces
     module Create
-      # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
       class WorkspaceCreator
         include States
         include Messages
diff --git a/ee/lib/remote_development/workspaces/reconcile/persistence/workspaces_from_agent_infos_updater.rb b/ee/lib/remote_development/workspaces/reconcile/persistence/workspaces_from_agent_infos_updater.rb
index a71ab3aa903c..b9bce56b395b 100644
--- a/ee/lib/remote_development/workspaces/reconcile/persistence/workspaces_from_agent_infos_updater.rb
+++ b/ee/lib/remote_development/workspaces/reconcile/persistence/workspaces_from_agent_infos_updater.rb
@@ -4,7 +4,6 @@ module RemoteDevelopment
   module Workspaces
     module Reconcile
       module Persistence
-        # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
         class WorkspacesFromAgentInfosUpdater
           # @param [Hash] value
           # @return [Hash]
diff --git a/ee/spec/features/remote_development/workspaces_dropdown_group_spec.rb b/ee/spec/features/remote_development/workspaces_dropdown_group_spec.rb
index da0a5c63af70..03b9d2948b02 100644
--- a/ee/spec/features/remote_development/workspaces_dropdown_group_spec.rb
+++ b/ee/spec/features/remote_development/workspaces_dropdown_group_spec.rb
@@ -2,7 +2,6 @@
 
 require 'spec_helper'
 
-# noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
 RSpec.describe 'Remote Development workspaces dropdown group', :api, :js, feature_category: :remote_development do
   include_context 'with remote development shared fixtures'
   include_context 'file upload requests helpers'
@@ -75,6 +74,7 @@
       it 'allows navigating to the new workspace page' do
         click_link 'New workspace'
 
+        # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
         expect(page).to have_current_path("#{new_remote_development_workspace_path}?project=#{project.full_path}")
         expect(page).to have_css('button', text: project.name_with_namespace)
       end
@@ -138,6 +138,7 @@ def expect_workspace_state_indicator(state)
   end
 
   describe 'when viewing blob page' do
+    # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
     let(:subject) { project_blob_path(project, "#{project.default_branch}/#{devfile_path}") }
 
     it_behaves_like 'views and manages workspaces in workspaces dropdown group based on feature flag'
diff --git a/ee/spec/features/remote_development/workspaces_spec.rb b/ee/spec/features/remote_development/workspaces_spec.rb
index 9916870ef2c2..ed2a666e3ffe 100644
--- a/ee/spec/features/remote_development/workspaces_spec.rb
+++ b/ee/spec/features/remote_development/workspaces_spec.rb
@@ -2,7 +2,6 @@
 
 require 'spec_helper'
 
-# noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
 RSpec.describe 'Remote Development workspaces', :api, :js, feature_category: :remote_development do
   include_context 'with remote development shared fixtures'
   include_context 'file upload requests helpers'
@@ -45,6 +44,7 @@
 
       # NAVIGATE TO WORKSPACES PAGE
 
+      # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
       visit remote_development_workspaces_path
       wait_for_requests
 
@@ -54,7 +54,7 @@
       click_button 'Select a project'
       find_by_testid("listbox-item-#{project.full_path}").click
       wait_for_requests
-      # noinspection RubyMismatchedArgumentType - TODO: Try suggestions in https://youtrack.jetbrains.com/issue/RUBY-25400/Programmatically-defined-constants-always-produce-Unresolved-reference-error#focus=Comments-27-8161148.0-0
+      # noinspection RubyMismatchedArgumentType -- Rubymine is finding the wrong `select`
       select agent.name, from: 'Cluster agent'
       fill_in 'Workspace automatically terminates after', with: '20'
       click_button 'Create workspace'
diff --git a/ee/spec/lib/remote_development/agent_config/updater_spec.rb b/ee/spec/lib/remote_development/agent_config/updater_spec.rb
index 9057014fda55..519da9f62987 100644
--- a/ee/spec/lib/remote_development/agent_config/updater_spec.rb
+++ b/ee/spec/lib/remote_development/agent_config/updater_spec.rb
@@ -2,7 +2,6 @@
 
 require 'spec_helper'
 
-# noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
 RSpec.describe ::RemoteDevelopment::AgentConfig::Updater, feature_category: :remote_development do
   include ResultMatchers
 
@@ -99,7 +98,9 @@
           .to eq(default_resources_per_workspace_container)
         expect(config_instance.max_resources_per_workspace.deep_symbolize_keys)
           .to eq(max_resources_per_workspace)
+        # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
         expect(config_instance.workspaces_quota).to eq(saved_quota)
+        # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
         expect(config_instance.workspaces_per_user_quota).to eq(saved_quota)
 
         expect(result)
diff --git a/ee/spec/lib/remote_development/namespace_cluster_agent_mappings/create/main_integration_spec.rb b/ee/spec/lib/remote_development/namespace_cluster_agent_mappings/create/main_integration_spec.rb
index 26bd5cb10e36..400097b55b6c 100644
--- a/ee/spec/lib/remote_development/namespace_cluster_agent_mappings/create/main_integration_spec.rb
+++ b/ee/spec/lib/remote_development/namespace_cluster_agent_mappings/create/main_integration_spec.rb
@@ -26,8 +26,10 @@
       expect(response.dig(:payload, :namespace_cluster_agent_mapping)).not_to be_nil
 
       mapping = response.dig(:payload, :namespace_cluster_agent_mapping)
+      # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
       expect(mapping.cluster_agent_id).to eq(cluster_agent.id)
       expect(mapping.namespace_id).to eq(namespace.id)
+      # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
       expect(mapping.creator_id).to eq(creator.id)
     end
   end
diff --git a/ee/spec/lib/remote_development/namespace_cluster_agent_mappings/create/main_spec.rb b/ee/spec/lib/remote_development/namespace_cluster_agent_mappings/create/main_spec.rb
index 1feba23ce63f..d049b9bf4ef3 100644
--- a/ee/spec/lib/remote_development/namespace_cluster_agent_mappings/create/main_spec.rb
+++ b/ee/spec/lib/remote_development/namespace_cluster_agent_mappings/create/main_spec.rb
@@ -22,7 +22,7 @@
     end
 
     it "returns expected response" do
-      # noinspection RubyResolve -- TODO: open issue and add to https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues
+      # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
       expect do
         described_class.main(value_passed_along_steps)
       end
@@ -47,7 +47,7 @@
 
     shared_examples "rop invocation with error response" do
       it "returns expected response" do
-        # noinspection RubyResolve -- TODO: open issue and add to https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues
+        # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
         expect do
           described_class.main(value_passed_along_steps)
         end
diff --git a/ee/spec/lib/remote_development/namespace_cluster_agent_mappings/create/mapping_creator_spec.rb b/ee/spec/lib/remote_development/namespace_cluster_agent_mappings/create/mapping_creator_spec.rb
index e204aa4adc5f..679628c469dd 100644
--- a/ee/spec/lib/remote_development/namespace_cluster_agent_mappings/create/mapping_creator_spec.rb
+++ b/ee/spec/lib/remote_development/namespace_cluster_agent_mappings/create/mapping_creator_spec.rb
@@ -38,18 +38,21 @@
     end
 
     context 'when cluster agent does not exist' do
+      # noinspection RubyResolve -- Rubymine isn't finding build_stubbed
       let_it_be(:agent) { build_stubbed(:cluster_agent) }
 
       it_behaves_like 'err result', expected_error_details: "Agent can't be blank"
     end
 
     context 'when namespace does not exist' do
+      # noinspection RubyResolve -- Rubymine isn't finding build_stubbed
       let_it_be(:namespace) { build_stubbed(:group) }
 
       it_behaves_like 'err result', expected_error_details: "Namespace can't be blank"
     end
 
     context 'when user does not exist' do
+      # noinspection RubyResolve -- Rubymine isn't finding build_stubbed
       let_it_be(:user) { build_stubbed(:user) }
 
       it_behaves_like 'err result', expected_error_details: "User can't be blank"
@@ -62,8 +65,10 @@
       expect(result.unwrap).to be_a(RemoteDevelopment::Messages::NamespaceClusterAgentMappingCreateSuccessful)
       new_mapping = result.unwrap.context[:namespace_cluster_agent_mapping]
 
+      # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
       expect(new_mapping.cluster_agent_id).to be(agent.id)
       expect(new_mapping.namespace_id).to be(namespace.id)
+      # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
       expect(new_mapping.creator_id).to be(user.id)
     end
   end
diff --git a/ee/spec/lib/remote_development/namespace_cluster_agent_mappings/delete/main_spec.rb b/ee/spec/lib/remote_development/namespace_cluster_agent_mappings/delete/main_spec.rb
index 7ff9ac5e8d2c..683434fda20b 100644
--- a/ee/spec/lib/remote_development/namespace_cluster_agent_mappings/delete/main_spec.rb
+++ b/ee/spec/lib/remote_development/namespace_cluster_agent_mappings/delete/main_spec.rb
@@ -21,7 +21,7 @@
     end
 
     it "returns expected response" do
-      # noinspection RubyResolve -- TODO: open issue and add to https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues
+      # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
       expect do
         described_class.main(value_passed_along_steps)
       end
@@ -46,7 +46,7 @@
 
     shared_examples "rop invocation with error response" do
       it "returns expected response" do
-        # noinspection RubyResolve -- TODO: open issue and add to https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues
+        # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
         expect do
           described_class.main(value_passed_along_steps)
         end
diff --git a/ee/spec/lib/remote_development/settings/main_spec.rb b/ee/spec/lib/remote_development/settings/main_spec.rb
index 0cd4194f27d6..0b5415c88d33 100644
--- a/ee/spec/lib/remote_development/settings/main_spec.rb
+++ b/ee/spec/lib/remote_development/settings/main_spec.rb
@@ -28,7 +28,7 @@
     end
 
     it "returns expected response" do
-      # noinspection RubyResolve -- TODO: open issue and add to https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues
+      # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
       expect do
         described_class.get_settings(value_passed_along_steps)
       end
@@ -45,7 +45,7 @@
 
     shared_examples "rop invocation with error response" do
       it "returns expected response" do
-        # noinspection RubyResolve -- TODO: open issue and add to https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues
+        # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
         expect do
           described_class.get_settings(value_passed_along_steps)
         end
diff --git a/ee/spec/lib/remote_development/workspaces/create/creator_spec.rb b/ee/spec/lib/remote_development/workspaces/create/creator_spec.rb
index ee8253488ecf..cf9d54bf80a4 100644
--- a/ee/spec/lib/remote_development/workspaces/create/creator_spec.rb
+++ b/ee/spec/lib/remote_development/workspaces/create/creator_spec.rb
@@ -53,7 +53,7 @@
     end
 
     it "returns expected response" do
-      # noinspection RubyResolve -- TODO: open issue and add to https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues
+      # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
       expect do
         described_class.create(initial_value)
       end
@@ -70,7 +70,7 @@
 
     shared_examples "rop invocation with error response" do
       it "returns expected response" do
-        # noinspection RubyResolve -- TODO: open issue and add to https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues
+        # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
         expect do
           described_class.create(initial_value)
         end
diff --git a/ee/spec/lib/remote_development/workspaces/create/main_spec.rb b/ee/spec/lib/remote_development/workspaces/create/main_spec.rb
index 5465bac74597..42dcb6417457 100644
--- a/ee/spec/lib/remote_development/workspaces/create/main_spec.rb
+++ b/ee/spec/lib/remote_development/workspaces/create/main_spec.rb
@@ -30,7 +30,7 @@
     end
 
     it "returns expected response" do
-      # noinspection RubyResolve -- TODO: open issue and add to https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues
+      # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
       expect do
         described_class.main(value_passed_along_steps)
       end
@@ -53,7 +53,7 @@
 
     shared_examples "rop invocation with error response" do
       it "returns expected response" do
-        # noinspection RubyResolve -- TODO: open issue and add to https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues
+        # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
         expect do
           described_class.main(value_passed_along_steps)
         end
diff --git a/ee/spec/lib/remote_development/workspaces/reconcile/main_integration_spec.rb b/ee/spec/lib/remote_development/workspaces/reconcile/main_integration_spec.rb
index e3dcd80082e8..969ec5c90d73 100644
--- a/ee/spec/lib/remote_development/workspaces/reconcile/main_integration_spec.rb
+++ b/ee/spec/lib/remote_development/workspaces/reconcile/main_integration_spec.rb
@@ -3,7 +3,6 @@
 require 'spec_helper'
 
 # rubocop:disable RSpec/MultipleMemoizedHelpers -- needed helpers for multiple cases
-# noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
 RSpec.describe RemoteDevelopment::Workspaces::Reconcile::Main, "Integration", :freeze_time, feature_category: :remote_development do
   include_context 'with remote development shared fixtures'
 
@@ -285,13 +284,16 @@
         before do
           # Ensure that both desired_state_updated_at and responded_to_agent_at are before Time.current,
           # so that we can test for any necessary differences after processing updates them
+          # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
           expect(workspace.desired_state_updated_at).to be_before(Time.current)
+          # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
           expect(workspace.responded_to_agent_at).to be_before(Time.current)
         end
 
         after do
           # After processing, the responded_to_agent_at should always have been updated
           workspace.reload
+          # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
           expect(workspace.responded_to_agent_at)
             .not_to be_before(workspace.desired_state_updated_at)
         end
@@ -300,6 +302,7 @@
         context 'when desired_state matches actual_state' do
           # rubocop:todo RSpec/ExpectInHook -- This could be moved to a shared example
           before do
+            # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
             expect(workspace.responded_to_agent_at)
               .to be_after(workspace.desired_state_updated_at)
           end
@@ -371,6 +374,7 @@
 
           # rubocop:disable RSpec/ExpectInHook -- This could be moved to a shared example
           before do
+            # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
             expect(workspace.responded_to_agent_at)
               .to be_before(workspace.desired_state_updated_at)
           end
diff --git a/ee/spec/lib/remote_development/workspaces/reconcile/main_spec.rb b/ee/spec/lib/remote_development/workspaces/reconcile/main_spec.rb
index d9786b488ceb..2c7fc9af41cd 100644
--- a/ee/spec/lib/remote_development/workspaces/reconcile/main_spec.rb
+++ b/ee/spec/lib/remote_development/workspaces/reconcile/main_spec.rb
@@ -42,7 +42,7 @@
     end
 
     it "returns expected response" do
-      # noinspection RubyResolve -- TODO: open issue and add to https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues
+      # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
       expect do
         described_class.main(value_passed_along_steps)
       end
@@ -59,7 +59,7 @@
 
     shared_examples "rop invocation with error response" do
       it "returns expected response" do
-        # noinspection RubyResolve -- TODO: open issue and add to https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues
+        # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
         expect do
           described_class.main(value_passed_along_steps)
         end
diff --git a/ee/spec/lib/remote_development/workspaces/reconcile/persistence/workspaces_to_be_returned_updater_spec.rb b/ee/spec/lib/remote_development/workspaces/reconcile/persistence/workspaces_to_be_returned_updater_spec.rb
index e2e00e9aeb55..7f923af0cced 100644
--- a/ee/spec/lib/remote_development/workspaces/reconcile/persistence/workspaces_to_be_returned_updater_spec.rb
+++ b/ee/spec/lib/remote_development/workspaces/reconcile/persistence/workspaces_to_be_returned_updater_spec.rb
@@ -2,7 +2,6 @@
 
 require 'spec_helper'
 
-# noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
 RSpec.describe RemoteDevelopment::Workspaces::Reconcile::Persistence::WorkspacesToBeReturnedUpdater, feature_category: :remote_development do
   let_it_be(:user) { create(:user) }
   let_it_be(:agent) { create(:ee_cluster_agent, :with_remote_development_agent_config) }
@@ -70,8 +69,11 @@
   context "for update_type FULL" do
     it "updates all workspaces", :unlimited_max_formatted_output_length do
       returned_value
+      # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
       expect(workspace1.reload.responded_to_agent_at).to be > 1.minute.ago
+      # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
       expect(workspace2.reload.responded_to_agent_at).to be > 1.minute.ago
+      # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
       expect(workspace3.reload.responded_to_agent_at).to be > 1.minute.ago
     end
 
diff --git a/ee/spec/lib/remote_development/workspaces/update/main_spec.rb b/ee/spec/lib/remote_development/workspaces/update/main_spec.rb
index 607981652a8c..c9bbeb8ec982 100644
--- a/ee/spec/lib/remote_development/workspaces/update/main_spec.rb
+++ b/ee/spec/lib/remote_development/workspaces/update/main_spec.rb
@@ -22,7 +22,7 @@
     end
 
     it "returns expected response" do
-      # noinspection RubyResolve -- TODO: open issue and add to https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues
+      # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
       expect do
         described_class.main(value_passed_along_steps)
       end
@@ -47,7 +47,7 @@
 
     shared_examples "rop invocation with error response" do
       it "returns expected response" do
-        # noinspection RubyResolve -- TODO: open issue and add to https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues
+        # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
         expect do
           described_class.main(value_passed_along_steps)
         end
diff --git a/ee/spec/models/remote_development/remote_development_agent_config_spec.rb b/ee/spec/models/remote_development/remote_development_agent_config_spec.rb
index 1474c0021f1d..e9120e0f5135 100644
--- a/ee/spec/models/remote_development/remote_development_agent_config_spec.rb
+++ b/ee/spec/models/remote_development/remote_development_agent_config_spec.rb
@@ -2,7 +2,6 @@
 
 require 'spec_helper'
 
-# noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
 RSpec.describe RemoteDevelopment::RemoteDevelopmentAgentConfig, feature_category: :remote_development do
   let_it_be_with_reload(:agent) { create(:ee_cluster_agent, :with_remote_development_agent_config) }
   let(:default_default_resources_per_workspace_container) { {} }
@@ -55,6 +54,7 @@
     end
 
     it 'when network_policy_egress is nil' do
+      # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
       config.network_policy_egress = nil
       expect(config).not_to be_valid
       expect(config.errors[:network_policy_egress]).to include(
@@ -69,6 +69,7 @@
     end
 
     it 'when default_resources_per_workspace_container is nil' do
+      # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
       config.default_resources_per_workspace_container = nil
       expect(config).not_to be_valid
       expect(config.errors[:default_resources_per_workspace_container]).to include(
@@ -83,6 +84,7 @@
     end
 
     it 'when default_resources_per_workspace_container is nil' do
+      # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
       config.max_resources_per_workspace = nil
       expect(config).not_to be_valid
       expect(config.errors[:max_resources_per_workspace]).to include(
diff --git a/ee/spec/models/remote_development/workspace_spec.rb b/ee/spec/models/remote_development/workspace_spec.rb
index 34af0e778ef5..5c69f93353dc 100644
--- a/ee/spec/models/remote_development/workspace_spec.rb
+++ b/ee/spec/models/remote_development/workspace_spec.rb
@@ -2,7 +2,6 @@
 
 require 'spec_helper'
 
-# noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
 RSpec.describe RemoteDevelopment::Workspace, feature_category: :remote_development do
   let_it_be(:user) { create(:user) }
   let_it_be(:agent, reload: true) { create(:ee_cluster_agent, :with_remote_development_agent_config) }
@@ -49,6 +48,7 @@
         expect(agent.remote_development_agent_config.workspaces.first).to eq(workspace)
         expect(workspace.url_prefix).to eq("60001-#{workspace.name}")
         expect(workspace.dns_zone).to eq(agent.remote_development_agent_config.dns_zone)
+        # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
         expect(workspace.url_query_string).to eq("folder=dir%2Ffile")
       end
     end
@@ -80,6 +80,7 @@
 
       it 'sets desired_state_updated_at' do
         workspace.save!
+        # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
         expect(workspace.desired_state_updated_at).to eq(Time.current)
       end
     end
@@ -192,7 +193,9 @@
 
       context 'when dns_zone matches config dns_zone' do
         before do
+          # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
           workspace.dns_zone = 'zone1'
+          # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
           agent.remote_development_agent_config.dns_zone = 'zone1'
         end
 
@@ -204,6 +207,7 @@
       context 'when dns_zone does not match config dns_zone' do
         before do
           workspace.dns_zone = 'zone1'
+          # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31542
           agent.remote_development_agent_config.dns_zone = 'zone2'
         end
 
diff --git a/ee/spec/policies/remote_development/workspace_policy_spec.rb b/ee/spec/policies/remote_development/workspace_policy_spec.rb
index bca3db195c37..85a7da573b52 100644
--- a/ee/spec/policies/remote_development/workspace_policy_spec.rb
+++ b/ee/spec/policies/remote_development/workspace_policy_spec.rb
@@ -16,7 +16,6 @@
   let_it_be(:workspace_project, refind: true) { create(:project, creator: workspace_project_creator) }
   let_it_be(:workspace_owner, refind: true) { create(:user) }
   let_it_be(:workspace, refind: true) do
-    # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31543
     create(:workspace, project: workspace_project, agent: agent, user: workspace_owner)
   end
 
@@ -45,7 +44,7 @@
   end
 
   shared_examples 'fixture sanity checks' do
-    # noinspection RubyResolve - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-31543
+    # noinspection RubyResolve -- Rubymine is incorrectly resolving workspace_project as `QA::Resource::Project`.
     it "has fixture sanity checks" do
       expect(agent_project.creator_id).not_to eq(workspace_project.creator_id)
       expect(agent_project.creator_id).not_to eq(user.id)
diff --git a/ee/spec/validators/remote_development/network_policy_egress_validator_spec.rb b/ee/spec/validators/remote_development/network_policy_egress_validator_spec.rb
index 1c24c6ae7d11..cbaa4e4c6e52 100644
--- a/ee/spec/validators/remote_development/network_policy_egress_validator_spec.rb
+++ b/ee/spec/validators/remote_development/network_policy_egress_validator_spec.rb
@@ -4,6 +4,7 @@
 
 RSpec.describe RemoteDevelopment::NetworkPolicyEgressValidator, feature_category: :remote_development do
   let(:model) do
+    # noinspection RubyArgCount -- Rubymine is detecting wrong class here
     Class.new do
       include ActiveModel::Model
       include ActiveModel::Validations
@@ -17,7 +18,6 @@
 
   using RSpec::Parameterized::TableSyntax
 
-  # noinspection RubyMismatchedArgumentType - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-32041
   where(:egress, :validity, :errors) do
     # rubocop:disable Layout/LineLength -- The RSpec table syntax often requires long lines for errors
     nil                                                 | false | { egress: ['must be an array'] }
diff --git a/ee/spec/validators/remote_development/workspace_container_resources_validator_spec.rb b/ee/spec/validators/remote_development/workspace_container_resources_validator_spec.rb
index ee7064777cd8..27e8ca7db5ab 100644
--- a/ee/spec/validators/remote_development/workspace_container_resources_validator_spec.rb
+++ b/ee/spec/validators/remote_development/workspace_container_resources_validator_spec.rb
@@ -17,7 +17,6 @@
 
   using RSpec::Parameterized::TableSyntax
 
-  # noinspection RubyMismatchedArgumentType - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-32041
   where(:resources, :validity, :errors) do
     # rubocop:disable Layout/LineLength -- The RSpec table syntax often requires long lines for errors
     nil                                                                | false | { resources: ['must be a hash'] }
diff --git a/spec/lib/result_spec.rb b/spec/lib/result_spec.rb
index 2b88521fe141..388d573bacc2 100644
--- a/spec/lib/result_spec.rb
+++ b/spec/lib/result_spec.rb
@@ -160,7 +160,7 @@ def self.triple(value)
         it 'raises TypeError if passed anything other than a lambda or singleton method object' do
           ex = TypeError
           msg = /expects a lambda or singleton method object/
-          # noinspection RubyMismatchedArgumentType
+          # noinspection RubyMismatchedArgumentType -- intentionally passing invalid types
           expect { Result.ok(1).and_then('string') }.to raise_error(ex, msg)
           expect { Result.ok(1).and_then(proc { Result.ok(1) }) }.to raise_error(ex, msg)
           expect { Result.ok(1).and_then(1.method(:to_s)) }.to raise_error(ex, msg)
diff --git a/spec/support/matchers/invoke_rop_steps.rb b/spec/support/matchers/invoke_rop_steps.rb
index af0012aaf13f..30f6bd31ec90 100644
--- a/spec/support/matchers/invoke_rop_steps.rb
+++ b/spec/support/matchers/invoke_rop_steps.rb
@@ -213,6 +213,7 @@ def set_up_step_class_expectation(
       value_passed_along_steps: value_passed_along_steps
     )
 
+    # noinspection RubyNilAnalysis -- We ensure this is not nil
     expected_return_value_matcher.call(block)
   end
 
@@ -249,6 +250,7 @@ def set_up_step_class_expectation(
   chain :and_return_expected_value do |value|
     validate_expected_return_value(value)
     expected_return_value = value
+    # noinspection RubyUnusedLocalVariable -- TODO: open issue and add to https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues
     expected_return_value_matcher = if value.is_a?(Hash) || value.is_a?(Result)
                                       ->(main) { expect(main.call).to eq(value) }
                                     else
diff --git a/spec/support/shared_examples/lint_factories_shared_examples.rb b/spec/support/shared_examples/lint_factories_shared_examples.rb
index 31266379d4be..b356701fed85 100644
--- a/spec/support/shared_examples/lint_factories_shared_examples.rb
+++ b/spec/support/shared_examples/lint_factories_shared_examples.rb
@@ -34,7 +34,7 @@ def self.lint_factories_for(example_group)
 
       return if without_factory_defaults.empty? && with_factory_defaults.empty?
 
-      RSpec.describe "Lint factories for #{described_class}" do
+      RSpec.describe "Lint factories for #{described_class}", feature_category: :shared do
         include_examples 'Lint factories', with_factory_defaults, without_factory_defaults
       end
     end
diff --git a/spec/validators/kubernetes_container_resources_validator_spec.rb b/spec/validators/kubernetes_container_resources_validator_spec.rb
index aea561bafb9a..4e8565ab241c 100644
--- a/spec/validators/kubernetes_container_resources_validator_spec.rb
+++ b/spec/validators/kubernetes_container_resources_validator_spec.rb
@@ -17,7 +17,6 @@
 
   using RSpec::Parameterized::TableSyntax
 
-  # noinspection RubyMismatchedArgumentType - https://handbook.gitlab.com/handbook/tools-and-tips/editors-and-ides/jetbrains-ides/tracked-jetbrains-issues/#ruby-32041
   where(:resources, :validity, :errors) do
     # rubocop:disable Layout/LineLength -- The RSpec table syntax often requires long lines for errors
     nil                               | false | { resources: ["must be a hash"] }
-- 
GitLab