"""Create recovery_planner
Generated by Phi-Octopus Eden
2025-11-07 14:58:49.250844
"""

```python
from typing import Any, Dict


class RecoveryPlanner:
    """
    A class for managing limited error recovery in a system.
    
    Attributes:
        errors: A dictionary to store information about encountered errors and their recoveries.
    """

    def __init__(self):
        self.errors = {}

    def log_error(self, error_id: str, error_message: str) -> None:
        """
        Logs an error with its message into the recovery planner.

        Args:
            error_id: A unique identifier for the error.
            error_message: The detailed description of the error.
        """
        self.errors[error_id] = {"message": error_message}

    def plan_recovery(self, error_id: str) -> Dict[str, Any]:
        """
        Plans a recovery action based on the logged error.

        Args:
            error_id: A unique identifier for the error to be recovered from.

        Returns:
            A dictionary detailing the steps or actions needed to recover.
        """
        if error_id not in self.errors:
            raise KeyError(f"Error with ID {error_id} not found.")
        
        recovery_plan = {"id": error_id, "status": "planned"}
        # Simulate recovery plan generation
        steps = ["Check the input data", "Restart affected services"]
        recovery_plan["steps"] = steps

        return recovery_plan

    def execute_recovery(self, recovery_plan: Dict[str, Any]) -> None:
        """
        Executes the recovery plan for an error.

        Args:
            recovery_plan: A dictionary containing the steps to recover from the error.
        """
        print(f"Executing recovery plan for error ID {recovery_plan['id']}:")
        for step in recovery_plan["steps"]:
            print(step)
        print("Recovery complete.")

def example_usage() -> None:
    """
    Demonstrates how to use the RecoveryPlanner class.
    """
    planner = RecoveryPlanner()
    
    # Log some errors
    planner.log_error("001", "Input data validation failed")
    planner.log_error("002", "Service timeout error occurred")

    # Plan and execute recovery for an error
    print("\nPlanning and executing recovery...\n")
    plan = planner.plan_recovery("001")
    planner.execute_recovery(plan)

if __name__ == "__main__":
    example_usage()
```

This code defines a `RecoveryPlanner` class that can log errors, plan recoveries for those errors, and execute the recovery plans. The `example_usage` function demonstrates how to use this class.