AI Catalog: private-item alert copy incorrectly mentions enabling in top-level group
Summary
The info alert shown in the AI Catalog consumer modal for private items references a non-existent enablement path: enabling in the item's top-level group. Groups do not expose an Enable action for AI Catalog items, so the copy is misleading.
Current copy
Shown in the Enable modal when a private item is opened from a non-project namespace (Explore or group page):
This %{itemType} is private and can only be enabled in the project it was created in or its top-level group. Duplicate the agent to use the same configuration in other projects.
File: ee/app/assets/javascripts/ai/catalog/components/ai_catalog_item_consumer_modal.vue
Translation key: locale/gitlab.pot → AICatalog|This %{itemType} is private and can only be enabled in the project it was created in or its top-level group. Duplicate the agent to use the same configuration in other projects.
Why it's wrong
Private AI Catalog items can only be enabled in a project (the item's managing project, or any project the user is a maintainer of when enabling from Explore). Group-level Enable does not exist today, so telling users they can enable in the top-level group is inaccurate and can cause them to hunt for a UI that isn't there.
This was surfaced while reviewing !233160 (merged), which also aligns the tooltip on the Enable button to avoid the same over-promise:
This private %{itemType} is managed by %{projectName} and can't be enabled from this project.
The in-modal alert should be tightened in the same spirit.
Proposed copy
Something like:
This %{itemType} is private and can only be enabled in its managing project: %{projectName}. Duplicate the %{itemType} to use the same configuration in other projects.
Open to other phrasings — the goal is to (a) remove the top-level group mention, and (b) keep the Duplicate nudge as a way out for users who don't have access to the managing project.
Scope
- Update the
<gl-alert data-testid="private-alert">copy inai_catalog_item_consumer_modal.vue. - Replace the msgid in
locale/gitlab.pot(and any translated files that picked it up). - Update the spec assertion in
ee/spec/frontend/ai/catalog/components/ai_catalog_item_consumer_modal_spec.jsif it checks the exact text. - Consider aligning vocabulary across the catalog UI (
managing projectvsowning projectvscreated in) as a small copy consistency pass.
Related
- !233160 (merged) — Scope AI Catalog Enable gate to project namespaces (tooltip copy aligned in this MR; modal alert copy deferred to this follow-up).
- #596801 (closed) — Parent UX issue for the private item enablement flow.