"""Create reasoning_engine
Generated by Phi-Octopus Eden
2025-11-07 10:11:12.865558
"""

```python
from typing import List, Tuple

class ReasoningEngine:
    """
    A simple reasoning engine that processes a list of rules and data to derive conclusions.
    
    Each rule is a tuple (condition, action) where condition is a lambda function and 
    action is the operation to perform when the condition is met.
    
    Attributes:
        rules: List[Tuple[lambda, str]] - A list of tuples containing conditions and actions.
    """
    def __init__(self):
        self.rules = []

    def add_rule(self, condition: callable, action: str) -> None:
        """Add a rule to the reasoning engine."""
        self.rules.append((condition, action))

    def process_data(self, data: List[dict]) -> List[Tuple[dict, str]]:
        """
        Process the provided data with the current rules and return conclusions.
        
        Args:
            data: List[dict] - A list of dictionaries containing the data to be processed.

        Returns:
            List[Tuple[dict, str]] - Each tuple contains the original dictionary and the action string if a rule matches.
        """
        results = []
        for entry in data:
            for condition, action in self.rules:
                if condition(entry):
                    results.append((entry, action))
                    break
        return results

# Example usage:

def is_even(value: int) -> bool:
    """Check if the value is even."""
    return value % 2 == 0

def process_even_number(data_entry: dict) -> str:
    """Return a message when an even number is found."""
    return f"Even number detected in {data_entry}"

# Create reasoning engine instance
reasoning_engine = ReasoningEngine()

# Add rules
reasoning_engine.add_rule(condition=is_even, action=process_even_number)

# Sample data to process
sample_data = [
    {"number": 2},
    {"number": 3},
    {"number": 4}
]

# Process the data and print results
conclusions = reasoning_engine.process_data(data=sample_data)
for entry, conclusion in conclusions:
    print(entry, conclusion)

```