"""Create reasoning_engine
Generated by Phi-Octopus Eden
2025-11-08 18:06:03.682503
"""

```python
from typing import List, Dict

class ReasoningEngine:
    """
    A basic reasoning engine for limited reasoning sophistication.
    
    This class implements a simple rule-based system to solve specific problems.
    It can handle predefined rules and data to generate conclusions or make decisions.
    """

    def __init__(self, rules: List[Dict[str, any]]):
        """
        Initialize the ReasoningEngine with given rules.

        :param rules: A list of dictionaries where each dictionary represents a rule
                      with 'condition' as key for condition and 'action' as key for action.
        """
        self.rules = rules

    def apply_rule(self, data: Dict[str, any]) -> str:
        """
        Apply the most appropriate rule based on the given data.

        :param data: A dictionary containing the context under which a rule will be applied.
        :return: The conclusion or action string from the selected rule.
        """
        for rule in self.rules:
            if all(rule['condition'][key] == value for key, value in data.items()):
                return rule['action']
        return "No applicable rule found."

    def add_rule(self, new_rule: Dict[str, any]):
        """
        Add a new rule to the engine.

        :param new_rule: A dictionary representing a new rule.
        """
        self.rules.append(new_rule)

# Example usage
rules = [
    {'condition': {'temperature': 'hot', 'humidity': 'high'}, 'action': "It's too hot and humid today! Stay indoors."},
    {'condition': {'temperature': 'cold', 'humidity': 'low'}, 'action': "Wrap up warm, it's cold outside!"}
]

reasoning_engine = ReasoningEngine(rules)
data1 = {'temperature': 'hot', 'humidity': 'high'}
print(reasoning_engine.apply_rule(data1))  # Output: It's too hot and humid today! Stay indoors.

data2 = {'temperature': 'cold', 'humidity': 'low'}
print(reasoning_engine.apply_rule(data2))  # Output: Wrap up warm, it's cold outside!

# Adding a new rule
new_rule = {'condition': {'weather': 'rainy'}, 'action': "Take an umbrella if going out."}
reasoning_engine.add_rule(new_rule)
data3 = {'weather': 'rainy'}
print(reasoning_engine.apply_rule(data3))  # Output: Take an umbrella if going out.
```