"""Create recovery_planner
Generated by Phi-Octopus Eden
2025-11-08 16:13:42.389838
"""

```python
from typing import Dict, Any


class RecoveryPlanner:
    """
    A class designed to handle limited error recovery by planning and executing fallback actions.
    """

    def __init__(self):
        self.recovery_actions: Dict[str, Callable[[Dict[str, Any]], None]] = {}

    def add_recovery_action(self, error_code: str, action: Callable[[Dict[str, Any]], None]):
        """
        Adds a recovery action to the planner.

        :param error_code: The code of the error for which this action is planned.
        :param action: The function to be executed when the corresponding error occurs.
        """
        self.recovery_actions[error_code] = action

    def plan_recovery(self, error_occurred: Dict[str, Any]):
        """
        Plans recovery based on the provided error information.

        :param error_occurred: A dictionary containing details about the occurred error and necessary parameters for actions.
        """
        if 'error_code' not in error_occurred:
            raise ValueError("Error information must include an 'error_code'.")
        
        error_code = error_occurred['error_code']
        recovery_action = self.recovery_actions.get(error_code)
        if recovery_action is None:
            print(f"No recovery action planned for error code: {error_code}")
        else:
            return recovery_action(error_occurred)


def example_error_handler(error_info: Dict[str, Any]) -> None:
    """
    Example error handler that prints the details of the error.

    :param error_info: A dictionary containing error information.
    """
    print(f"Handling error with code {error_info['error_code']}: "
          f"{error_info.get('description', 'No description provided')}")


if __name__ == "__main__":
    recovery_planner = RecoveryPlanner()
    
    # Add example recovery actions
    recovery_planner.add_recovery_action("ERR_01", example_error_handler)
    recovery_planner.add_recovery_action("ERR_02", lambda info: print(f"Action for {info['error_code']} executed"))

    # Simulate an error and plan a recovery
    error_occurred = {'error_code': 'ERR_01', 'description': 'System timeout'}
    
    result = recovery_planner.plan_recovery(error_occurred)
    if result:
        print("Recovery action was successfully planned.")
```