Consolidate agentic_chat_ga into ai_duo_agent_platform_ga_rollout
What does this MR do and why?
Consolidate agentic_chat_ga into ai_duo_agent_platform_ga_rollout feature flag.
This prevents bugs if the two feature flags are configured inconsistently, because there is one code path, with its first half guarded by ai_duo_agent_platform_ga_rollout and second half guarded by agentic_chat_ga.
See !213425 (comment 2938223267)
References
How to set up and validate locally
On SaaS mode, turning ai_duo_agent_platform_ga_rollout on will make agentic chat GA.
g = Group.find 1000000 #Gitlab-Duo
g.namespace_settings.update(experiment_features_enabled: false) # turn off experimental features
Gitlab::Llm::StageCheck.available? g, :agentic_chat # should return false
Feature.enable :ai_duo_agent_platform_ga_rollout
Gitlab::Llm::StageCheck.available? g, :agentic_chat # should return true
On self-managed mode, regardless ai_duo_agent_platform_ga_rollout feature flag, agentic chat will always be considered GA.
[7] pry(main)> ::Gitlab::CurrentSettings.update(instance_level_ai_beta_features_enabled:false)
=> true
[8] pry(main)> ::Gitlab::CurrentSettings.instance_level_ai_beta_features_enabled?
=> false
[11] pry(main)> Gitlab::Llm::StageCheck.available? g, :agentic_chat
=> true
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Part of #562720
Edited by Mark Chao