"""Create fact_checker
Generated by Phi-Octopus Eden
2025-11-07 16:24:07.064060
"""

```python
from typing import List, Dict


class FactChecker:
    """
    A class for basic fact checking based on predefined rules.
    
    Attributes:
        rules: A dictionary containing rule keys and their corresponding functions.
    """

    def __init__(self):
        self.rules = {
            "is_positive": lambda x: x > 0,
            "is_even": lambda x: x % 2 == 0,
            "contains_vowels": lambda s: any(c in 'aeiouAEIOU' for c in s)
        }

    def check_fact(self, fact: str, rule_key: str) -> bool:
        """
        Check a given fact against the specified rule.
        
        Args:
            fact: The statement or number to be checked as a string.
            rule_key: The key of the rule to apply for checking.
            
        Returns:
            A boolean indicating whether the fact satisfies the rule.
        Raises:
            KeyError: If the provided rule_key does not exist in rules dictionary.
        """
        if rule_key not in self.rules:
            raise KeyError(f"Rule with key {rule_key} is not defined.")
        
        try:
            # Convert to appropriate type for numeric checks
            fact = int(fact) if fact.isdigit() else str(fact)
            return self.rules[rule_key](fact)
        except ValueError:
            # Handle case where fact is a string and rule expects an integer
            return False


def example_usage():
    """
    An example of using the FactChecker class.
    """
    checker = FactChecker()
    
    print(checker.check_fact("5", "is_positive"))  # True
    print(checker.check_fact("-3", "is_even"))   # False
    print(checker.check_fact("hello", "contains_vowels"))  # True


if __name__ == "__main__":
    example_usage()
```