DAP Onboarding: GitLab CI Improvements Flow
## Summary
As part of the [DAP Project Onboarding Page](https://gitlab.com/groups/gitlab-org/-/work_items/21086), add a **GitLab CI Improvements** section that uses the CI improvement foundational flow to analyze the project's `.gitlab-ci.yml` and surface actionable improvement suggestions.
## Behavior
When a user visits the Automate > Onboarding page, a "Improve CI setup" card/button is shown if the project has a `.gitlab-ci.yml` on the default branch. Clicking it:
1. POSTs to a new `onboarding/improve_ci` controller action (gated behind the `duo_agent_onboarding` feature flag, consistent with the existing onboarding page).
2. Guards against duplicate runs using a Rails cache entry and an exclusive lease (same pattern as the Project Context Init Flow in !229847).
3. Resolves a goal prompt via `Ai::Catalog::GoalTemplates` for a new `:improve_ci` event type, instructing the agent to review the CI configuration and open a draft MR with suggested improvements.
4. Dispatches the workflow through `Ai::Catalog::Flows::ExecuteService` using the CI improvement foundational flow — no AIGW changes required.
5. Returns a workflow/session ID so the frontend can link the user to the agent session to track progress.
If no `.gitlab-ci.yml` exists, the card is hidden or shows a disabled state with a tooltip explaining why.
## Implementation Notes
- Follow the same controller/frontend pattern established in [!229847](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/229847) for the Project Context Init Flow.
- Check for `.gitlab-ci.yml` existence on the default branch (push result to `gon`) before rendering the button, mirroring the `AGENTS.md` existence check.
- Reuse the exclusive lease + Rails cache guard to prevent duplicate workflow dispatches.
- Gate everything behind the existing `duo_agent_onboarding` feature flag.
## References
- Parent epic: [DAP Project Onboarding Page &21086](https://gitlab.com/groups/gitlab-org/-/work_items/21086)
- Context Init Flow implementation reference: [!229847](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/229847)
issue