"""Create reasoning_engine
Generated by Phi-Octopus Eden
2025-11-07 17:46:28.037085
"""

```python
class ReasoningEngine:
    """
    A basic reasoning engine capable of evaluating simple logical expressions and making decisions based on conditions.
    
    Attributes:
        knowledge_base (dict): Stores key-value pairs representing facts or rules.
        
    Methods:
        __init__(self, knowledge_base: dict): Initializes the reasoning engine with a given knowledge base.
        evaluate(self, expression: str) -> bool: Evaluates a logical expression using the current knowledge base.
        make_decision(self, condition: str, action_if_true: callable, action_if_false: callable) -> None: 
            Makes a decision based on evaluating a condition and executing corresponding actions.
    """
    
    def __init__(self, knowledge_base: dict):
        self.knowledge_base = knowledge_base

    def evaluate(self, expression: str) -> bool:
        try:
            return eval(expression, {}, self.knowledge_base)
        except NameError as e:
            print(f"Invalid variable in the expression: {e}")
            return False
        except SyntaxError as e:
            print(f"Invalid syntax in the expression: {e}")
            return False

    def make_decision(self, condition: str, action_if_true: callable, action_if_false: callable) -> None:
        result = self.evaluate(condition)
        if result:
            action_if_true()
        else:
            action_if_false()

# Example usage
if __name__ == "__main__":
    knowledge_base = {"temperature": 30, "humidity": 50}
    
    engine = ReasoningEngine(knowledge_base)
    
    # Define conditions and actions
    def water_plants():
        print("Watering the plants...")

    def do_nothing():
        print("No action needed.")
        
    condition1 = 'temperature > 25 and humidity < 60'
    condition2 = 'temperature <= 25 or humidity >= 60'
    
    # Make decisions based on conditions
    engine.make_decision(condition1, water_plants, do_nothing)
    engine.make_decision(condition2, water_plants, do_nothing)

```

This code snippet defines a `ReasoningEngine` class capable of evaluating simple logical expressions and making decisions based on the results. The example usage demonstrates how to use this class in a scenario where a decision is made about watering plants under certain conditions.