Sort feature settings alphabetically within sections
What does this MR do and why?
The two GitLab Duo "Model selection" pages render feature-setting rows in whatever order the GraphQL API returns them. As sections grow — "GitLab Duo Agent Platform" now has eight rows — that ordering gets hard to scan.
This MR sorts rows within each section alphabetically by feature title.
ee/app/assets/javascripts/ai/model_selection/feature_settings.vue(group/namespace-level page): plain alphabetical sort by title.ee/app/assets/javascripts/ai/instance_model_selection/feature_settings/components/feature_settings.vue(instance/Admin area page): already groups rows by release state (GA, then Beta, then Experiment) to show a maturity badge next to each name. That grouping stays as the primary sort key; title is now the tiebreaker within each group.
No backend, GraphQL, or database changes. No new user-facing strings. No feature flag — this is a presentational ordering change with no rollout risk.
Jest specs updated for both components: the namespace spec adds a case feeding deliberately unsorted data and asserts alphabetised output; the instance spec's per-section assertions now compare titles instead of internal feature keys.
References
Closes #627116 (closed)
Parent epic: gitlab-org#19786
Supersedes an earlier, stale draft: !236770 (closed)
Screenshots or screen recordings
| Before | After |
|---|---|
![]() |
![]() |
Ordering change for the "GitLab Duo Agent Platform" section on the instance page:
| # | Before | After |
|---|---|---|
| 1 | Agents & flows | Agentic Code Review |
| 2 | Duo Developer | Agents & flows |
| 3 | Agentic Code Review | Duo Developer |
| 4 | Secret Vulnerability False Positive Detection | Secret Vulnerability False Positive Detection |
| 5 | SAST Vulnerability False Positive Detection (Beta) | Resolve Dependency Bump Breaking Changes (Beta) |
| 6 | SAST Vulnerability Resolution (Beta) | SAST Vulnerability False Positive Detection (Beta) |
| 7 | Security Review (Beta) | SAST Vulnerability Resolution (Beta) |
| 8 | Resolve Dependency Bump Breaking Changes (Beta) | Security Review (Beta) |
How to set up and validate locally
- Check out this branch.
- Visit the instance page: Admin area > GitLab Duo > Model selection, on the "AI-native features" tab.
- Confirm each section's rows read alphabetically by title, and that Beta-badged rows still sit below the GA rows and are alphabetised among themselves.
- Visit a group's Settings > GitLab Duo > Model selection.
- Confirm each section there is plainly alphabetical by title.
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.

