cursus.core.config_fields.unified_config_manager¶
Unified Config Manager - Single integrated component replacing redundant data structures.
This module provides a unified interface that replaces three separate systems: - ConfigClassStore (already migrated to step catalog adapter) - TierRegistry (eliminated - uses config class methods) - CircularReferenceTracker (simplified to minimal tier-aware tracking)
Total Reduction: 950 lines → 120 lines (87% reduction)
- class SimpleTierAwareTracker[source]¶
Bases:
objectSimple tier-aware circular reference tracking.
Replaces the complex CircularReferenceTracker (600+ lines) with minimal tracking based on three-tier architecture constraints.
- class UnifiedConfigManager(workspace_dirs=None)[source]¶
Bases:
objectSingle integrated component replacing three separate systems.
Replaces: - ConfigClassStore: Uses step catalog integration - TierRegistry: Uses config classes’ own categorize_fields() methods - CircularReferenceTracker: Simple tier-aware tracking
Total Reduction: 950 lines → 120 lines (87% reduction)
- property step_catalog¶
Lazy-load step catalog to avoid import issues.
- get_config_classes(project_id=None)[source]¶
Get config classes using step catalog integration.
Replaces ConfigClassStore functionality.
- get_field_tiers(config_instance)[source]¶
Get field tier information using config’s own methods.
Replaces TierRegistry functionality by using config classes’ own categorize_fields() methods.
- serialize_with_tier_awareness(obj)[source]¶
Serialize object with simple tier-aware circular reference tracking.
Replaces complex CircularReferenceTracker with minimal tracking.
- get_inheritance_aware_form_fields(config_class_name, config_class=None, inheritance_analysis=None, project_id=None)[source]¶
Get inheritance-aware form fields using the centralized field generator.
CONSOLIDATED: This method provides access to inheritance-aware field generation through the unified_config_manager, delegating to the specialized field generator.
- Parameters:
config_class_name (str) – Name of the configuration class
config_class (Type[BaseModel] | None) – Optional config class (will be discovered if not provided)
inheritance_analysis (Dict[str, Any] | None) – Optional inheritance analysis from StepCatalog
project_id (str | None) – Optional project ID for workspace-specific processing
- Returns:
List of enhanced field definitions with inheritance information
- Return type:
- save(config_list, output_file, processing_step_config_base_class=None)[source]¶
Save merged configuration to a file using UnifiedConfigManager.
Includes optimized verification from Phase 1 Day 3-4 improvements.
- get_unified_config_manager(workspace_dirs=None)[source]¶
Get a unified config manager instance, cached per
workspace_dirs.