Summary
Move the AiResource spec.type: agent typed schema out of ai-experience-common into a dedicated package, and wire catalog-model registration the way upstream skill/rule and MCP mcp-server validators are registered (createCatalogModelLayer / declareKindVersion with specType: 'agent' + catalogModelExtensionPoint.addModelSource).
Today PR #4164 (issue #4128 / RHIDP-15867) adds types, KindValidator, type guard, JSON schema, examples, and unit tests under ai-experience-common. That package also carries ai-experience shared artifacts that consumers do not need when they only want the agent catalog type. The validator is also exported but not registered with the catalog entity model, so catalog ingest still only applies the default AiResource schema (type / lifecycle / owner) and does not enforce agent-specific fields (e.g. non-empty spec.instructions) via the model layer.
Tasks
Acceptance Criteria
- Agent types/validator/schema live in a dedicated package that does not pull in unrelated ai-experience shared APIs
ai-experience-common no longer exports the agent AiResource surface
- Agent
specType is registered with the catalog model so ingest uses the agent schema (missing/empty/wrong-type spec.instructions rejected at the catalog-model layer)
- Workspace backend loads the registration module in local/dev
- Tests and changesets cover the move + registration
- No OpenAI Agents SDK dependency
Specifications
All paths below are relative to workspaces/ai-integrations/.
openspec/changes/airesource-agent-typed-schema/design.md (especially D3 field mapping, D10 HOW — skill/rule + MCP registration pattern)
openspec/changes/airesource-agent-typed-schema/tasks.md (task 2.3 wire validator into catalog model / backend module registration)
openspec/changes/airesource-agent-typed-schema/specs/ai-resource-agent-schema/spec.md
Out of Scope
Context
Summary
Move the AiResource
spec.type: agenttyped schema out ofai-experience-commoninto a dedicated package, and wire catalog-model registration the way upstream skill/rule and MCPmcp-servervalidators are registered (createCatalogModelLayer/declareKindVersionwithspecType: 'agent'+catalogModelExtensionPoint.addModelSource).Today PR #4164 (issue #4128 /
RHIDP-15867) adds types,KindValidator, type guard, JSON schema, examples, and unit tests underai-experience-common. That package also carries ai-experience shared artifacts that consumers do not need when they only want the agent catalog type. The validator is also exported but not registered with the catalog entity model, so catalog ingest still only applies the default AiResource schema (type/lifecycle/owner) and does not enforce agent-specific fields (e.g. non-emptyspec.instructions) via the model layer.Tasks
workspaces/ai-integrations/plugins/for the agent AiResource catalog model (types, JSON schema,KindValidator, type guard, andCatalogModelLayer/ entity-model export). Prefer a name that signals catalog-model scope (e.g.catalog-model-ai-resource-agent) rather than nesting underai-experience-*@red-hat-developer-hub/backstage-plugin-ai-experience-commoninto the new package; remove the agent public exports fromai-experience-common(and regenerate API reports / adjust imports)CatalogModelLayermirroring MCP/skill/rule (declareKindVersion.v1withspecType: 'agent'and the agent JSON schema)catalogModelExtensionPoint.addModelSource, following@backstage/plugin-catalog-backend-module-ai-modelpackages/backend(and any requiredapp-config/ dynamic-plugin packaging for this workspace)ai-experience-commonpublic API removal if that lands in the same PR)examples/ai-resource-agents.yamlAcceptance Criteria
ai-experience-commonno longer exports the agent AiResource surfacespecTypeis registered with the catalog model so ingest uses the agent schema (missing/empty/wrong-typespec.instructionsrejected at the catalog-model layer)Specifications
All paths below are relative to
workspaces/ai-integrations/.openspec/changes/airesource-agent-typed-schema/design.md(especially D3 field mapping, D10 HOW — skill/rule + MCP registration pattern)openspec/changes/airesource-agent-typed-schema/tasks.md(task 2.3 wire validator into catalog model / backend module registration)openspec/changes/airesource-agent-typed-schema/specs/ai-resource-agent-schema/spec.mdOut of Scope
RHIDP-15868— ai-integrations: catalog processor validation for AiResource agent type #4129)RHIDP-15869)ai-experience-commonutilitiesContext
RHIDP-15867follow-on (registration + packaging); epicRHIDP-15865; ownershipRHDHPLAN-1507ai-experience-common