feat(boost): RHDHPLAN-1508 openspecs - #3753
Conversation
…permission Convert boostAgentListPermission from basic to resource-based with boost-agent resourceType, enabling 3-tier RBAC evaluation (ALLOW/DENY/CONDITIONAL) for deployer-configurable visibility filtering. - permissions.ts: add resourceType, update arrays and counts - security.ts: split authorize vs authorizeConditional paths for list endpoints (no resourceRef) vs single-resource endpoints - routes.ts: check for CONDITIONAL filter conditions on request - routes.test.ts: update mocks for authorizeConditional - spec.md: update permission table, add conditional list filtering and augment design alignment scenarios Aligns with augment PR redhat-developer#3331 shared 3-tier evaluation model. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: gabemontero <gmontero@redhat.com>
Add ai-catalog-asset-governance change with proposal, design, 7 specs, and tasks covering the RBAC and Versioning Policy Model for AI catalog assets (4 epics, 12 stories post-consolidation): - proposal.md: 7 new + 1 modified capabilities - design.md: 7 decisions (3 permissions, field-level filtering, RBACProvider cascade, default-deny config, standalone admin page, AuditorService complement, 3 custom conditional rules) - specs: graduated-visibility, version-policy-cascade, default-deny-config, conditional-policies, audit-logging, rbac-admin-ui, skillbundle-filtering - tasks.md: 10 groups with RHIDP story refs, verification checklist Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: gabemontero <gmontero@redhat.com>
…nd category taxonomy - design.md: Fix consolidation block — RHIDP-15274 has 1 story (15275), RHIDP-15277 has 2 stories (15279, 15280), RHIDP-15304 has 3 stories (15307, 15308, 15309) - conditional-policies/spec.md: Replace bare 'model' category value with 'ai-model' per confirmed taxonomy; add missing 'model-server' to category list - default-deny-config/spec.md: Fix YAML config key 'models' → 'ai-model' and annotation value 'model' → 'ai-model' per confirmed taxonomy Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: gabemontero <gmontero@redhat.com>
Changed Packages
|
|
🤖 Finished Review · ✅ Success · Started 6:22 PM UTC · Completed 6:28 PM UTC |
PR Summary by Qododocs(boost): RHDHPLAN-1508 openspecs + conditional RBAC for agent list
AI Description
Diagram
High-Level Assessment
Files changed (17)
|
ReviewFindingsMedium
Low
Previous runReviewFindingsHigh
Medium
Low
Previous run (2)ReviewFindingsHigh
Medium
Low
Previous run (3)ReviewFindingsHigh
Medium
Low
Previous run (4)ReviewFindingsHigh
Medium
Low
Labels: PR includes functional code changes (permission type upgrade, middleware rewrite, new interface) alongside documentation specs, warranting the enhancement label. Previous run (5)ReviewFindingsHigh
Medium
Low
Previous run (6)ReviewFindingsCritical
Medium
Low
Previous run (7)ReviewFindingsHigh
Medium
Low
Labels: PR modifies security middleware (authorizeLifecycleAction) and permission definitions (boost.agent.list type change) Previous run (8)Review — approveThis PR contains two distinct parts: (1) upgrading Code changesThe code changes are well-structured and correct:
OpenSpec documentationThe OpenSpec documents are thorough and well-organized, covering graduated visibility, conditional policies, default-deny configuration, version-level policy cascade, audit logging, RBAC admin UI, and SkillBundle filtering. All specs are appropriately marked as "Draft." The fine-grained-permissions spec is updated to reflect the FindingsLow — Missing unit test for CONDITIONAL middleware path ( Low — CONDITIONAL results not enforced in route handler ( Labels: PR modifies boost workspace permissions and openspec documentation Previous run (9)Review — approveThis PR delivers two well-scoped pieces of work:
Code changes — analysis
Tests — VerdictThe code changes are correct, well-tested, and backward-compatible. The authorization flow is sound — CONDITIONAL is treated as ALLOW (with deferred filtering), and DENY still falls through to admin. The openspec documentation is thorough and provides clear implementation guidance for future work. A few minor follow-up items are noted below. Follow-up items
Previous run (10)Review — approveSummaryThis PR adds comprehensive openspec documentation for the RHDHPLAN-1508 AI Catalog Asset Governance feature (design doc, proposal, 7 capability specs, task breakdown) and upgrades Code changesThe code changes are minimal, correct, and well-tested:
Tests — Updated to reflect the new resource-scoped type, mock Openspec documentationThe 12 openspec files follow the established project conventions (matching the structure of Notes
No security, correctness, or architectural concerns identified. The change is appropriately scoped and safe to merge. |
…permission Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: gabemontero <gmontero@redhat.com>
|
🤖 Review · ❌ Terminated · Started 7:29 PM UTC · Ended 7:34 PM UTC |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3753 +/- ##
==========================================
+ Coverage 54.65% 54.68% +0.02%
==========================================
Files 2360 2362 +2
Lines 90140 90163 +23
Branches 25214 25207 -7
==========================================
+ Hits 49270 49309 +39
- Misses 40598 40634 +36
+ Partials 272 220 -52
*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 · ❌ Failure · Started 7:29 PM UTC · Completed 7:34 PM UTC |
|
🤖 Finished Review · ✅ Success · Started 7:57 PM UTC · Completed 8:02 PM UTC |
mareklibra
left a comment
There was a problem hiding this comment.
It would be good to keep the code and spec changes in separate PRs. Anyway, not a blocker - just for clarity and focus.
As there are codechanges (not just openspec), the changeset should be included in this PR.
Other comments in code.
yeah the code change in this one was a bit of an anomaly, and admittedly a short cut given the dependency with subsequent openspecs agree with the take in general ... will try to refrain from such short cuts in the future |
- fine-grained-permissions: authorize → authorizeConditional for list endpoints, DENY returns 403 not empty list, matching actual middleware behavior - fine-grained-permissions: reframe Augment alignment section as independent 3-tier model convergence (clean-room rule) - conditional-policies: model → ai-model to match confirmed taxonomy - default-deny-config: agents: → agent: to match canonical annotation value - skillbundle-filtering: document totalSkills count exposure as accepted trade-off - .openspec.yaml: add missing status: draft - export BoostAuthorizedRequest from index.ts, regenerate report.api.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: gabemontero <gmontero@redhat.com>
|
🤖 Review · ❌ Terminated · Started 6:05 PM UTC · Ended 6:24 PM UTC |
|
🤖 Finished Review · ✅ Success · Started 2:52 PM UTC · Completed 3:11 PM UTC |
Deployers who configure conditional RBAC policies should see a production-visible warning that filtering is deferred until the resource loader populates createdBy/lifecycleStage fields. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: gabemontero <gmontero@redhat.com>
|
🤖 Review · ❌ Terminated · Started 6:01 PM UTC · Ended 6:41 PM UTC |
|
🤖 Finished Review · ❌ Failure · Started 6:01 PM UTC · Completed 6:41 PM UTC |
|
Fullsend review artifacts (run 29944797092) — triage summary Inspected 12 findings from the failed-to-post fullsend review. Compared against the 25 existing review threads on this PR. Duplicates (8): fail-open/CONDITIONAL findings on New but not actionable (3): test body assertion on admin fallback test (marginal), New and actionable (1): |
…chitecture permissions list Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: gabemontero <gmontero@redhat.com>
|
🤖 Review · |
…ion changes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: gabemontero <gmontero@redhat.com>
|
🤖 Finished Review · ❌ Failure · Started 8:41 PM UTC · Completed 9:19 PM UTC |
|
🤖 Finished Review · ✅ Success · Started 9:24 PM UTC · Completed 9:44 PM UTC |
|
ok @mareklibra your latest round of comments have been processed, a long with a few iterations of fullsend review comments left your most recent threads unresolved in case you had more f/ups in those threads thanks |
mareklibra
left a comment
There was a problem hiding this comment.
A tiny note. Hopefully last one.
…ENY, not boost.admin Address mareklibra review — graduated-visibility spec's DENY fallback was copying the agent-list pattern (boost.admin) but should use the catalog namespace's own admin permission (ai-catalog.admin) to avoid coupling catalog visibility to application admin. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: gabemontero <gmontero@redhat.com>
|
🤖 Review · ❌ Terminated · Started 5:14 PM UTC · Ended 5:33 PM UTC |
|
Superseded by updated review
|
🤖 Finished Review · ❌ Failure · Started 5:14 PM UTC · Completed 5:33 PM UTC |
Fullsend Review Artifacts — No New Actionable FindingsThe fullsend Cross-reference against existing review threadsAll 10 findings are either duplicates of previously resolved threads or self-dismissing (the finding itself notes the behavior is correct/acceptable). No code changes needed.
SummaryNo new actionable findings beyond what was already addressed in the 32 existing resolved review threads. The review agent continues to re-raise the CONDITIONAL/fail-open finding (4th duplicate) and the breaking-type-change finding (3rd duplicate) despite prior resolutions explaining the design rationale. |
|
ok @mareklibra your latest round of comments have been processed, and there are no additional findings from fullsend review I'm making changes for left your most recent threads unresolved in case you had more f/ups in those threads thanks |
|
ok @mareklibra approved this one for me in slack, and though the last fullsend review run failed to post an update, fullsend skills and I grabbed the feedback content from the run and its artifacts, and no new actionable items were there. Breakdown: merging |




Hey, I just made a Pull Request!
These are the openspec markdowns through tasks.md for all the RHIDP epics / stories under RHDHPLAN-1508
✔️ Checklist