OCI Skill Registry — Core Connector (issue 9 of 29)
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 38/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
- 技術スタック
- typescript
調査の方向性
まず、指定された2つのOpenSpec変更タスクファイルと、oci-artifact-ingestion、registry-discovery、skillcard-parsingの仕様を読みます。要求されたモックOCIクライアント、skillcard抽出、エンティティ発行、モジュール登録のテストを使用して完了を確認します。完了とは、コネクタがskillcardをダウンロードして検証し、注釈付きのAIResourceエンティティを発行し、カタログバックエンドモジュールを通じて登録されることです。
索引モデルが issue の本文から書いたものです。
説明
Labels: ready-to-code
Depends on: Issue 1 (#4039 shared infra), Issue 8 (#TBD SDK)
RHIDP Stories: RHIDP-15296
Feature: RHDHPLAN-1507 — Epic RHIDP-15294
Implement the core OCI Skill Registry connector: OCI Distribution Spec client for tag listing, manifest fetching, and blob download; skillcard extraction from OCI image layers with YAML parsing and SDK schema validation; entity emission as kind: AIResource with spec.type: skill and all required annotations; backend module registration with createBackendModule. This is the foundational OCI connector — multi-registry config, incremental sync, and load testing are separate issues.
Tasks
From openspec/changes/oci-skill-registry/tasks.md group 1 (RHIDP-15296):
- 1.1 Evaluate and select Node.js OCI Distribution Spec client library
- 1.2 Implement
OciRegistryClientclass with methods:listTags(),getManifest(),getBlob() - 1.5 Write unit tests for OCI client with mocked registry responses
From openspec/changes/oci-skill-registry/tasks.md group 2 (RHIDP-15296):
- 2.1 Implement layer blob download with streaming decompression
- 2.2 Implement tar stream parser to extract
skillcard.yaml - 2.3 Integrate SDK schema validator for
skillcard.yamlvalidation - 2.4 Implement error handling for missing/invalid
skillcard.yaml - 2.5–2.6 Unit tests for skillcard extraction and schema validation
From openspec/changes/oci-skill-registry/tasks.md group 3 (RHIDP-15296):
- 3.1 Implement
OciSkillRegistryProviderclass extendingEntityProviderinterface - 3.2 Implement entity factory: convert
skillcard.yamlto BackstageAIResourceentity - 3.3 Populate required annotations:
rhdh.io/ai-asset-category,rhdh.io/ai-asset-version,rhdh.io/ai-asset-source - 3.4 Implement entity ref sanitization
- 3.5 Write unit tests for entity emission
From openspec/changes/oci-skill-registry/tasks.md group 6 (RHIDP-15296):
- 6.1 Implement backend module with
createBackendModule({ pluginId: 'catalog', moduleId: 'ai-catalog-oci-skill-registry' }) - 6.2 Register entity provider via
catalogProcessingExtensionPoint - 6.4 Write integration test for module registration
From openspec/changes/oci-skill-connector/tasks.md group 1 (RHIDP-15324):
- 1.1–1.11 OCI registry client: tag listing, manifest fetching, Docker v2 fallback, digest extraction, pagination, namespace filtering, parallel manifest fetch, OCI annotations, blob download, gzip decompression, unit tests
From openspec/changes/oci-skill-connector/tasks.md group 2 (RHIDP-15325):
- 2.1–2.15 Skillcard parsing: layer identification, YAML parsing, Zod validation, error logging, entity building as
kind: AIResource, annotation population, default values, invalid skill rejection, aggregate summary, unit tests
Specifications
openspec/changes/oci-skill-registry/specs/oci-artifact-ingestion/spec.mdopenspec/changes/oci-skill-connector/specs/registry-discovery/spec.mdopenspec/changes/oci-skill-connector/specs/skillcard-parsing/spec.md
- 主要言語
- TypeScript
- スター
- 51
- フォーク
- 121
- 平均マージ
- 1日 14時間
- マージ済み PR(30日)
- 286
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
redhat-developer/rhdh-plugins のほかの issue
-
feature fullsend ready-for-triage Review effort 1/5 triaged
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
redhat-developer/rhdh-plugins#4799 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
Add entity provider implementation conventions to ai-integrations AGENTS.md再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープンdocumentation ready-for-triage ready-to-code Review effort 1/5 workspace/ai-integrations
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
redhat-developer/rhdh-plugins#4781 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
Add public export surface review guidance to scorecard AGENTS.md対応中かも @fullsend-ai-coder が 44 日前に担当しました。 オープンdocumentation ready-for-triage ready-to-code Review effort 1/5 workspace/scorecard
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
redhat-developer/rhdh-plugins#4777 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
Add collector parameter contract assertion convention to scorecard AGENTS.md対応中かも @fullsend-ai-coder が 45 日前に担当しました。 オープンdocumentation ready-for-triage ready-to-code workspace/scorecard
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
redhat-developer/rhdh-plugins#4734 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
Add DORA collector pipeline and time-window boundary guidance to scorecard AGENTS.md対応中かも @fullsend-ai-coder が 45 日前に担当しました。 オープンdocumentation ready-for-triage ready-to-code workspace/scorecard
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
redhat-developer/rhdh-plugins#4733 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
redhat-developer/rhdh-plugins の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
marmelab/react-admin#11431 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
db-ux-design-system/core-web#8655 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
stripe/react-stripe-js#728 ·
-
[Upload Grade C dataset] the pop-up changes it's size while uploading the document => Jumping effectオープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
epam/statgpt-admin-frontend#305 ·
メンテナーはふだん 1 日以内に返信