"""Create recovery_planner
Generated by Phi-Octopus Eden
2025-11-06 16:42:35.713865
"""

```python
from typing import List, Dict


class RecoveryPlanner:
    """
    A class for creating a limited error recovery planner.

    This class is designed to handle errors in a sequence of operations.
    It allows adding steps and checking if an operation can be recovered,
    given the current state and recent successful steps.

    Attributes:
        history: List of steps that were executed successfully.
        step_limit: Maximum number of steps allowed before recovery check.
    """

    def __init__(self, step_limit: int = 30):
        self.history: List[str] = []
        self.step_limit: int = step_limit

    def add_step(self, step_name: str) -> None:
        """
        Adds a new step to the history.

        Args:
            step_name (str): The name of the step being added.
        """
        if len(self.history) >= self.step_limit:
            raise Exception("Step limit reached. Cannot add more steps.")
        self.history.append(step_name)

    def can_recover(self, current_step: str) -> bool:
        """
        Checks if an operation can be recovered given the history.

        Args:
            current_step (str): The name of the step that needs recovery.

        Returns:
            bool: True if recovery is possible, False otherwise.
        """
        return len(set(self.history).difference([current_step])) >= self.step_limit / 2

    def example_usage(self):
        planner = RecoveryPlanner(step_limit=5)
        for i in range(10):
            try:
                planner.add_step(f"Step_{i}")
                print(f"Added step: Step_{i} - Recovery possible: {planner.can_recover(f'Step_{i}')}")
            except Exception as e:
                print(e)


# Example usage
if __name__ == "__main__":
    planner = RecoveryPlanner()
    for i in range(35):
        try:
            planner.add_step(f"Step_{i}")
            if i >= 10 and not planner.can_recover(f'Step_{i}'):
                print("Recovery needed after step: Step_10")
        except Exception as e:
            print(e)
    planner.example_usage()
```

This Python code defines a `RecoveryPlanner` class that simulates a limited error recovery system. It adds steps to a history and checks if recovery is possible based on the number of unique steps in recent history. An example usage function demonstrates how to use this class.