Problem
The Hub::Config system uses complex nested attributes with ActiveModel, making it hard to understand and test.
Tasks
- Replace nested attribute classes with simple value objects
- Implement configuration builder pattern
- Extract validation to separate validator classes
- Simplify persistence logic
Acceptance Criteria
Files to modify
lib/hub/config.rb and all files in lib/hub/config/
app/services/configuration_persistence_service.rb
app/services/configuration_update_service.rb
Phase: 2 (Domain)
Priority: High
Problem
The Hub::Config system uses complex nested attributes with ActiveModel, making it hard to understand and test.
Tasks
Acceptance Criteria
app/models/configuration/directory with value objectsFiles to modify
lib/hub/config.rband all files inlib/hub/config/app/services/configuration_persistence_service.rbapp/services/configuration_update_service.rbPhase: 2 (Domain)
Priority: High