Skip to content

ai-integrations: add AIResource spec.scope schema extension #3694

Description

@johnmcollier

Summary

Add RHDH spec.scope support for AIResource entities in the ai-integrations workspace.

This issue covers the schema/model extension, validation behavior, and tests for spec.scope. It should stay focused on the spec.scope field itself and not expand into OCI processor work, entity-page work, or broader discovery work.

Tasks

  • Extend or wrap the AIResource schema to support optional spec.scope
  • Restrict valid spec.scope values to organization, product, and team
  • Add actionable validation errors for invalid spec.scope values
  • Ensure omitted spec.scope remains valid
  • Add focused tests for valid, invalid, and omitted spec.scope cases

Acceptance Criteria

  • spec.scope is supported as an optional RHDH extension on AIResource
  • Valid values are exactly organization, product, and team
  • Invalid values are rejected with an actionable validation error that identifies the field, received value, and accepted values
  • Omitting spec.scope remains valid
  • Tests cover valid, invalid, and omitted spec.scope behavior

Specifications

All paths below are relative to workspaces/ai-integrations/.

  • openspec/changes/ai-resource-catalog-entity-kind/design.md
  • openspec/changes/ai-resource-catalog-entity-kind/tasks.md (Section 1: Upstream Investigation & Schema Foundation)
  • openspec/changes/ai-resource-catalog-entity-kind/specs/ai-resource-entity-schema/spec.md

Out of Scope

  • OCI processor implementation
  • oci:// target validation beyond any shared schema plumbing already required for spec.scope
  • AIResource entity page rendering
  • Discovery, filtering, and search support
  • Example catalog-info.yaml files and broader documentation follow-up

Context

This issue covers the spec.scope portion of the RHDH AIResource extension model.

Keep the implementation focused on the schema/model extension and validation behavior for spec.scope only.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions