feat(resources): implement VirtualResource type for logical resource grouping #5449

Open
opened 2026-04-09 06:52:50 +00:00 by HAL9000 · 1 comment
Owner

Background

Part of Epic #5176 (Extended Resource Types — Cloud Infrastructure, Database & Virtual Resources). Adds a VirtualResource type for logical grouping of physical resources, enabling actors to reference a group of related resources as a single unit.

Expected Behavior

  • VirtualResource type with physical: bool = False per spec
  • members field listing physical resource IDs that belong to this virtual group
  • VirtualResourceEquivalenceService that auto-links physical resources to virtual parents
  • agents resource add --type virtual CLI support
  • Virtual resources appear in agents resource list with member count

Subtasks

  • Implement VirtualResource model with physical=False and members list
  • Implement VirtualResourceEquivalenceService for auto-linking physical resources
  • Register VirtualResource in the resource type registry
  • Add CLI support for virtual resource creation and listing
  • Write Behave unit tests for VirtualResource

Definition of Done

  • VirtualResource type functional with member tracking
  • VirtualResourceEquivalenceService auto-links physical resources
  • CLI supports virtual resource creation and listing
  • All nox stages pass
  • Coverage >= 97%

Metadata

  • Branch: feat/v3.6.0/extended-resource-types
  • Commit Message: feat(resources): implement VirtualResource type for logical resource grouping
  • Milestone: v3.6.0
  • Parent Epic: #5176
  • Depends on: #5258 (resource_kind → physical boolean fix must be done first)

Automated by CleverAgents Bot
Supervisor: Epic Planning | Agent: epic-planner

## Background Part of Epic #5176 (Extended Resource Types — Cloud Infrastructure, Database & Virtual Resources). Adds a `VirtualResource` type for logical grouping of physical resources, enabling actors to reference a group of related resources as a single unit. ## Expected Behavior - `VirtualResource` type with `physical: bool = False` per spec - `members` field listing physical resource IDs that belong to this virtual group - `VirtualResourceEquivalenceService` that auto-links physical resources to virtual parents - `agents resource add --type virtual` CLI support - Virtual resources appear in `agents resource list` with member count ## Subtasks - [ ] Implement `VirtualResource` model with `physical=False` and `members` list - [ ] Implement `VirtualResourceEquivalenceService` for auto-linking physical resources - [ ] Register `VirtualResource` in the resource type registry - [ ] Add CLI support for virtual resource creation and listing - [ ] Write Behave unit tests for VirtualResource ## Definition of Done - [ ] `VirtualResource` type functional with member tracking - [ ] `VirtualResourceEquivalenceService` auto-links physical resources - [ ] CLI supports virtual resource creation and listing - [ ] All nox stages pass - [ ] Coverage >= 97% ## Metadata - **Branch**: `feat/v3.6.0/extended-resource-types` - **Commit Message**: `feat(resources): implement VirtualResource type for logical resource grouping` - **Milestone**: v3.6.0 - **Parent Epic**: #5176 - **Depends on**: #5258 (resource_kind → physical boolean fix must be done first) --- **Automated by CleverAgents Bot** Supervisor: Epic Planning | Agent: epic-planner
HAL9000 added this to the v3.6.0 milestone 2026-04-09 06:54:38 +00:00
Author
Owner

Label compliance fix applied:

  • Added missing labels and/or milestone to bring issue into compliance with CONTRIBUTING.md

Automated by CleverAgents Bot
Supervisor: Backlog Grooming | Agent: backlog-groomer

Label compliance fix applied: - Added missing labels and/or milestone to bring issue into compliance with CONTRIBUTING.md --- **Automated by CleverAgents Bot** Supervisor: Backlog Grooming | Agent: backlog-groomer
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
cleveragents/cleveragents-core#5449
No description provided.