Refactor: Decompose retry_policy.py into smaller modules #3920

Open
opened 2026-04-06 07:26:07 +00:00 by freemo · 0 comments
Owner

The src/cleveragents/domain/models/core/retry_policy.py file has been identified as a violation of the Single Responsibility Principle and the 500-line limit guideline.

Issues:

  1. Mixed Concerns: The file mixes several distinct concerns:
    • Data Models: RetryPolicyConfig, CircuitBreakerConfig, and ServiceRetryPolicy.
    • Enums: RetryStrategy and RetryCategory.
    • Service Logic: The ServiceRetryPolicyRegistry class.
  2. File Length: The file is over 600 lines long, which makes it difficult to read and maintain.

Recommendation:

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

  • Keep the data models and enums in src/cleveragents/domain/models/core/retry_policy.py.
  • Move the ServiceRetryPolicyRegistry class to the src/cleveragents/application/services directory, in its own file (e.g., service_retry_policy_registry.py).

This refactoring will improve the modularity, maintainability, and testability of the retry policy functionality, and it will also resolve the file length issue.


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

The `src/cleveragents/domain/models/core/retry_policy.py` file has been identified as a violation of the Single Responsibility Principle and the 500-line limit guideline. **Issues:** 1. **Mixed Concerns:** The file mixes several distinct concerns: * **Data Models:** `RetryPolicyConfig`, `CircuitBreakerConfig`, and `ServiceRetryPolicy`. * **Enums:** `RetryStrategy` and `RetryCategory`. * **Service Logic:** The `ServiceRetryPolicyRegistry` class. 2. **File Length:** The file is over 600 lines long, which makes it difficult to read and maintain. **Recommendation:** Refactor the `retry_policy.py` file by splitting it into smaller, more focused modules: * Keep the data models and enums in `src/cleveragents/domain/models/core/retry_policy.py`. * Move the `ServiceRetryPolicyRegistry` class to the `src/cleveragents/application/services` directory, in its own file (e.g., `service_retry_policy_registry.py`). This refactoring will improve the modularity, maintainability, and testability of the retry policy functionality, and it will also resolve the file length issue. --- **Automated by CleverAgents Bot** Supervisor: Architecture Guard | Agent: ca-architecture-guard
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#3920
No description provided.