Repository navigation
Add software-catalog catalog-info.yaml for overlay workspaces - #4
Conversation
Generate Backstage Component descriptors so the Parasol RHDH instance can discover overlay workspaces via GithubEntityProvider, without importing Extensions Plugin/Package YAML into /catalog. Co-authored-by: Cursor <cursoragent@cursor.com>
|
🤖 Finished Review · ❌ Failure · Started 7:36 AM UTC · Completed 7:37 AM UTC Commit: |
| - 'scripts/requirements-dev.txt' | ||
| - '.github/workflows/validate-catalog-scripts.yaml' | ||
| - 'catalog-info.yaml' | ||
| - 'workspaces/*/catalog-info.yaml' |
There was a problem hiding this comment.
The drift check does not run when its actual inputs change. Please add workspaces/*/source.json and workspaces/*/plugins-list.yaml to this path filter; otherwise routine source-ref or package-list updates can merge with stale generated catalog YAML.
| log_info(f"wrote {path}") | ||
|
|
||
|
|
||
| def check_files(files: list[tuple[Path, str]]) -> int: |
There was a problem hiding this comment.
--check only validates files in the current generation plan. If a workspace stops qualifying—for example, its source.json is removed—an existing generated catalog-info.yaml is neither checked nor removed and may continue to be ingested. Please compare existing generated workspace catalog files against the planned paths, fail --check for unexpected files, and remove them during normal generation.
|
/fs-review |
|
🤖 Finished Review · ❌ Failure · Started 9:20 AM UTC · Completed 9:22 AM UTC Commit: |
|
/fs-review |
|
🤖 Finished Review · ❌ Failure (validation failed after 2 iteration(s)) · Started 11:51 AM UTC · Completed 11:53 AM UTC Commit: Runtime: claude · Model: claude-opus-4-8 |
|
The review findings are tracked in fullsend-ai/fullsend#11 and fullsend-ai/fullsend#12 and can be addressed in follow-up PRs. They do not need to block this PR, so I’m proceeding with the merge. |
|
🤖 Finished Retro · ✅ Success · Started 1:09 PM UTC · Completed 1:22 PM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $4.95 |
Retro: PR fullsend-ai/fullsend#4 — Add software-catalog catalog-info.yaml for overlay workspacesWhat happenedPR #4 was a human-authored PR (by Timeline:
Root causeAll 3 review agent runs failed because the Claude API returned Impact
Existing issues covering all identified improvements
Autonomy readinessCannot be assessed — the review agent never produced output. All review was performed by the human reviewer (kadel), who identified 2 real issues now tracked in #11 and #12. No new proposalsAll identified improvement opportunities map to existing open issues. No novel proposals are warranted. |
Summary
kind: Componentdescriptors for the overlay repo root and every workspace (overlay-<name>).scripts/generateCatalogInfo.pyso the YAML stays generated fromsource.json+plugins-list.yaml.python3 scripts/generateCatalogInfo.py --checkin the catalog-scripts CI workflow.This is Phase 1 of rhdh-parasol/rhdh-agentic-instance#1: the Parasol RHDH software catalog can discover overlay workspaces the same way it already discovers
rhdh-plugins(GithubEntityProvider+/workspaces/*/catalog-info.yaml).These files are software catalog Components, not Extensions
Plugin/Packageentities.Details
rhdh-plugin-export-overlays(type: repository),github.com/project-slug: rhdh-parasol/rhdh-plugin-export-overlays.overlay-<workspace>,type: rhdh-overlay-workspace,subcomponentOf: rhdh-plugin-export-overlays.spec.dependsOnis set only when the source isrhdh-pluginsand that workspace already has a Component in the Parasol catalog (e.g.overlay-bulk-import→red-hat-developer-hub-bulk-import). Community-plugin overlays have nodependsOn.python3 scripts/generateCatalogInfo.py.Test plan
cd scripts && python -m pytest tests/test_generateCatalogInfo.py -vpython3 scripts/generateCatalogInfo.py --checkexits 0workspaces/bulk-import/catalog-info.yaml(dependsOnpresent) andworkspaces/github/catalog-info.yaml(nodependsOn)rhdh-agentic-instancesyncs, catalog showsrhdh-plugin-export-overlaysandoverlay-*Made with Cursor