Skip to content

Upstream Schema Alignment — Annotation Spec & Migration-Readiness CLI (RHIDP-15346/15347; split from #4042) #4220

Description

@mareklibra

Summary

Split from #4042 per gate decision.

This issue owns RHDHPLAN-1513 work only:

Story Deliverable
RHIDP-15346 Annotation specification document (publish mapping + annotation docs)
RHIDP-15347 @red-hat-developer-hub/backstage-plugin-boost-migration-readiness CLI scaffold

RHIDP-15302 (migration design + RHDH sign-off) stays on #4042 (RHDHPLAN-1507).

Deferral: If RHDHPLAN-1513 is deferred from 2.1, this entire issue defers with it. Do not block #4042 / RHIDP-15302 on this work.

Labels: workspace/boost, feature (add ready-to-code when unblocked)
Dependencies: Mapping reconciliation #4188 / #4189done; soft: #4040 annotation constants for CLI reuse
RHIDP Stories: RHIDP-15346, RHIDP-15347
Feature: RHDHPLAN-1513 — Epic RHIDP-15334


Prerequisites (done)

  • Gate decisions: comment on #4042
  • Current → upstream mapping tables reconciled in OpenSpec (#4189)
  • Binding rules: Decision 1 = current SoT; MCP already kind-aligned (API + mcp-server); seven categories only; vector-store / ai-tool out of scope

Related downstream context (cite in docs/CLI where useful):


Part A — Annotation specification (RHIDP-15346)

Publish the formal annotation + mapping spec for platform engineers (OpenSpec scenarios already updated by #4189; this story writes/publishes the customer-facing / specifications/ doc).

Specs / OpenSpec

Tasks

  • 1.1 Document all rhdh.io/ai-asset-category values (seven only)
  • 1.2 Document rhdh.io/ai-asset-version format and normalization rules
  • 1.3 Document rhdh.io/ai-asset-source format (include known connectors beyond kagenti/llamastack/oci — e.g. mcp-registry, rhoai)
  • 1.4 Document entity kind + spec.type mapping table (Decision 1 current state)
  • 1.5 Document MCP mapping to RFC #32062 / backstage#34016kind already aligned; field/module/fallback only (not kind: McpServer)
  • 1.6 Document model / model-server mapping vs RFC #33060 / #34476 / #4211
  • 1.7 Assign confidence levels per mapping (post-docs(#4188): reconcile current→upstream AI-asset mapping tables #4189 table)
  • 1.8 Document fields requiring transformation per entity type
  • 1.9 Add explicit "Future Work" section (actual migration deferred)
  • 1.10 Header with draft status + last-updated date
  • 1.11 Cross-reference Decision 1 as SoT; catalog-entities only as supplementary (no vector-store/ai-tool rows)
  • 1.12 Publish under workspaces/boost/specifications/

Part B — Migration-readiness CLI (RHIDP-15347)

Read-only CLI using the reconciled mapping. Do not revive API → McpServer kind-rename examples.

Specs / OpenSpec

Before coding — specify CLI contract (gate §3)

  • Catalog auth model (token / cookie / service account — not only --catalog-url)
  • --filter semantics
  • Full JSON report schema (entityRef, warnings[], rfcIds, alreadyAligned, partial-annotation flags)
  • Package role + bin for plugins/boost-migration-readiness/
  • Mapping source: hardcoded table vs import from #4040 SDK
  • Rules for partial annotations, unrecognized category, kind/type mismatch, confidence
  • Mock catalog API contract for integration tests

Implementation tasks


Optional follow-ups (gate §2 — can be separate PR)

  • Resolve version fallback: 0.0.0-unknown vs "unknown"
  • Align connector OpenSpecs (mcp-registry-connector, rhoai-connector) if needed
  • Expand ai-asset-source connector-name vocabulary in annotation-scheme
  • Demote competing catalog-entities cross-refs for readiness SoT

Out of scope

  • RHIDP-15302 migration design + sign-off → #4042
  • Actual catalog entity migration / processor
  • vector-store / ai-tool categories

Acceptance criteria

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions