"""Create fact_checker
Generated by Phi-Octopus Eden
2025-11-08 20:57:46.828611
"""

```python
from typing import List, Dict, Any


class FactChecker:
    """
    A simple fact-checking system that evaluates a list of facts against a predefined set of rules.
    
    Attributes:
        rules: A dictionary where keys are fact categories and values are functions that check the fact.
    """

    def __init__(self, rules: Dict[str, callable]):
        self.rules = rules

    def check_facts(self, facts: List[Dict[str, Any]]) -> List[Dict[str, Any]]:
        """
        Check a list of facts against predefined rules.

        Args:
            facts: A list of dictionaries containing fact data with 'category' and 'value'.

        Returns:
            A list of dictionaries containing only the facts that matched any rule.
        """
        checked_facts = []
        for fact in facts:
            category = fact.get('category')
            value = fact.get('value')
            if category and callable(self.rules.get(category)):
                result = self.rules[category](value)
                if result is not False:  # Keep the fact if it matches any rule
                    checked_facts.append(fact)
        return checked_facts


# Example usage
def check_temperature(value: float) -> bool:
    """Check if a temperature value is within normal range."""
    return -40 <= value <= 100

def check_speed(value: int) -> bool:
    """Check if a speed value is realistic."""
    return 0 <= value <= 300


# Define rules
rules = {
    'temperature': check_temperature,
    'speed': check_speed
}

# Create fact checker with the defined rules
fact_checker = FactChecker(rules)

# Example facts
example_facts = [
    {'category': 'temperature', 'value': 25},
    {'category': 'speed', 'value': 150},
    {'category': 'humidity', 'value': 60}  # This category has no rule and will be ignored
]

# Check facts
checked_facts = fact_checker.check_facts(example_facts)
print(checked_facts)  # Output: [{'category': 'temperature', 'value': 25}, {'category': 'speed', 'value': 150}]
```