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

Merge request reports

Loading