Repository navigation
feat(RHIDP-18762): reconcile SDK exports and category vocabulary for 2.2 baseline - #5524
fullsend-ai-coder[bot] wants to merge 2 commits into
Conversation
…2.2 baseline Remove skill-bundle from the Zod schema, AIAssetCategory type union, AI_ASSET_CATEGORIES array, validation diagnostics, test fixtures, README, and API report. The active category vocabulary is now the five minimum categories (agent, skill, mcp-server, ai-model, model-server) plus retained rule compatibility. Replace obsolete Kagenti provider examples in JSDoc and test fixtures with current OGX references. Update entity fixtures throughout the SDK test suite to use kind: AiResource with spec.type: agent instead of the historical Component / ai-agent mapping. Clarify DeltaSyncManager JSDoc: consuming providers own durable persistence, first/full refresh, and source-cursor recovery. Cursor clearing only deletes stored state — it does not initiate automatic refresh. Add new test coverage confirming the exact category vocabulary (6 categories, no skill-bundle) and Zod schema rejection of skill-bundle. PR #5474 merged revision: c1b8451 (RHIDP-18761 OpenSpec reconciliation). Closes RHIDP-18762 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Important This PR includes changes that affect public-facing API. Please ensure you are adding/updating documentation for new features or behavior. Changed Packages
|
PR Summary by QodoAlign AI Catalog provider SDK with the 2.2 category baseline
AI Description
Diagram
High-Level Assessment
Files changed (11)
|
|
Important The |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #5524 +/- ##
=======================================
Coverage 65.69% 65.69%
=======================================
Files 2779 2779
Lines 111684 111684
Branches 31385 31385
=======================================
Hits 73366 73366
Misses 37769 37769
Partials 549 549
*This pull request uses carry forward flags. Click here to find out more. Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
|
🤖 Finished Review · ✅ Success · Started 6:33 PM UTC · Completed 6:53 PM UTC Commit: Runtime: claude · Model: claude-opus-4-6 · Effort: high · Cost: $6.13 |
|
Risk Assessment: low (1/5) DetailsFocused single-plugin SDK reconciliation across 11 files authored by a bot, with no security, CI, or dependency exposure, zero regression or revert history, and clean 90-day git churn — all risk dimensions score at or near minimum despite moderate change size. |
ReviewFindingsHigh
Medium
Low
Next steps:
|
There was a problem hiding this comment.
Note: The following review comments could not be posted on the diff (GitHub returned 422) and are included here instead:
workspaces/boost/plugins/ai-catalog-entity-provider-sdk/src/annotations.ts(file-level): Line 67 · [high] Breaking type removal
The string literal 'skill-bundle' is removed from the @public exported AIAssetCategory type union. Any downstream TypeScript consumer that assigned 'skill-bundle' to an AIAssetCategory-typed variable or passed it to validateAIAssetEntity() will receive a compile-time type error (or a runtime throw) after upgrading. The API report confirms AIAssetCategory was @public in the base branch with 'skill-bundle' as a member. The base-branch package version is 1.2.1, so standard semver rules apply.
Suggested fix: Change the changeset bump type from 'minor' to 'major'. If 'skill-bundle' was never registered with a live provider and the README explicitly flagged the vocabulary as unstable, include a migration notice in the changeset body explaining that consumers must remove any 'skill-bundle' usage before upgrading.
workspaces/boost/plugins/ai-catalog-entity-provider-sdk/src/DeltaSyncManager.ts(file-level): Line 66 · [low] internal consistency
The CursorStore.delete interface JSDoc says 'forcing a full refresh on the next polling cycle,' but the updated clearCursor() JSDoc (lines 240-243) explicitly states 'it does not initiate a full refresh.' These now contradict each other within the same file.
workspaces/boost/plugins/ai-catalog-entity-provider-sdk/src/DeltaSyncManager.test.ts(file-level): Line 153 · [low] test accuracy
Test name 'should clear cursor to trigger full refresh' contradicts the JSDoc clarification in this same PR, which states that clearing does not initiate a full refresh. The test body is correct; only the description is stale.
|
I agree with the release-versioning finding and the small consistency corrections. I verified the published SDK 1.2.1 tarball against its registry integrity metadata: its public I will:
The The independent package grouping remains intact. The release-plan check will verify the necessary dependency-driven OGX release without manually coupling unrelated packages. I will commit locally after verification; signing and pushing remain with the maintainer. |
|
The review follow-up is committed locally as Verification passed: SDK 51/51 tests, OGX 57/57 tests, workspace type check, SDK lint, API-report CI validation, OpenSpec 15/15, formatting, journal, whitespace, and commit hooks. The disposable release plan schedules SDK 2.0.0 and dependent OGX 1.2.2 only. No package versions were changed in the real workspace and no package was published. The PR description now reflects the major bump, verification evidence, and specification/task handoff. All three inline review threads have responses and are resolved. Signing, pushing, and the next Fullsend review remain with the maintainer. |
Assisted-by: GPT-6 Signed-off-by: gabemontero <gmontero@redhat.com>
|
/fs-review |
|



Summary
Reconcile the AI Catalog entity-provider SDK exports, validation tests, and documentation to match the agreed 2.2 minimum baseline per RHIDP-18762.
Key changes:
Category vocabulary: Remove
skill-bundlefrom the Zod schema (AIAssetCategorySchema),AIAssetCategorytype union,AI_ASSET_CATEGORIESarray, validation error messages, README category list, andreport.api.md. The active vocabulary is now the five minimum categories (agent,skill,mcp-server,ai-model,model-server) plus retainedrulecompatibility.Entity fixtures: Update test
makeEntity()helpers and entity refs across all SDK test files to usekind: AiResourcewithspec.type: agentinstead of the historicalComponent/Resourcekinds. Replacecomponent:default/...entity refs withairesource:default/....Provider examples: Replace obsolete Kagenti references in JSDoc examples and test source annotations (
kagenti/default→ogx/default) with current OGX provider examples.Delta sync documentation: Clarify
DeltaSyncManagerandclearCursor()JSDoc to state that consuming providers own durable persistence, refresh orchestration, and cursor recovery. Cursor clearing only deletes stored state — it does not initiate automatic refresh.New test coverage: Add
AI_ASSET_CATEGORIESvocabulary tests confirming exactly 6 categories (noskill-bundle) and Zod schema rejection ofskill-bundle.Changeset: Major bump for removal of the published
skill-bundlecategory. The changeset and SDK README include migration guidance for SDK 1.x consumers.✔️ Checklist
Related to https://redhat.atlassian.net/browse/RHIDP-18762
Post-script verification
agent/RHIDP-18762-reconcile-sdk-exports)c1b845103e77910aa00fd8dc8b96bfe4e6ad9c27..HEAD)Review follow-up
skill-bundlein its public declarations; removal is semver-major.airesourcerefs.CursorStore.deleteJSDoc and the cursor-clearing test name. The regression now asserts that clearing submits no additional mutation or refresh. Existing delete-only runtime behavior is unchanged.AIAssetCategorySchematest block.Validation passed: SDK 51/51 tests, OGX 57/57 tests, workspace
tsc:full, SDK lint, API-report CI validation, OpenSpec 15/15 items, formatting, journal, whitespace, and commit hooks. The OGX integration suite required permission for its local HTTP listener.A disposable release-plan check against the actual changeset schedules SDK 2.0.0 and dependent OGX 1.2.2 only. No simulated package-version edits or publication are included.
Implementation handoff: the curated baseline is merged PR #5474, revision
0f6a21bf517278f5d3b177389f6c2bb21e86cb9f. Relevant references areworkspaces/boost/openspec/changes/ai-catalog-entity-model/tasks.mdtasks 1.1, 2.5–2.6, 2.13, 9.1, and 10.3. Historical task status does not establish provider activation or completion of deferred SDK design.Follow-up commit
80db943018is local, unsigned, and awaits the maintainer's signing and push.