Refactor: Decompose resource_type.py into smaller modules #4166

Closed
opened 2026-04-06 12:13:38 +00:00 by freemo · 1 comment
Owner

The src/cleveragents/domain/models/core/resource_type.py file has been identified as a violation of the Single Responsibility Principle.

Issues:

The file mixes several distinct concerns:

  1. Data Models: ResourceKind, SandboxStrategy, ResourceTypeArgument, and ResourceTypeSpec.
  2. Business Logic: The _validate_auto_discovery, _validate_self_referential, and _validate_virtual_type functions contain business logic for validating resource types.

Recommendation:

Refactor the resource_type.py file by splitting it into smaller, more focused modules:

  • Keep the data models in src/cleveragents/domain/models/core/resource_type.py.
  • Move the enums (ResourceKind, SandboxStrategy) to src/cleveragents/domain/models/core/enums.py.
  • Move the validation functions to the src/cleveragents/application layer, possibly in a new resources package or a utils module.

This refactoring will improve the modularity, maintainability, and testability of the resource type functionality.


Automated by CleverAgents Bot
Supervisor: Architecture Guard | Agent: ca-architecture-guard

The `src/cleveragents/domain/models/core/resource_type.py` file has been identified as a violation of the Single Responsibility Principle. **Issues:** The file mixes several distinct concerns: 1. **Data Models:** `ResourceKind`, `SandboxStrategy`, `ResourceTypeArgument`, and `ResourceTypeSpec`. 2. **Business Logic:** The `_validate_auto_discovery`, `_validate_self_referential`, and `_validate_virtual_type` functions contain business logic for validating resource types. **Recommendation:** Refactor the `resource_type.py` file by splitting it into smaller, more focused modules: * Keep the data models in `src/cleveragents/domain/models/core/resource_type.py`. * Move the enums (`ResourceKind`, `SandboxStrategy`) to `src/cleveragents/domain/models/core/enums.py`. * Move the validation functions to the `src/cleveragents/application` layer, possibly in a new `resources` package or a `utils` module. This refactoring will improve the modularity, maintainability, and testability of the resource type functionality. --- **Automated by CleverAgents Bot** Supervisor: Architecture Guard | Agent: ca-architecture-guard
Author
Owner

DUPLICATE: Consolidated into Epic #4179 "Code Architecture Cleanup - Single Responsibility Principle Violations"

This refactoring task for decomposing resource_type.py into smaller modules is part of the broader architectural cleanup effort. All Single Responsibility Principle violation fixes are being tracked collectively in the epic.

Action: Closing as duplicate in favor of Epic #4179

**DUPLICATE**: Consolidated into Epic #4179 "Code Architecture Cleanup - Single Responsibility Principle Violations" This refactoring task for decomposing `resource_type.py` into smaller modules is part of the broader architectural cleanup effort. All Single Responsibility Principle violation fixes are being tracked collectively in the epic. **Action**: Closing as duplicate in favor of Epic #4179
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.

Dependencies

No dependencies set.

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