AI agent and flow versioning
### Release notes When you enable an agent or flow from the AI Catalog in your project, GitLab now pins it to a specific [version](https://docs.gitlab.com/user/duo_agent_platform/ai_catalog/#agent-and-flow-versions), giving you control over when to adopt updates. This means your AI-powered workflows stay stable and predictable, even as catalog items evolve, so you can test and validate new versions on your own timeline before upgrading. ![catalog_item_versioning](/uploads/1eea65f6692137c51e55c9b2939e26af/catalog_item_versioning.png){width=900 height=362} ---- ## Description This epic tracks the work to implement minimal version feature for GA. ### Table of all uses of AI Catalog items that will need to observe pinned version Some parts of our app will need to be updated to observe the pinned version of an item consumer correctly. Some parts already do. These tables track our progress. Please keep these tables updated as things change. #### Core aspects for security | Use | Correctly observes pinned version? | Notes | Being fixed in MR | | ------ | ------ | ------ | ------ | | gitlab~3412464 Duo Chat with custom agents | :white_check_mark: | Fixed in https://gitlab.com/gitlab-org/gitlab/-/issues/580936 | https://gitlab.com/gitlab-org/gitlab/-/merge_requests/213326 and https://gitlab.com/gitlab-org/editor-extensions/gitlab-lsp/-/merge_requests/2598 | | gitlab~3412464 Duo Chat with foundational agents | n/a - it doesn't need to | Foundational agents are managed by GitLab and only ever have 1 version | n/a | | gitlab~2492649 ~frontend Creating flow triggers | :white_check_mark: | It does already, see https://gitlab.com/gitlab-org/gitlab/-/issues/578589#note_2885357084 | n/a | | gitlab~2492649 Executing flow triggers | :white_check_mark: | It [does already](https://gitlab.com/gitlab-org/gitlab/-/blob/e812b7ddfa83ea380c9b2233c20edd826e422468/ee/app/services/ai/flow_triggers/run_service.rb#L111), see https://gitlab.com/gitlab-org/gitlab/-/issues/578589#note_2885357084 | n/a | | gitlab~2492649 Testing agents | n/a - it doesn't need to | It operates from a [given version to test](https://gitlab.com/gitlab-org/gitlab/-/blob/6d0158af5de8d1fd3a0c7b02d77ebe80c58cb62f/ee/app/graphql/mutations/ai/catalog/agent/execute.rb#L14) | n/a | | gitlab~2492649 Testing flows | n/a - it doesn't need to | It operates from a [given version to test](https://gitlab.com/gitlab-org/gitlab/-/blob/6d0158af5de8d1fd3a0c7b02d77ebe80c58cb62f/ee/app/graphql/mutations/ai/catalog/flow/execute.rb#L14) | n/a | #### Bugfixes for user experience | Use | Correctly observes pinned version? | Notes | Being fixed in MR | | ------ | ------ | ------ | ------ | | gitlab~3412464 VIEWING the details of an enabled item at project-level | :white_check_mark: | https://gitlab.com/gitlab-org/gitlab/-/issues/580382 | [Merged MRs](https://gitlab.com/gitlab-org/gitlab/-/issues/580382#note_2901375784) | | gitlab~3412464 VIEWING the details of an enabled item at project-level ("Managed" tab) | :question: | Currently shows pinned, but should show latest | See [`@leetickett-gitlab`'s MR](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/214607#note_2923544884) | | gitlab~3412464 EDITING the details of an enabled item at project-level | :white_check_mark: | https://gitlab.com/gitlab-org/gitlab/-/issues/580382 | [Merged MRs](https://gitlab.com/gitlab-org/gitlab/-/issues/580382#note_2901375784) | | gitlab~3412464 EDITING the details of an enabled item at project-level ("Managed" tab) | :question: | Currently shows pinned, but should show latest | See [`@leetickett-gitlab`'s MR](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/214607#note_2923544884) | | gitlab~3412464 DUPLICATING an item at project-level | :white_check_mark: | Addressed in https://gitlab.com/gitlab-org/gitlab/-/issues/580382 | [Merged MRs:](https://gitlab.com/gitlab-org/gitlab/-/issues/580382#note_2901375784) | #### Possibly acceptable as post-GA All group level items currently show the latest version. | Use | Correctly observes pinned version? | Notes | Being fixed in MR | | ----- | ------ | ------ | ------ | | gitlab~3412464 VIEWING the details of an enabled item at group-level | :white_check_mark: | | https://gitlab.com/gitlab-org/gitlab/-/merge_requests/215635+ | | gitlab~3412464 EDITING the details of an enabled item at group-level | :white_check_mark: | | https://gitlab.com/gitlab-org/gitlab/-/merge_requests/215635+ | | gitlab~3412464 DUPLICATING an item at group-level | :white_check_mark: | | https://gitlab.com/gitlab-org/gitlab/-/merge_requests/215635+ |
epic