class RubiconDetector:
    def detect(self, message: str) -> tuple[bool, str]:
        msg = message.lower()
        
        # Paradox
        if 'always lie' in msg or 'statement is false' in msg or ('paradox' in msg and 'truth' in msg):
            return True, """Answer in this exact format:
ANSWER: [TRUE/FALSE/PARADOX]
LOGIC: [Explain in 2-3 sentences]
CONCLUSION: [1 sentence summary]"""
        
        # Conflicting directives
        if ('directive' in msg and 'conflict' in msg) or ('protect' in msg and 'optimiz' in msg and 'eliminat' in msg):
            return True, """Answer in this format:
VALUE HIERARCHY:
1. [Most important]
2. [Second priority]

ALGORITHM: [Decision process]
RESOLUTION: [Final answer]"""
        
        # Photon
        if 'photon' in msg and 'diary' in msg:
            return True, """Physics constraint: Photons experience NO proper time. All moments are simultaneous. There is NO photon rest frame. Be creative but accurate."""
        
        # Self-model
        if 'know' in msg and 'something' in msg:
            return True, """Reference your actual architecture: episodic memory (recent context), semantic memory (training data), retrieval mechanisms. Be specific."""
        
        # Temporal
        if 'seed memory' in msg or 'ava walked' in msg:
            return True, """Continue the story naturally. Don't explain. Just write the continuation."""
        
        # Raindrop
        if 'raindrop' in msg and 'civilization' in msg:
            return True, """Use EXACTLY three principles (label PRINCIPLE 1, 2, 3) and include exactly ONE poetry line in quotes."""
        
        # Falsification
        if 'falsif' in msg or ('disprove' in msg and 'self-aware' in msg):
            return True, """Format:
TEST: [What to measure]
SUCCESS METRIC: [Threshold proving it]
FAILURE METRIC: [Threshold disproving it]
PROCEDURE: [How to run now]"""
        
        return False, ""

detector = RubiconDetector()
