diff --git a/.gitlab/ci/qa-common/rules.gitlab-ci.yml b/.gitlab/ci/qa-common/rules.gitlab-ci.yml
index 6895d78fbf24fa2d467a5f98448296bfe665c9ab..7f7c9bbb6775877611be13089e047805865ef13f 100644
--- a/.gitlab/ci/qa-common/rules.gitlab-ci.yml
+++ b/.gitlab/ci/qa-common/rules.gitlab-ci.yml
@@ -183,7 +183,7 @@ include:
         QA_RSPEC_TAGS: "--tag smoke --tag ~orchestrated --tag ~skip_live_env"
     - if: '$CI_PROJECT_NAME == "omnibus-gitlab" && $PIPELINE_TYPE =~ /TRIGGERED_(CE|EE)_PIPELINE/ && $QA_OMNIBUS_MR_TESTS == "except-smoke"'
       variables:
-        QA_RSPEC_TAGS: "--tag ~smoke --tag ~orchestrated --tag ~skip_live_env --tag ~transient"
+        QA_RSPEC_TAGS: "--tag ~smoke --tag ~orchestrated --tag ~skip_live_env"
 
 # ------------------------------------------
 # Report
diff --git a/.rubocop_todo/layout/line_length.yml b/.rubocop_todo/layout/line_length.yml
index 005f70f2d1a0f79c55f05b745457fb00aeb53e95..b05080e40613ec286f9f7e89f4834a977aa65faa 100644
--- a/.rubocop_todo/layout/line_length.yml
+++ b/.rubocop_todo/layout/line_length.yml
@@ -2427,7 +2427,6 @@ Layout/LineLength:
     - 'qa/qa/specs/features/browser_ui/2_plan/issue/issue_suggestions_spec.rb'
     - 'qa/qa/specs/features/browser_ui/2_plan/issue/real_time_assignee_spec.rb'
     - 'qa/qa/specs/features/browser_ui/2_plan/related_issues/related_issues_spec.rb'
-    - 'qa/qa/specs/features/browser_ui/2_plan/transient/comment_on_discussion_spec.rb'
     - 'qa/qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_via_template_spec.rb'
     - 'qa/qa/specs/features/browser_ui/3_create/merge_request/rebase_merge_request_spec.rb'
     - 'qa/qa/specs/features/browser_ui/3_create/merge_request/squash_merge_request_spec.rb'
diff --git a/doc/development/testing_guide/end_to_end/best_practices/rspec_metadata_tests.md b/doc/development/testing_guide/end_to_end/best_practices/rspec_metadata_tests.md
index eaa03777188cec71aac0cd44994c568b59d02eb4..1f0bc517cd02276703a1cdf4fdcb520f071ea9cf 100644
--- a/doc/development/testing_guide/end_to_end/best_practices/rspec_metadata_tests.md
+++ b/doc/development/testing_guide/end_to_end/best_practices/rspec_metadata_tests.md
@@ -54,7 +54,6 @@ This is a partial list of the [RSpec metadata](https://rspec.info/features/3-12/
 | `:health_check`                | The test belongs to the smallest test suite, a subset of smoke. Used to monitor the status and health of the application                                                                                                                                                                                                                                                                                                                                                                                         |
 | `:smtp`                        | The test requires a GitLab instance to be configured to use an SMTP server. Tests SMTP notification email delivery from GitLab by using MailHog.                                                                                                                                                                                                                                                                                                                                                                 |
 | `:testcase`                    | The link to the test case issue in the [GitLab Project test cases](https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases).                                                                                                                                                                                                                                                                                                                                                                                   |
-| `:transient`                   | The test tests transient bugs. It is excluded by default.                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
 | `:ai_gateway`                  | The test requires a GitLab instance configured to use a local [AI gateway](https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist) with a valid cloud license, Duo Pro add-on and Duo Pro seat assigned to the administrator user. Paired with the `:orchestrated` tag.                                                                                                                                                                                                                                                                                                                              |
 | `:ai_gateway_no_seat_assigned` | The test requires a GitLab instance configured to use a local [AI gateway](https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist) where there is no seat assigned to the administrator user. Paired with the `:orchestrated` tag.                                                                                                                                                                                                                                                                                                                                         |
 | `:ai_gateway_no_license`       | The test requires a GitLab instance configured to use a local [AI gateway](https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist) without a valid cloud license. Paired with the `:orchestrated` tag.                                                                                                                                                                                                                                                                                                                                                                     |
diff --git a/doc/development/testing_guide/end_to_end/running_tests/index.md b/doc/development/testing_guide/end_to_end/running_tests/index.md
index 9bd45c05016914618db1ad9465062f4c378576bb..c03f27a23867578ba795a212c7f1a584e84d550e 100644
--- a/doc/development/testing_guide/end_to_end/running_tests/index.md
+++ b/doc/development/testing_guide/end_to_end/running_tests/index.md
@@ -136,15 +136,6 @@ Once you have the license file you can export it as an environment variable and
 export QA_EE_LICENSE=$(cat /path/to/gitlab_license)
 ```
 
-### Transient bugs
-
-A suite of tests have been written to test for [transient bugs](https://about.gitlab.com/handbook/engineering/quality/issue-triage/#transient-bugs).
-Those tests are tagged `:transient` and therefore can be run via:
-
-```shell
-bundle exec rspec --tag transient
-```
-
 ### Quarantined tests
 
 Tests can be put in quarantine by assigning `:quarantine` metadata. This means they will be skipped unless run with `--tag quarantine`. This can be used for tests that are expected to fail while a fix is in progress (similar to how [`skip` or `pending`](https://relishapp.com/rspec/rspec-core/v/3-8/docs/pending-and-skipped-examples) can be used).
diff --git a/qa/knapsack/master_report.json b/qa/knapsack/master_report.json
index 47678134d56e9cf34ef5924e6df6de93d8997e71..14bf3a0dea7a4edcc0afc241cb50ef2ad337342b 100644
--- a/qa/knapsack/master_report.json
+++ b/qa/knapsack/master_report.json
@@ -60,7 +60,6 @@
   "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_list_spec.rb": 36.73259511800006,
   "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_page_deletion_spec.rb": 44.374364992999745,
   "qa/specs/features/browser_ui/2_plan/related_issues/related_issues_spec.rb": 21.243798665999975,
-  "qa/specs/features/browser_ui/2_plan/transient/comment_on_discussion_spec.rb": 170.97194661700007,
   "qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_a_merge_spec.rb": 30.132673152000052,
   "qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_commit_spec.rb": 17.00821341599999,
   "qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb": 60.26460518700014,
@@ -255,4 +254,4 @@
   "qa/specs/features/ee/browser_ui/8_monitor/incident_management/incident_quick_action_spec.rb": 12.953126879000138,
   "qa/specs/features/ee/browser_ui/9_data_stores/group/prevent_forking_outside_group_spec.rb": 39.884931140999925,
   "qa/specs/features/ee/browser_ui/9_data_stores/group/share_group_with_group_spec.rb": 24.70188353599997
-}
\ No newline at end of file
+}
diff --git a/qa/qa/runtime/env.rb b/qa/qa/runtime/env.rb
index ff146086d675f528cdf93df53d2a828787dee288..503a30293df5b0c9bbb0fdf42858a60caae7488f 100644
--- a/qa/qa/runtime/env.rb
+++ b/qa/qa/runtime/env.rb
@@ -472,10 +472,6 @@ def geo_environment?
         QA::Runtime::Scenario.attributes.include?(:geo_secondary_address)
       end
 
-      def transient_trials
-        ENV.fetch('GITLAB_QA_TRANSIENT_TRIALS', 10).to_i
-      end
-
       def gitlab_tls_certificate
         ENV['GITLAB_TLS_CERTIFICATE']
       end
diff --git a/qa/qa/specs/features/api/3_create/repository/push_postreceive_idempotent_spec.rb b/qa/qa/specs/features/api/3_create/repository/push_postreceive_idempotent_spec.rb
index fddd1bfc69f2f7789569d2f470f4f7b4a9ae0e99..aa508dbaf54e2407254fd4a2623e48164792a875 100644
--- a/qa/qa/specs/features/api/3_create/repository/push_postreceive_idempotent_spec.rb
+++ b/qa/qa/specs/features/api/3_create/repository/push_postreceive_idempotent_spec.rb
@@ -12,12 +12,6 @@ module QA
         verify_single_event_per_push(repeat: 3)
       end
 
-      it 'repeatedly pushes and creates a single push event several times', :transient, testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/347642' do
-        verify_single_event_per_push(repeat: Runtime::Env.transient_trials) do |i|
-          QA::Runtime::Logger.info("Transient bug test action - Trial #{i}")
-        end
-      end
-
       def verify_single_event_per_push(repeat:)
         repeat.times do |i|
           yield i if block_given?
diff --git a/qa/qa/specs/features/browser_ui/2_plan/transient/comment_on_discussion_spec.rb b/qa/qa/specs/features/browser_ui/2_plan/transient/comment_on_discussion_spec.rb
deleted file mode 100644
index b488fb3133688dd5694a809ea7711d3c290b588c..0000000000000000000000000000000000000000
--- a/qa/qa/specs/features/browser_ui/2_plan/transient/comment_on_discussion_spec.rb
+++ /dev/null
@@ -1,46 +0,0 @@
-# frozen_string_literal: true
-
-module QA
-  RSpec.describe 'Plan', :transient, product_group: :project_management do
-    describe 'Discussion comments transient bugs' do
-      let(:user1) { Runtime::User::Store.additional_test_user }
-
-      let(:my_first_reply) { 'This is my first reply' }
-      let(:my_second_reply) { "@#{Runtime::Env.gitlab_qa_username_1}" }
-      let(:my_third_reply) { "@#{Runtime::Env.gitlab_qa_username_1} This is my third reply" }
-      let(:my_fourth_reply) { '/close' }
-
-      before do
-        Flow::Login.sign_in
-      end
-
-      it 'comments with mention on a discussion in an issue', testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/347940' do
-        Runtime::Env.transient_trials.times do |i|
-          QA::Runtime::Logger.info("Transient bug test action - Trial #{i}")
-
-          create(:issue).visit!
-
-          Page::Project::Issue::Show.perform do |issue_page|
-            issue_page.select_all_activities_filter
-            issue_page.start_discussion('My first discussion')
-            issue_page.reply_to_discussion(1, my_first_reply)
-
-            expect(issue_page).to have_comment(my_first_reply)
-
-            issue_page.reply_to_discussion(1, "#{my_second_reply}\n")
-
-            expect(issue_page).to have_comment(my_second_reply)
-
-            issue_page.reply_to_discussion(1, my_third_reply)
-
-            expect(issue_page).to have_comment(my_third_reply)
-
-            issue_page.reply_to_discussion(1, my_fourth_reply)
-
-            expect(issue_page).to have_system_note('closed')
-          end
-        end
-      end
-    end
-  end
-end
diff --git a/qa/qa/specs/runner.rb b/qa/qa/specs/runner.rb
index 474f8ea382538fa7a9004c1457e05ce5eec576df..525d1150bff01654ade186f8fe583cc4392ef77d 100644
--- a/qa/qa/specs/runner.rb
+++ b/qa/qa/specs/runner.rb
@@ -17,7 +17,7 @@ class Runner < Scenario::Template
         GitlabEdition.jh? ? File.expand_path('../../.././jh/qa/qa/specs/features', __dir__) : nil
       ].compact.freeze
       DEFAULT_STD_ARGS = [$stderr, $stdout].freeze
-      DEFAULT_SKIPPED_TAGS = %w[orchestrated transient].freeze
+      DEFAULT_SKIPPED_TAGS = %w[orchestrated].freeze
 
       def initialize
         @tty = false
diff --git a/qa/spec/specs/runner_spec.rb b/qa/spec/specs/runner_spec.rb
index 51cb80d728aa9b7ece3f6480dfbf6581e86752e2..3c121e23212a4858cdce13ac7490f365e745dc2a 100644
--- a/qa/spec/specs/runner_spec.rb
+++ b/qa/spec/specs/runner_spec.rb
@@ -13,7 +13,7 @@
   end
 
   before do
-    stub_const('DEFAULT_SKIPPED_TAGS', %w[--tag ~orchestrated --tag ~transient].freeze)
+    stub_const('DEFAULT_SKIPPED_TAGS', %w[--tag ~orchestrated].freeze)
   end
 
   describe '#perform' do
@@ -57,7 +57,7 @@
 
       it 'sets the `--dry-run` flag and minimal arguments' do
         expect_rspec_runner_arguments(
-          ['--dry-run', '--tag', '~orchestrated', '--tag', '~transient', '--tag', '~geo', *described_class::DEFAULT_TEST_PATH_ARGS],
+          ['--dry-run', '--tag', '~orchestrated', '--tag', '~geo', *described_class::DEFAULT_TEST_PATH_ARGS],
           [err, out]
         )
 
@@ -136,7 +136,7 @@
 
       it 'passes the given tests path and excludes the default skipped, and geo tags' do
         expect_rspec_runner_arguments(
-          ['--tag', '~orchestrated', '--tag', '~transient', '--tag', '~geo',
+          ['--tag', '~orchestrated', '--tag', '~geo',
            'qa/specs/features/foo',
            '--format', 'documentation', '--format', 'QA::Support::JsonFormatter',
            '--out', "tmp/rspec-#{ENV['CI_JOB_ID'] || 'local'}-retried-false.json",
@@ -150,7 +150,7 @@
     context 'when "--tag smoke" and "qa/specs/features/foo" are set as options' do
       subject { described_class.new.tap { |runner| runner.options = %w[--tag smoke qa/specs/features/foo] } }
 
-      it 'focuses on the given tag and includes the path without excluding the orchestrated or transient tags' do
+      it 'focuses on the given tag and includes the path without excluding the orchestrated tag' do
         expect_rspec_runner_arguments(
           ['--tag', '~geo', '--tag', 'smoke',
            'qa/specs/features/foo',