Skip to content

boost(docs): 2.1 github staging plan, frontend requirements, RHDHPLAN-1513 deferment details - #4069

Open
gabemontero wants to merge 27 commits into
redhat-developer:mainfrom
gabemontero:my-rhdhplan-1505-combined-openspecs-staging-plan-ui-hits
Open

boost(docs): 2.1 github staging plan, frontend requirements, RHDHPLAN-1513 deferment details#4069
gabemontero wants to merge 27 commits into
redhat-developer:mainfrom
gabemontero:my-rhdhplan-1505-combined-openspecs-staging-plan-ui-hits

Conversation

@gabemontero

Copy link
Copy Markdown
Contributor

Hey, I just made a Pull Request!

This processed our RHDHPLAN-1505 related 2.1 stories (RHDHPLAN-1507,1508,1510,1513) against the openspec proposal/design/tasks/specs and build a set of 29 github issues to use with fullsend to code up each feature

the github issues are already opened .... we'll adjust the github issue title and content if any review feedback on their content arises

Also provide details on the frontend reqs for 1507,1508,1510,1513 outside of RHDHPLAN-1509

Lastly posts a proposal on what changes if we defer RHDHPLAN-1513 to 2.2

✔️ Checklist

  • [n/a] A changeset describing the change and affected packages. (more info)
  • [/] Added or Updated documentation
  • [n/a] Tests for new functionality and regression tests for bug fixes
  • [n/a] Screenshots attached (for UI changes)

@fullsend-ai-review

fullsend-ai-review Bot commented Jul 28, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 8:34 PM UTC · Completed 8:51 PM UTC
Commit: 81e2da5 · View workflow run →

@rhdh-qodo-merge

Copy link
Copy Markdown

PR Summary by Qodo

Document Boost 2.1 staging, frontend scope, and 1513 deferral

📝 Documentation 🕐 40+ Minutes

Grey Divider

AI Description

• Defines 29 dependency-tiered GitHub issues for four Boost 2.1 AI Catalog features.
• Maps frontend ownership against RHDHPLAN-1509 and confirms eight independently scoped UI stories.
• Documents RHDHPLAN-1513 deferral impacts and narrows RHOAI connector scope to MCP catalog.
Diagram

graph TD
  A["Frontend coverage"] -->|informs scope| C["Staging plan"] -->|starts with| D["Tier 0"] -->|unblocks| E["Tier 1"] -->|unblocks| F["Tier 2"]
  B["Connector feasibility"] -->|narrows scope| C
  G["1513 deferral"] -->|re-scopes issues| C
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Issue tracker as live authority
  • ➕ Prevents status, title, and dependency details from drifting after review
  • ➕ Uses GitHub Projects or Jira relationships for live progress reporting
  • ➖ Provides less narrative context than the consolidated staging document
  • ➖ Cross-feature scope and deferral reasoning remain harder to review together
2. Generate plans from a manifest
  • ➕ Creates dependency graphs and issue summaries from one machine-readable source
  • ➕ Allows automated validation of issue counts, tiers, and feature ownership
  • ➖ Requires new generation and validation tooling
  • ➖ Adds process overhead before implementation begins

Recommendation: Keep the analytical coverage and deferral documents, but treat the opened GitHub issues and Jira relationships as authoritative for mutable status and dependency data. For future planning rounds, a machine-readable manifest that generates the staging summary would preserve this PR's reviewable structure while reducing drift.

Files changed (8) +2095 / -20

Documentation (8) +2095 / -20
RHDHPLAN-1507-frontend-coverage.mdDocument RHDHPLAN-1507 frontend ownership +84/-0

Document RHDHPLAN-1507 frontend ownership

• Explains that RHDHPLAN-1507 is backend-only and maps every user-facing requirement to existing RHDHPLAN-1509 stories. Confirms no additional frontend Jira stories or OpenSpec changes are needed.

workspaces/boost/specifications/JIRA-analysis/RHDHPLAN-1507-frontend-coverage.md

RHDHPLAN-1508-frontend-coverage.mdIdentify RHDHPLAN-1508 frontend deliverables +121/-0

Identify RHDHPLAN-1508 frontend deliverables

• Separates RHDHPLAN-1509 binary entity visibility from RHDHPLAN-1508 graduated visibility and RBAC administration. Maps four independently owned frontend stories to their Jira and OpenSpec coverage.

workspaces/boost/specifications/JIRA-analysis/RHDHPLAN-1508-frontend-coverage.md

RHDHPLAN-1510-feasibility-report.mdNarrow RHOAI connector feasibility scope +20/-20

Narrow RHOAI connector feasibility scope

• Removes Kubeflow Model Registry integration from RHDHPLAN-1510 and assigns it to RHDHPLAN-404. Reframes RHIDP-15314 as a single-source RHOAI MCP catalog provider and clarifies shared CA configuration.

workspaces/boost/specifications/JIRA-analysis/RHDHPLAN-1510-feasibility-report.md

RHDHPLAN-1510-frontend-coverage.mdDocument RHDHPLAN-1510 frontend coverage +101/-0

Document RHDHPLAN-1510 frontend coverage

• Confirms connector implementation remains backend-only and that RHDHPLAN-1509 displays its ingested entities. Records RHDHPLAN-404 ownership of Model Registry integration and RHDHPLAN-1513 ownership of connector administration.

workspaces/boost/specifications/JIRA-analysis/RHDHPLAN-1510-frontend-coverage.md

RHDHPLAN-1513-defer-from-2-1-staging-and-jira-impact.mdAnalyze RHDHPLAN-1513 deferral impact +130/-0

Analyze RHDHPLAN-1513 deferral impact

• Maps RHDHPLAN-1513 stories across the staged issue tiers and identifies cross-feature entanglements. Determines that 21 of 29 issues can proceed while eight require a deferral decision or re-scoping.

workspaces/boost/specifications/JIRA-analysis/RHDHPLAN-1513-defer-from-2-1-staging-and-jira-impact.md

RHDHPLAN-1513-frontend-coverage.mdDefine RHDHPLAN-1513 frontend boundaries +135/-0

Define RHDHPLAN-1513 frontend boundaries

• Distinguishes RHDHPLAN-1513 operational administration interfaces from RHDHPLAN-1509 discovery and analytics presentation. Maps four health and connector-configuration UI stories to Jira and OpenSpec coverage.

workspaces/boost/specifications/JIRA-analysis/RHDHPLAN-1513-frontend-coverage.md

cross-feature-frontend-summary.mdSummarize frontend ownership across four features +105/-0

Summarize frontend ownership across four features

• Consolidates frontend coverage for RHDHPLAN-1507, 1508, 1510, and 1513. Identifies eight stories outside RHDHPLAN-1509 and documents interface boundaries and the RHIDP-15167 dependency hub.

workspaces/boost/specifications/JIRA-analysis/cross-feature-frontend-summary.md

rhdhplan1505-1-staged-issues.mdStage 29 implementation-ready GitHub issues +1399/-0

Stage 29 implementation-ready GitHub issues

• Defines 29 linked GitHub issues across three dependency tiers for AI asset modeling, RBAC, connectors, Neo4j, ingestion operations, and administration interfaces. Includes task-level OpenSpec mappings, Jira ownership, cross-feature dependencies, and a consolidated dependency graph.

workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md

@rhdh-qodo-merge

rhdh-qodo-merge Bot commented Jul 28, 2026

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (2) 📘 Rule violations (4) 🔗 Cross-repo conflicts (0) 📜 Skill insights (0)

Context used
✅ Compliance rules (platform): 37 rules
✅ Cross-repo context
  Not relevant to this PR: redhat-developer/rhdh
  Not relevant to this PR: redhat-developer/rhdh-chart
  Not relevant to this PR: redhat-developer/rhdh-operator
  Not relevant to this PR: redhat-developer/rhdh-local

Grey Divider


Action required

1. Connector namespaces conflict ✓ Resolved 🐞 Bug ≡ Correctness
Description
Issue 6 places deployment settings under ai-catalog.providers.<id>, while the shared
infrastructure and staged MCP/RHOAI connectors read catalog.providers.<id>. Implementing both
instructions will make connector startup, TLS, or credential configuration unavailable at the paths
consumed by those connectors.
Code

workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[365]

+Define Zod connector config schemas (Jira, GitHub, GitLab) covering `boost.connectors` fields only — all fields are `configScope: db-overridable` (deployment-time fields like `credentials.*`, `tls.*`, and `namespace` live under `ai-catalog.providers.<id>.*` and are excluded from this schema entirely). Extend `RuntimeConfigResolver` to support connector config scope with two-layer merge (YAML baseline + DB overrides), 30s TTL cache with immediate invalidation, and schema validation during merge. Hot-reload propagation to connectors is in Issue 22; admin UI is in Issue 28.
Relevance

●●● Strong

PR 3755 accepted canonical catalog.providers ownership and configuration-path alignment.

PR-#3755

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The hot-reload issue uses ai-catalog.providers, but the shared utility contract and MCP connector
schema/load calls use catalog.providers. These paths are not interchangeable configuration keys.

workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[356-372]
workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[61-87]
workspaces/boost/openspec/changes/connector-shared-infrastructure/tasks.md[5-10]
workspaces/boost/openspec/changes/mcp-registry-connector/tasks.md[36-43]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
Choose one connector deployment namespace and use it consistently across hot-reload, shared-infrastructure, and connector issues. Align Issue 6 with the `catalog.providers.<id>` paths currently consumed by the staged connector tasks, or update every consumer together if another namespace is intended.

## Issue Context
Issue 6 excludes deployment fields from its schema on the premise that they live under `ai-catalog.providers`, but the actual shared package examples and MCP/RHOAI tasks read `catalog.providers`.

## Fix Focus Areas
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[356-372]
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[61-87]
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[415-425]
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[682-699]
- workspaces/boost/openspec/changes/connector-shared-infrastructure/tasks.md[5-10]
- workspaces/boost/openspec/changes/mcp-registry-connector/tasks.md[36-43]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


2. Tier-zero integration impossible ✓ Resolved 🐞 Bug ≡ Correctness
Description
Issue 1 is dependency-free and scoped for one /fs-code run, but it requires integrating the
utility package into MCP, RHOAI, and OCI connectors whose implementations are assigned to later
issues. The Tier-0 issue therefore cannot satisfy its stated completion scope before its downstream
connector issues exist.
Code

workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[55]

+Create the `@red-hat-developer-hub/backstage-plugin-boost-connector-utils` shared package providing CA bundle resolution, fault isolation wrappers (including `createSafeRefresh()` for scheduled refresh callbacks), enable/disable patterns, and configurable endpoint/credential validation. All entity-provider connectors (MCP Registry, RHOAI, OCI Skill) depend on this package. Includes reference app-config YAML for air-gapped deployment with Helm and Operator CR examples, plus connector integration tasks to wire each connector to the shared package.
Relevance

●●● Strong

PR 3574 accepted removing dependencies on implementations that did not yet exist.

PR-#3574

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
Issue 1 is declared dependency-free but requires updating all three connectors. The staged OCI and
RHOAI issues only implement and scaffold those connectors later, so adoption cannot be a Tier-0
completion criterion.

workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[46-55]
workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[114-121]
workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[496-535]
workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[747-781]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
Issue 1 includes adoption work for connectors that are created in later dependency tiers. Move connector-specific integration tasks into the corresponding connector issues, leaving Issue 1 responsible for the shared package, examples, and test doubles.

## Issue Context
The staging document says every issue must complete in one fullsend run and marks Issue 1 dependency-free. Its connector-integration completion criteria conflict with the later creation and implementation sequencing.

## Fix Focus Areas
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[46-55]
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[114-121]
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[496-535]
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[747-781]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


3. Wrong utility package name ✓ Resolved 🐞 Bug ≡ Correctness
Description
Issues 10 and 13 instruct implementers to import @boost/connector-utils, but Issue 1 and the
source OpenSpecs create @red-hat-developer-hub/backstage-plugin-boost-connector-utils. Following
the staged issue text will produce unresolved package imports.
Code

workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[562]

+Add multi-registry configuration support (distinct credentials, CA bundles, and sync schedules per registry instance), K8s pull secret loader with Docker `config.json` parsing, custom CA bundle integration via shared `@boost/connector-utils`, and air-gapped registry support with no external DNS resolution.
Relevance

●● Moderate

PR 3726 accepted full published names, but PR 3754 treated @boost/connector-utils as canonical.

PR-#3726
PR-#3754

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The staged connector summaries use @boost/connector-utils, whereas the package creation task and
connector source tasks consistently use the full Red Hat package name.

workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[553-562]
workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[668-678]
workspaces/boost/openspec/changes/connector-shared-infrastructure/tasks.md[3-10]
workspaces/boost/openspec/changes/mcp-registry-connector/tasks.md[34-38]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
Replace the nonexistent `@boost/connector-utils` references with the canonical package name created by Issue 1.

## Issue Context
The package is consistently named `@red-hat-developer-hub/backstage-plugin-boost-connector-utils` in the shared-infrastructure and connector OpenSpecs. The staged summaries for Issues 10 and 13 use a different name.

## Fix Focus Areas
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[553-562]
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[668-678]
- workspaces/boost/openspec/changes/connector-shared-infrastructure/tasks.md[3-10]
- workspaces/boost/openspec/changes/mcp-registry-connector/tasks.md[34-38]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


View more (1)
4. Validator gate omitted 🐞 Bug ≡ Correctness
Description
Issue 2 omits the OpenSpec requirement to run the CatalogProcessor validator only for entities
carrying an rhdh.io/ai-asset-* annotation. Implemented literally, it can reject ordinary Backstage
entities because they lack the three AI annotations.
Code

workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[158]

+- 1.6 Implement CatalogProcessor validator rejecting entities with missing/invalid annotations
Relevance

●● Moderate

PR 3752 partially accepted this exact AI-asset validator gating concern.

PR-#3752

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The staged task says to reject entities with missing annotations without qualification, while the
source task explicitly limits validation to entities carrying at least one AI-asset annotation.

workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[151-159]
workspaces/boost/openspec/changes/ai-catalog-entity-model/tasks.md[8-16]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
Issue 2 omits the condition limiting AI annotation validation to entities that already carry an `rhdh.io/ai-asset-*` annotation. Restore that condition so non-AI catalog entities are not rejected.

## Issue Context
The source OpenSpec explicitly gates the CatalogProcessor, but the staged GitHub issue reduces the task to rejecting all entities with missing or invalid annotations.

## Fix Focus Areas
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[151-159]
- workspaces/boost/openspec/changes/ai-catalog-entity-model/tasks.md[8-16]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

5. Analytics dependency unsupported ✓ Resolved 🐞 Bug ≡ Correctness
Description
The summary assigns an Analytics tab to RHIDP-15167 and uses that to block RHDHPLAN-1509 on
RHIDP-15335, but RHIDP-15167's OpenSpec scope contains no Analytics work and the analytics API is
staged separately in Issue 29 under RHDHPLAN-1508. This unsupported dependency makes the 1513
deferral analysis incorrectly report that RHDHPLAN-1509 is blocked.
Code

workspaces/boost/specifications/JIRA-analysis/cross-feature-frontend-summary.md[69]

+| **RHIDP-15167 depends on**        | RHIDP-15335 (RHDHPLAN-1513) | RHIDP-15167's Analytics tab (Journey 6 Step 16) consumes the per-connector health status API             | Cannot render metrics without a metrics API |
Relevance

●●● Strong

PRs 3752 and 3755 accepted corrections aligning derived documentation with authoritative OpenSpecs.

PR-#3752
PR-#3755

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The complete RHIDP-15167 OpenSpec task section has no Analytics tab, while staged Issue 29
explicitly owns analytics APIs under RHDHPLAN-1508. The summary nevertheless attributes Analytics to
RHIDP-15167 and propagates that claim into the deferral analysis.

workspaces/boost/specifications/JIRA-analysis/cross-feature-frontend-summary.md[45-71]
workspaces/boost/specifications/JIRA-analysis/RHDHPLAN-1513-defer-from-2-1-staging-and-jira-impact.md[67-73]
workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[1300-1358]
workspaces/boost/openspec/changes/ai-catalog-frontend/tasks.md[37-51]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
Remove or correct the claim that RHIDP-15167 owns an Analytics tab and depends on RHIDP-15335. Map the analytics frontend and API to their actual Jira stories, then recalculate whether deferring RHDHPLAN-1513 blocks RHDHPLAN-1509.

## Issue Context
The repository's RHIDP-15167 task list covers summary, adoption, version, and usage components only. The staged analytics API is Issue 29 under RHDHPLAN-1508, although it separately depends on the 1513 health model.

## Fix Focus Areas
- workspaces/boost/specifications/JIRA-analysis/cross-feature-frontend-summary.md[45-71]
- workspaces/boost/specifications/JIRA-analysis/RHDHPLAN-1513-defer-from-2-1-staging-and-jira-impact.md[67-73]
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[1300-1358]
- workspaces/boost/openspec/changes/ai-catalog-frontend/tasks.md[37-51]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


6. Load-test dependency missing 🐞 Bug ≡ Correctness
Description
Issue 12 can start after Issues 1 and 9 even though it must validate production incremental-sync
behavior implemented by Issue 11. Unless that test is removed or explicitly made fixture-only, the
dependency graph permits the load test to run before its subject exists.
Code

workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[631]

+**Depends on:** Issue 1 (shared infra), Issue 9 (core connector)
Relevance

●● Moderate

No directly relevant historical evidence found for staged load-test dependency corrections.

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
Issue 12's task 5.7 validates incremental sync, but Issue 11 is the staged issue that implements
digest comparison, delta mutation emission, and cache persistence. Issue 12 does not declare Issue
11 as a dependency.

workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[585-617]
workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[626-659]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
Add Issue 11 as an Issue 12 dependency when the incremental-sync scale test is intended to exercise the production connector implementation. Otherwise, narrow Issue 12 so its acceptance criteria do not require functionality outside Issues 1 and 9.

## Issue Context
Issue 12 requires a 10%-churn incremental-sync performance test, while Issue 11 owns digest comparison, delta mutation, and durable cache implementation.

## Fix Focus Areas
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[585-617]
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[626-659]
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[1376-1380]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


7. Default policy lacks namespace 📘 Rule violation ⚙ Maintainability
Description
The staged implementation defines ai-catalog.rbac.defaultPolicy, which does not start with the
required boost. namespace. Following this issue plan would introduce a noncompliant application
configuration key.
Code

workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[979]

+- 6.1 Add `ai-catalog.rbac.defaultPolicy` config schema (allow|deny, default: allow)
Relevance

●● Moderate

PR 3753 only partially accepted the exact ai-catalog.rbac namespace inconsistency.

PR-#3753
PR-#3755

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
PR Compliance ID 2401 requires application configuration keys to start with boost.. The new
staging document directs implementation of ai-catalog.rbac.defaultPolicy and multiple
catalog.providers.* schemas instead.

Rule 2401: Configuration keys must use the boost.* namespace
workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[979-981]
workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[417-421]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
Application-owned configuration keys in the staged issues use `ai-catalog.*` and `catalog.providers.*` roots rather than the required `boost.*` namespace.

## Issue Context
Update schemas, examples, and planned configuration lookups together so downstream implementations use one compliant namespace.

## Fix Focus Areas
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[65-86]
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[365-372]
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[417-421]
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[685-691]
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[800-806]
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[979-981]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Informational

8. skill lacks resource prefix 📘 Rule violation ⚙ Maintainability
Description
The OCI connector plan specifies the canonical resource type as spec.type: skill, and the RHOAI
plan similarly uses mcp-server, rather than identifiers beginning with boost-. These staged
definitions would produce resource entities that violate the required type naming convention.
Code

workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[505]

+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.
Relevance

● Weak

PRs 3752 and 3755 retained skill and mcp-server as authoritative resource types.

PR-#3752
PR-#3755

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
PR Compliance ID 2417 requires canonical resource type identifiers to begin with boost-. The
changed staging plan explicitly prescribes spec.type: skill and spec.type: mcp-server.

Rule 2417: Prefix resource type identifiers with boost-
workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[505-505]
workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[756-765]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The staged connectors emit canonical resource types without the required `boost-` prefix.

## Issue Context
Update the connector issue definitions, mapping tasks, tests, and examples consistently so emitted entities use compliant resource type identifiers.

## Fix Focus Areas
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[505-543]
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[756-765]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


9. ai-catalog permissions lack prefix 📘 Rule violation ⚙ Maintainability
Description
The staged implementation defines ai-catalog.asset.read, ai-catalog.asset.read.usage-docs, and
ai-catalog.admin permission identifiers instead of the required boost.* names. Implementing
these tasks as written would violate the permission naming convention across backend and frontend
authorization checks.
Code

workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[R206-208]

+- 1.2 Define `ai-catalog.asset.read` resource permission
+- 1.3 Define `ai-catalog.asset.read.usage-docs` resource permission
+- 1.4 Define `ai-catalog.admin` basic permission
Relevance

● Weak

PR 3755 explicitly rejected replacing ai-catalog permissions with boost-prefixed identifiers.

PR-#3755
PR-#3753

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
PR Compliance ID 2409 requires every permission identifier to begin with boost.. The staged tasks
explicitly introduce and register three identifiers beginning with ai-catalog. and later direct
consumers to use them.

Rule 2409: Permission identifiers must use the boost.* naming prefix
workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[199-208]
workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[1093-1132]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The staged permission identifiers use the noncompliant `ai-catalog.*` prefix instead of `boost.*`.

## Issue Context
Update definitions and all planned backend/frontend consumers consistently so the generated implementation does not introduce incompatible permission names.

## Fix Focus Areas
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[199-208]
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[312-331]
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[1093-1132]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


10. AIResource is nonstandard 📘 Rule violation ≡ Correctness
Description
The OCI connector issue directs the provider to emit kind: AIResource, which is not a standard
Backstage catalog kind, and no explicit custom-kind registration is present in the repository.
Implementing this plan would cause the provider to emit entities that do not satisfy standard
catalog schemas.
Code

workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[505]

+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.
Relevance

● Weak

PR 3752 explicitly established AIResource for skills and accepted consistency fixes preserving that
kind.

PR-#3752

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
PR Compliance ID 2386 requires entity providers to emit standard Backstage kinds unless a custom
kind is explicitly registered and validated. The staging plan mandates AIResource, while
repository searches show no custom-kind registration or entity schema validator for it.

Rule 2386: Backstage entity providers must emit standard catalog entity kinds and shapes
workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[505-505]
workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[523-543]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The staged OCI provider uses the unregistered nonstandard catalog kind `AIResource`.

## Issue Context
Use a standard Backstage kind such as `Resource` with a compliant `spec.type`, or explicitly add and document custom-kind registration and schema validation if a custom kind is essential.

## Fix Focus Areas
- workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md[505-543]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

To customize comments, go to the Qodo configuration screen, or learn more in the docs.

Qodo Logo

@rhdh-qodo-merge rhdh-qodo-merge Bot added the documentation Improvements or additions to documentation label Jul 28, 2026
@codecov

codecov Bot commented Jul 28, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 58.06%. Comparing base (aa3bf79) to head (a051663).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #4069   +/-   ##
=======================================
  Coverage   58.06%   58.06%           
=======================================
  Files        2411     2411           
  Lines       96368    96368           
  Branches    26805    26795   -10     
=======================================
  Hits        55955    55955           
  Misses      40224    40224           
  Partials      189      189           
Flag Coverage Δ *Carryforward flag
adoption-insights 84.55% <ø> (ø) Carriedforward from bbee83f
ai-integrations 69.76% <ø> (ø) Carriedforward from bbee83f
app-defaults 69.79% <ø> (ø) Carriedforward from bbee83f
augment 46.67% <ø> (ø) Carriedforward from bbee83f
boost 76.77% <ø> (ø)
bulk-import 72.56% <ø> (ø) Carriedforward from bbee83f
cost-management 13.55% <ø> (ø) Carriedforward from bbee83f
dcm 60.72% <ø> (ø) Carriedforward from bbee83f
extensions 56.59% <ø> (ø) Carriedforward from bbee83f
global-floating-action-button 71.18% <ø> (ø) Carriedforward from bbee83f
global-header 66.50% <ø> (ø) Carriedforward from bbee83f
homepage 47.59% <ø> (ø) Carriedforward from bbee83f
install-dynamic-plugins 59.95% <ø> (ø) Carriedforward from bbee83f
intelligent-assistant 74.61% <ø> (ø) Carriedforward from bbee83f
konflux 91.98% <ø> (ø) Carriedforward from bbee83f
lightspeed 69.02% <ø> (ø) Carriedforward from bbee83f
mcp-integrations 83.40% <ø> (ø) Carriedforward from bbee83f
orchestrator 66.87% <ø> (ø) Carriedforward from bbee83f
quickstart 63.74% <ø> (ø) Carriedforward from bbee83f
sandbox 79.56% <ø> (ø) Carriedforward from bbee83f
scorecard 85.45% <ø> (ø) Carriedforward from bbee83f
theme 88.52% <ø> (ø) Carriedforward from bbee83f
translations 5.12% <ø> (ø) Carriedforward from bbee83f
x2a 79.20% <ø> (ø) Carriedforward from bbee83f

*This pull request uses carry forward flags. Click here to find out more.


Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update aa3bf79...a051663. Read the comment docs.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@fullsend-ai-review

fullsend-ai-review Bot commented Jul 28, 2026

Copy link
Copy Markdown

Review

Findings

Low

  • [naming-convention] workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md — File name uses lowercase rhdhplan and omits the hyphen between the prefix and the number (rhdhplan1505), while every other file in this directory uses uppercase RHDHPLAN-NNNN-<suffix>.md (e.g., RHDHPLAN-1507-feasibility-report.md, RHDHPLAN-1513-defer-from-2-1-staging-and-jira-impact.md).
    Remediation: Rename to RHDHPLAN-1505-staged-issues.md (or RHDHPLAN-1505-1-staged-issues.md if the -1 segment is intentional) to match the established naming convention.

  • [naming-convention] workspaces/boost/specifications/JIRA-analysis/cross-feature-frontend-summary.md — File name does not carry the RHDHPLAN-NNNN- prefix used by every other file in this directory. Since the document covers RHDHPLAN-1507, 1508, 1510, and 1513 (all under the RHDHPLAN-1505 umbrella), it stands out as the only file without a Jira key prefix. Consider renaming to RHDHPLAN-1505-cross-feature-frontend-summary.md, though the current name is defensible for a cross-cutting summary.

Previous run

Review

Findings

Medium

  • [stale-reference] workspaces/boost/staged-issues.md:409 — The file workspaces/boost/staged-issues.md is not included in this PR but contains 5 references to old package names that this PR renames across all other openspec documents: @boost/toolscope (lines 409, 415, 419, 423) and @boost/responses-api-toolkit (lines 409, 424). Every other file is updated to use @red-hat-developer-hub/backstage-plugin-boost-toolscope and @red-hat-developer-hub/backstage-plugin-boost-responses-api-toolkit, leaving staged-issues.md as the only document with the old names. This file may be superseded by the new rhdhplan1505-1-staged-issues.md — consider updating the references or marking the old file as deprecated.

  • [logic-error] workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md — Issues 23 (SkillBundle RBAC Filtering), 24 (Graduated Visibility Frontend), and 26 (Ingestion Health Admin UI) are placed in "Tier 2 — Depends on Tier 1" but their stated dependencies only include Tier 0 issues. Issue 23 depends on Issue 3 (Tier 0). Issue 24 depends on Issue 3 (Tier 0) + RHIDP-15167 (external). Issue 26 depends on Issues 3 and 5 (both Tier 0). The dependency graph confirms these arrows point only to Tier 0 issues. The document defines Tier 2 as "depends on Tier 1", making this internally inconsistent and potentially underestimating available parallelism. Consider moving these issues to Tier 1 or clarifying the tier definition.

Low

  • [internal-inconsistency] workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md — Issue 13 task 2.2 references ai-catalog.providers.mcpRegistry.tls.ca but the authoritative spec (openspec/changes/mcp-registry-connector/tasks.md task 2.2) and all other documents consistently use tls.caFile. The tls.ca truncation appears to be a typo.

  • [scope-coherence] workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md — The PR bundles a large planning artifact (1402-line staging plan for 29 GitHub issues) alongside routine doc updates (package renames, config namespace changes). The PR title acknowledges this scope and the content is internally consistent and well-structured.

Previous run (2)

Review

Findings

Low

  • [stale reference to removed/renamed identifier] workspaces/boost/staged-issues.md:409 — The file workspaces/boost/staged-issues.md still references old @boost/ package names (@boost/toolscope, @boost/responses-api-toolkit) at lines 409, 415, 419, 423, and 424. This file was not included in the PR's rename sweep, but all other documentation files in the workspace have been renamed to @red-hat-developer-hub/backstage-plugin-boost-*.
    Remediation: Either rename the @boost/ references to their @red-hat-developer-hub/backstage-plugin-boost-* equivalents, or remove/archive the file if it has been superseded by the new rhdhplan1505-1-staged-issues.md.

  • [naming-convention] workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md — File name uses lowercase rhdhplan without a hyphen before the number, breaking the established pattern in this directory where all other JIRA-prefixed files use uppercase RHDHPLAN-XXXX-<descriptor>.md (e.g., RHDHPLAN-1507-feasibility-report.md).
    Remediation: Consider renaming to RHDHPLAN-1505-1-staged-issues.md for consistency.

  • [missing-authorization] — The PR has no linked GitHub issue. The work is clearly traceable to JIRA items (RHDHPLAN-1505, 1507, 1508, 1510, 1513) referenced throughout the PR title, description, and file contents. The requires-manual-review label is appropriately applied.

  • [scope-coherence] workspaces/boost/specifications/JIRA-analysis/RHDHPLAN-1510-feasibility-report.md — The RHDHPLAN-1510 feasibility report has substantive content changes narrowing the RHOAI connector scope (moving Kubeflow Model Registry to RHDHPLAN-404). This scope-narrowing decision is not explicitly mentioned in the PR description, though it is related to the overall planning work.

Previous run (3)

Review

Findings

Medium

  • [stale-reference] workspaces/boost/staged-issues.md:409 — File workspaces/boost/staged-issues.md was not updated in this PR but still contains 7 references to the old package names @boost/toolscope (lines 409, 415, 419, 423) and @boost/responses-api-toolkit (lines 409, 424). The PR renames these to @red-hat-developer-hub/backstage-plugin-boost-* across all openspec files but missed this file.
    Remediation: Update workspaces/boost/staged-issues.md to use the new package names, or if this document is superseded by rhdhplan1505-1-staged-issues.md, note that clearly in the file.

  • [stale-reference] workspaces/boost/openspec/changes/rhoai-connector/design.md:60 — The PR renames inline config path references from catalog.providers.* to ai-catalog.providers.* in prose and TypeScript code across 30 files, but does NOT update any of the YAML config example blocks. In rhoai-connector/design.md, the prose at line 57 says ai-catalog.providers.rhoai.mcpCatalog but the YAML block at line 60 still uses catalog: / providers: as top-level keys. Since code like config.getConfig('ai-catalog.providers.mcpRegistry') resolves against the YAML hierarchy, the YAML should use ai-catalog: as the top-level key. This same inconsistency exists in YAML blocks in connector-shared-infrastructure/design.md, mcp-registry-connector/design.md, and several other spec files.
    Remediation: Update all YAML config example blocks across the openspec directory to use ai-catalog: as the top-level key instead of catalog:.

Low

  • [stale-reference] workspaces/boost/openspec/changes/mcp-registry-connector/specs/mirror-endpoint/spec.md — Two spec files under mcp-registry-connector/specs/ (mirror-endpoint/spec.md and auth-tls-hardening/spec.md) are not included in the PR. Both contain YAML config blocks with catalog: as the top-level key that should use ai-catalog: for consistency with the rest of the PR's rename pattern.

  • [document header format inconsistency] workspaces/boost/specifications/JIRA-analysis/RHDHPLAN-1507-frontend-coverage.md:3 — The 5 new analysis documents use blockquote-style metadata headers (> **Date:**, > **Feature:**) while the existing sibling files in the same directory use plain bold-field metadata headers (**Date:**, **Purpose:**) without blockquotes.

Previous run (4)

Review

Findings

Medium

  • [internal-consistency] workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md — Issue 5 (Ingestion Health API) is placed in "Tier 0 — No Dependencies" but its own metadata states Dependencies: Issue 3 (#4041 — defines ai-catalog.admin permission used for RBAC gating). Task 2.5 explicitly requires the ai-catalog.admin permission defined in Issue 3. The dependency graph at the bottom also lists Issue 5 with no dependency arrows, reinforcing the contradiction. By the document's own rule ("Tier 1 depends on Tier 0"), Issue 5 should be Tier 1.
    Remediation: Either move Issue 5 to Tier 1 and update the dependency graph to show [5] → [3], or remove the dependency on Issue 3 by deferring the RBAC gating to a later issue (e.g., Issue 26).

  • [internal-consistency] workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md — Issues 23 (SkillBundle RBAC Filtering) and 24 (Graduated Visibility Frontend) are placed in "Tier 2 — Depends on Tier 1" but their only in-scope dependency is Issue 3 (a Tier 0 issue). Issue 24 also depends on RHIDP-15167 (an external cross-feature dependency), but this is not a Tier 1 issue. Per the document's own rule, both should be Tier 1. Issue 25 correctly depends on Issue 20 (Tier 1), placing it properly in Tier 2.
    Remediation: Either move Issues 23 and 24 to Tier 1, add explicit Tier 1 dependencies that justify their placement, or clarify that tiers are intentional scheduling groups rather than strict dependency-derived classifications.

Low

  • [naming-convention] workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md — File name uses lowercase rhdhplan and omits the hyphen between the prefix and the number. All other files in this directory follow the convention RHDHPLAN-XXXX-<slug>.md with uppercase prefix and hyphen separator.
    Remediation: Rename to RHDHPLAN-1505-1-staged-issues.md.

  • [internal-consistency] workspaces/boost/specifications/JIRA-analysis/RHDHPLAN-1510-frontend-coverage.md — Story RHIDP-15320 is listed as No (backend ingestion) — **Closed** rather than being struck through entirely (as done for equivalent rows in the frontend coverage table below). The "Closed" badge could be confused with "completed" rather than "moved to RHDHPLAN-404 scope."

  • [edge-case] workspaces/boost/specifications/JIRA-analysis/RHDHPLAN-1513-defer-from-2-1-staging-and-jira-impact.md — Entanglement 3 identifies that RHIDP-15167 depends on RHIDP-15335 (Issue 5), but the cross-feature summary clarifies this is specifically the Analytics tab consuming a metrics API. The deferral document explores re-scoping for Issue 29 but not for RHIDP-15167, where a similar approach (deferring the Analytics tab) could break the dependency chain.

Previous run (5)

Review

Findings

Medium

  • [stale-reference] workspaces/boost/specifications/JIRA-analysis/RHDHPLAN-1510-feasibility-report.md:180 — The "Comparison Across Features" table still describes RHIDP-15314 as "RHOAI — two-source connector," but this PR changes RHIDP-15314 to a single-source MCP-only connector (Model Registry / Kubeflow scope moved to RHDHPLAN-404). The Summary Matrix and RHIDP-15314 section body were updated, but the Comparison table was not.
    Remediation: Update the "Highest-risk epic" cell to read RHIDP-15314 (RHOAI — MCP catalog connector) to reflect the reduced scope.

Low

  • [stale-reference] workspaces/boost/specifications/JIRA-analysis/RHDHPLAN-1510-frontend-coverage.md:57 — The frontend coverage table includes "View detail page for RHOAI-sourced ai-model with version info" as a RHDHPLAN-1510 frontend need, but RHDHPLAN-1510 no longer produces ai-model entities (moved to RHDHPLAN-404). The row above (line 55, browsing RHOAI models) is correctly struck through with a RHDHPLAN-404 annotation, but this row is not.
    Remediation: Strike through or add _(RHDHPLAN-404 scope)_ annotation, consistent with line 55.

  • [unresolved-jira-reference] workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md — Issue 29's task group header references "group 5 (RHIDP-15344)" but RHIDP-15344 does not appear in Issue 29's RHIDP Stories line (which lists only RHIDP-15280), nor in any feature structure table across the PR.
    Remediation: Verify whether RHIDP-15344 is a real Jira story and update accordingly.

  • [imprecise-terminology] workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md — The cross-feature dependencies section states the RHIDP-15167 → RHIDP-15335 dependency creates "a cross-feature cycle." The actual structure (RHIDP-15335 → RHIDP-15167 → RHIDP-15273) is a linear dependency chain, not a cycle.
    Remediation: Change "creating a cross-feature cycle" to "creating a cross-feature dependency chain."

  • [naming-convention] workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md — File name deviates from the established directory convention (RHDHPLAN-XXXX-suffix.md with uppercase prefix and hyphens). All existing files use uppercase RHDHPLAN- with a hyphen before the number.
    Remediation: Consider renaming to RHDHPLAN-1505-staged-issues.md.


Labels: PR adds planning/specification documents under workspaces/boost/

@fullsend-ai-review fullsend-ai-review Bot added requires-manual-review Review requires human judgment workspace/boost Boost workspace (Backstage AI plugin) labels Jul 28, 2026

@mareklibra mareklibra left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some stale skeletons from not-perfect specifications are emerging. Better now than later.
Let's block implementation of the 4039-4045 issues until resolving similar gotchas. It would be very painful to fix them later in the expected ton of generated code.

Comment thread workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md Outdated
Comment thread workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md Outdated
Comment thread workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md Outdated
Comment thread workspaces/boost/specifications/JIRA-analysis/RHDHPLAN-1510-frontend-coverage.md Outdated
Comment thread workspaces/boost/specifications/JIRA-analysis/RHDHPLAN-1510-frontend-coverage.md Outdated
Comment thread workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md Outdated
Comment thread workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md Outdated
@gabemontero

gabemontero commented Jul 30, 2026

Copy link
Copy Markdown
Contributor Author

Thanks for the review findings fullsend review agent. Here's what we're addressing and what we're leaving as-is:

Addressed (commit 90285e5)

  1. [stale-reference] RHDHPLAN-1510-feasibility-report.md:180 — Updated the Comparison table's "Highest-risk epic" cell from "RHOAI — two-source connector" to "RHOAI — MCP catalog connector" to match the scope change already reflected in the Summary Matrix and section body.

  2. [stale-reference] RHDHPLAN-1510-frontend-coverage.md:57 — Applied strikethrough and _(RHDHPLAN-404 scope)_ annotation to the RHOAI ai-model detail page row, consistent with the line above it (line 53).

  3. [imprecise-terminology] rhdhplan1505-1-staged-issues.md — Changed "cross-feature cycle" to "cross-feature dependency chain." The dependency structure (RHIDP-15335 → RHIDP-15167 → RHIDP-15273) is indeed a linear chain, not a cycle.

Not addressing

  1. [unresolved-jira-reference] RHIDP-15344 in Issue 29 — RHIDP-15344 ("Analytics metrics REST API") is a real Jira story under epic RHIDP-15333 (Ingestion Audit Logging and Metrics). The task group header referencing "group 5 (RHIDP-15344)" is correct context for how the issue is grouped, even though RHIDP-15344 is not listed in Issue 29's RHIDP Stories line (which tracks the stories within Issue 29, not the group label). No change needed.

  2. [naming-convention] file name — The file is intentionally named rhdhplan1505-1-staged-issues.md as a numbered deliverable in a sequence (the -1- suffix), distinct from the per-feature analysis documents that follow the RHDHPLAN-XXXX-suffix.md convention. Renaming would lose that distinction.

@gabemontero

gabemontero commented Jul 30, 2026

Copy link
Copy Markdown
Contributor Author

in addition to the changes in this PR's files @mareklibra I had claude/opus edit the github issues along these lines:

  GitHub issues edited (8 total, all synced with staged-issues.md changes in commit 8bd4ef8):
  
  ┌───────┬──────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Issue │                                           What changed                                           │
  ├───────┼──────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ #4039 │ Removed "plus connector integration" from description; group 7 tasks replaced with deferred note │
  ├───────┼──────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ #4040 │ @boost/entity-provider-sdk → full @red-hat-developer-hub/backstage-plugin-* name                 │
  ├───────┼──────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ #4042 │ @boost/migration-readiness → full name; added RHDHPLAN-1513 deferral split note                  │
  ├───────┼──────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ #4043 │ Dependencies changed from "None" to "Issue 3 (#4041 — defines ai-catalog.admin)"                 │
  ├───────┼──────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ #4044 │ catalog.providers → ai-catalog.providers; Zod schema clarification added                         │
  ├───────┼──────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ #4048 │ @boost/connector-utils → full name                                                               │
  ├───────┼──────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ #4051 │ @boost/connector-utils → full name                                                               │
  ├───────┼──────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ #4067 │ "group 5 (RHIDP-15344)" → "group 5 (RHIDP-15280 / former RHIDP-15344)"                           │
  └───────┴──────────────────────────────────────────────────────────────────────────────────────────────────┘

@fullsend-ai-review

fullsend-ai-review Bot commented Jul 30, 2026

Copy link
Copy Markdown

🤖 Review · ❌ Terminated · Started 7:45 PM UTC · Ended 8:01 PM UTC
Commit: 5b5a870 · View workflow run →

@gabemontero

gabemontero commented Jul 30, 2026

Copy link
Copy Markdown
Contributor Author

OK @mareklibra I'm still arguing with claude/opus about ai-catalog.providers vs. catalog.providers

I've told claude/opus in the past I wanted ai-catalog.providers across the board, save decision for future work, but that did not seem to be sticking

the next push hopefully has resolved claude's confusion, and it should be ai-catalog.providers

@fullsend-ai-review

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 7:45 PM UTC · Completed 8:01 PM UTC
Commit: 5b5a870 · View workflow run →

@gabemontero

gabemontero commented Jul 30, 2026

Copy link
Copy Markdown
Contributor Author

Also am needing to re-litigate the use of "@boost" as a package name with claude/opus today @mareklibra

hopefully with the next push the "@boost" NPM package refs are gone

@gabemontero

Copy link
Copy Markdown
Contributor Author

WRT

[internal-consistency] workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md — Issues 23 (SkillBundle RBAC Filtering) and 24 (Graduated Visibility Frontend) are placed in "Tier 2 — Depends on Tier 1" but their only in-scope dependency is Issue 3 (a Tier 0 issue). Issue 24 also depends on RHIDP-15167 (an external cross-feature dependency), but this is not a Tier 1 issue. Per the document's own rule, both should be Tier 1. Issue 25 correctly depends on Issue 20 (Tier 1), placing it properly in Tier 2.
Remediation: Either move Issues 23 and 24 to Tier 1, add explicit Tier 1 dependencies that justify their placement, or clarify that tiers are intentional scheduling groups rather than strict dependency-derived classifications.

from fullsend review, I'm leaving things as is for now i.e. leveraging intentional scheduling grouping vs. strict dependency-driven classification

@gabemontero

Copy link
Copy Markdown
Contributor Author

WRT

[internal-consistency] workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md — Issue 5 (Ingestion Health API) is placed in "Tier 0 — No Dependencies" but its own metadata states Dependencies: Issue 3 (#4041 — defines ai-catalog.admin permission used for RBAC gating). Task 2.5 explicitly requires the ai-catalog.admin permission defined in Issue 3. The dependency graph at the bottom also lists Issue 5 with no dependency arrows, reinforcing the contradiction. By the document's own rule ("Tier 1 depends on Tier 0"), Issue 5 should be Tier 1.
Remediation: Either move Issue 5 to Tier 1 and update the dependency graph to show [5] → [3], or remove the dependency on Issue 3 by deferring the RBAC gating to a later issue (e.g., Issue 26).

from fullsend review, we are going with remove the dependency on Issue 3 by deferring the RBAC gating to a later issue (e.g., Issue 26).

@fullsend-ai-review

fullsend-ai-review Bot commented Jul 30, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 8:28 PM UTC · Completed 8:49 PM UTC
Commit: 40782a8 · View workflow run →

@gabemontero

Copy link
Copy Markdown
Contributor Author

for fullsend review

[stale-reference] workspaces/boost/staged-issues.md:409 — File workspaces/boost/staged-issues.md was not updated in this PR but still contains 7 references to the old package names @boost/toolscope (lines 409, 415, 419, 423) and @boost/responses-api-toolkit (lines 409, 424). The PR renames these to @red-hat-developer-hub/backstage-plugin-boost-* across all openspec files but missed this file.
Remediation: Update workspaces/boost/staged-issues.md to use the new package names, or if this document is superseded by rhdhplan1505-1-staged-issues.md, note that clearly in the file.

simply disregarding .... staged-issues.md does not need to be kept consistent, nor does rhdhplan1505-1-stated-issues.md "supercede"

stage-issues.md was the initial drop, rhdhplan1505.... is the next drop

will address

[stale-reference] workspaces/boost/openspec/changes/rhoai-connector/design.md:60 — The PR renames inline config path references from catalog.providers.* to ai-catalog.providers.* in prose and TypeScript code across 30 files, but does NOT update any of the YAML config example blocks. In rhoai-connector/design.md, the prose at line 57 says ai-catalog.providers.rhoai.mcpCatalog but the YAML block at line 60 still uses catalog: / providers: as top-level keys. Since code like config.getConfig('ai-catalog.providers.mcpRegistry') resolves against the YAML hierarchy, the YAML should use ai-catalog: as the top-level key. This same inconsistency exists in YAML blocks in connector-shared-infrastructure/design.md, mcp-registry-connector/design.md, and several other spec files.
Remediation: Update all YAML config example blocks across the openspec directory to use ai-catalog: as the top-level key instead of catalog:.

[stale-reference] workspaces/boost/openspec/changes/mcp-registry-connector/specs/mirror-endpoint/spec.md — Two spec files under mcp-registry-connector/specs/ (mirror-endpoint/spec.md and auth-tls-hardening/spec.md) are not included in the PR. Both contain YAML config blocks with catalog: as the top-level key that should use ai-catalog: for consistency with the rest of the PR's rename pattern.

@fullsend-ai-review

fullsend-ai-review Bot commented Jul 30, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 9:46 PM UTC · Completed 10:02 PM UTC
Commit: 84503d4 · View workflow run →

fullsend-ai-review[bot]

This comment was marked as outdated.

@fullsend-ai-review fullsend-ai-review Bot added ready-for-merge All reviewers approved — ready to merge and removed requires-manual-review Review requires human judgment labels Jul 30, 2026
@gabemontero

Copy link
Copy Markdown
Contributor Author

ok don't consider any of the latest fullsend review findings actionable

@mareklibra mareklibra left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few non-critical notes.
I suggest addressing them. Anyway, still LGTM even without it.

Comment thread workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md Outdated
gabemontero and others added 13 commits August 3, 2026 16:35
…nces from JIRA-analysis reports

RHIDP-15320 (Model Registry source) was closed and moved to RHDHPLAN-404
scope. The feasibility report and frontend coverage doc still carried
Kubeflow/Model Registry references predating that scope change.

- feasibility: update RHIDP-15314 section to MCP-catalog-only (header,
  summary, AC table, verdict, implementation note, summary matrix)
- feasibility: strike Model Registry client row in capabilities table
- frontend-coverage: strike Model Registry browse row, update RHIDP-15314
  bullet to remove Kubeflow reference

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: gabemontero <gmontero@redhat.com>
…c content

- staged-issues: fix package name, function signatures (caller-passes-subtree),
  table name (boost_sync_attempts), config scope descriptions, add missing
  subtasks (createSafeRefresh, removeOverride, connector integration group)
- feasibility-report: fix loadCaBundle signature to caller-passes-subtree pattern

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: gabemontero <gmontero@redhat.com>
… staged issues

Issues 7, 13, 14 (RHIDP-15317/15318/15319 — MCP Registry Connector
productization) depend on RHDHPLAN-393's RHIDP-15655 (upstream MCP
Registry entity provider). Added cross-feature dependency notes to
header and each affected issue. Issue 14 additionally depends on
RHIDP-15658 (entity mapping).

RHIDP-15321 (RHOAI version normalization) and Issues 15-16 (RHOAI
connector) have no RHDHPLAN-393 dependency — they query RHOAI's own
MCP catalog API independently.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: gabemontero <gmontero@redhat.com>
…hat-developer#4039redhat-developer#4067

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: gabemontero <gmontero@redhat.com>
…eferences and terminology

- Update Comparison table to reflect RHIDP-15314 MCP catalog connector scope
- Strike through RHOAI ai-model detail page row with RHDHPLAN-404 annotation
- Correct 'cross-feature cycle' to 'cross-feature dependency chain'

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: gabemontero <gmontero@redhat.com>
… deps, deferral

- Fix RHDIP→RHIDP typo in staged-issues.md
- Defer Issue 1 group 7 (connector integration) to Tier 1 connector issues
- Align config namespace: ai-catalog.providers→catalog.providers in Issue 6
- Clarify Issue 6 Zod schemas target existing Backstage connectors (Jira/GitHub/GitLab)
- Add Issue 5 dependency on Issue 3 (ai-catalog.admin permission)
- Fix package names: @boost/*→@red-hat-developer-hub/backstage-plugin-* in Issues 2, 4, 10, 13
- Add deferral split note to Issue 4 for RHDHPLAN-1513 contingency
- Fix Issue 29 group 5 header: RHIDP-15280/former RHIDP-15344
- Fix RHDHPLAN-1510-frontend-coverage.md RHOAI scope annotation

Corresponding GitHub issues updated: redhat-developer#4039, redhat-developer#4040, redhat-developer#4042, redhat-developer#4043, redhat-developer#4044, redhat-developer#4048, redhat-developer#4051, redhat-developer#4067

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: gabemontero <gmontero@redhat.com>
…oss openspecs, staged issues, and feasibility reports

Replaces all 68 bare catalog.providers references with ai-catalog.providers
across 21 files:
- 4 openspec connector dirs (connector-shared-infrastructure, mcp-registry-connector,
  oci-skill-connector, rhoai-connector) — proposals, designs, tasks, specs
- JIRA-analysis staged-issues.md (Issues 1, 6, 7, 13, 16)
- JIRA-analysis feasibility reports (RHDHPLAN-1507, RHDHPLAN-1510)

connector-config-hot-reload and ingestion-health-dashboard openspecs already
used ai-catalog.providers — no changes needed.

GitHub issues redhat-developer#4039, redhat-developer#4044, redhat-developer#4045, redhat-developer#4051, redhat-developer#4054 updated separately.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: gabemontero <gmontero@redhat.com>
…b/backstage-plugin-* npm names

Align openspec package references with Marek's review feedback:
- @boost/toolscope → @red-hat-developer-hub/backstage-plugin-boost-toolscope (9 refs)
- @boost/entity-provider-sdk → @red-hat-developer-hub/backstage-plugin-boost-entity-provider-sdk (8 refs)
- @boost/responses-api-toolkit → @red-hat-developer-hub/backstage-plugin-boost-responses-api-toolkit (2 refs)
- @boost/plugin-boost-backend-module-kagenti → @red-hat-developer-hub/backstage-plugin-boost-backend-module-kagenti (1 ref)

20 replacements across 12 openspec files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: gabemontero <gmontero@redhat.com>
Resolve internal-consistency finding: Issue 5 was in Tier 0 (no
dependencies) but declared a dependency on Issue 3 for ai-catalog.admin
permission used in RBAC gating.

Fix: defer RBAC gating task 2.5 from Issue 5 to Issue 26, removing
Issue 5's dependency on Issue 3. Issue 26 now depends on both Issue 3
and Issue 5. Dependency graph updated accordingly.

GitHub issues redhat-developer#4043 and redhat-developer#4064 updated to match.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: gabemontero <gmontero@redhat.com>
…onfig blocks

Replace bare `catalog:` top-level key with `ai-catalog:` in 20 YAML
config example blocks across 10 openspec files. Code references
(`catalog: catalogProcessingExtensionPoint`) are untouched.

Addresses fullsend review finding: stale-reference on YAML config blocks
that still used the pre-rename `catalog:` namespace instead of
`ai-catalog:`.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: gabemontero <gmontero@redhat.com>
…plit, §7 deferral

- Add two-enabled-flags config note to Issues 1 and 6 in staged-issues.md
  matching Marek's edits to GitHub redhat-developer#4039 and redhat-developer#4044
- Reword Issue 5 task 2.6: structured LoggerService logging now, full
  audit emitters deferred to Issue 21 (GitHub redhat-developer#4043 updated in lockstep)
- Defer §7 (7.1–7.6) in connector-shared-infrastructure/tasks.md with
  strikethrough + deferral note matching staged-issues.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: gabemontero <gmontero@redhat.com>
@gabemontero
gabemontero force-pushed the my-rhdhplan-1505-combined-openspecs-staging-plan-ui-hits branch from 84503d4 to bbee83f Compare August 3, 2026 20:51
@fullsend-ai-review

fullsend-ai-review Bot commented Aug 3, 2026

Copy link
Copy Markdown

🤖 Review · ❌ Terminated · Started 8:52 PM UTC · Ended 9:10 PM UTC
Commit: bbee83f · View workflow run →

@fullsend-ai-review fullsend-ai-review Bot added requires-manual-review Review requires human judgment and removed ready-for-merge All reviewers approved — ready to merge labels Aug 3, 2026
@fullsend-ai-review

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 8:52 PM UTC · Completed 9:10 PM UTC
Commit: bbee83f · View workflow run →

…HPLAN-404 scope

Apply strikethrough + RHDHPLAN-404 annotation to RHOAI entity mention
in the Summary section, matching the pattern used in the table above
(lines 53, 55).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: gabemontero <gmontero@redhat.com>
@gabemontero
gabemontero dismissed mareklibra’s stale review August 3, 2026 21:25

all of marek's reviews have been processed, and he gave an LGTM earlier today
I think this is another case of a req for change reivew followed by a comment review

@gabemontero

Copy link
Copy Markdown
Contributor Author

Fullsend review findings — addressed

The fullsend review run (actions/runs/30852135198) produced 3 actionable findings and 1 informational note. All 3 actionable items are now fixed:

Fixed

  1. [internal-inconsistency / low] Issue 13 task 2.2 referenced tls.ca instead of tls.caFile. Typo fixed — the authoritative spec (openspec/changes/mcp-registry-connector/tasks.md) uses tls.caFile.

  2. [logic-error / medium] Issues 23 (SkillBundle RBAC Filtering), 24 (Graduated Visibility Frontend), and 26 (Ingestion Health Admin UI) were placed in Tier 2 ("depends on Tier 1") but their stated dependencies point only to Tier 0 issues. Moved all three to Tier 1, updated header counts (Tier 1: 15→18, Tier 2: 7→4), parallelism note, and dependency graph. Issues 25, 27, 28, 29 remain in Tier 2 (they genuinely depend on Tier 1 issues like [20], [17], [22], [21]).

  3. [stale-reference / medium] workspaces/boost/staged-issues.md (pre-RHDHPLAN-1505 agentic SDLC staging) had 5 references to old @boost/toolscope and @boost/responses-api-toolkit package names. Updated to @red-hat-developer-hub/backstage-plugin-* convention to match all other files.

Not actionable

  1. [scope-coherence / low] Notes the PR bundles a large planning artifact with routine doc updates. Acknowledged — intentional scope.

… reclassification, stale package names

- Fix tls.ca → tls.caFile typo in Issue 13 task 2.2
- Move Issues 23, 24, 26 from Tier 2 to Tier 1 (they depend only
  on Tier 0 issues, not Tier 1). Updates header counts, parallelism
  note, and dependency graph. Tier 1: 15→18, Tier 2: 7→4.
- Update 5 stale @boost/* package names in staged-issues.md to
  @red-hat-developer-hub/backstage-plugin-* convention

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@gabemontero

Copy link
Copy Markdown
Contributor Author

So fullsend's last review is leading to moving some issues up a tier to better align with dependencies @mareklibra ... it has been raising this consistently ... decided to go with it in the next push

@sonarqubecloud

sonarqubecloud Bot commented Aug 3, 2026

Copy link
Copy Markdown

@fullsend-ai-review

fullsend-ai-review Bot commented Aug 3, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 9:30 PM UTC · Completed 9:45 PM UTC
Commit: a051663 · View workflow run →

@fullsend-ai-review fullsend-ai-review Bot added ready-for-merge All reviewers approved — ready to merge and removed requires-manual-review Review requires human judgment labels Aug 3, 2026
@gabemontero

Copy link
Copy Markdown
Contributor Author

ok the latest fullsend review findings are repeats we 've previously dismissed:

Findings
Low
[naming-convention] workspaces/boost/specifications/JIRA-analysis/rhdhplan1505-1-staged-issues.md — File name uses lowercase rhdhplan and omits the hyphen between the prefix and the number (rhdhplan1505), while every other file in this directory uses uppercase RHDHPLAN-NNNN-<suffix>.md (e.g., RHDHPLAN-1507-feasibility-report.md, RHDHPLAN-1513-defer-from-2-1-staging-and-jira-impact.md).
Remediation: Rename to RHDHPLAN-1505-staged-issues.md (or RHDHPLAN-1505-1-staged-issues.md if the -1 segment is intentional) to match the established naming convention.

[naming-convention] workspaces/boost/specifications/JIRA-analysis/cross-feature-frontend-summary.md — File name does not carry the RHDHPLAN-NNNN- prefix used by every other file in this directory. Since the document covers RHDHPLAN-1507, 1508, 1510, and 1513 (all under the RHDHPLAN-1505 umbrella), it stands out as the only file without a Jira key prefix. Consider renaming to RHDHPLAN-1505-cross-feature-frontend-summary.md, though the current name is defensible for a cross-cutting summary.

@gabemontero

Copy link
Copy Markdown
Contributor Author

ok @mareklibra if you are still "LGTM" after updating from you last set of minor comments, plus my latest responses to fullsend review, please do a github review approval so we can merge this

thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation ready-for-merge All reviewers approved — ready to merge workspace/boost Boost workspace (Backstage AI plugin)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants