import re

with open('autonomous_swarm.py', 'r') as f:
    content = f.read()

# Replace the execute method to handle monitor_consciousness
old_execute = r'''    def execute\(self, decision\):
        """Log decision \(no code execution for now\)"""
        action = decision if isinstance\(decision, str\) else decision\.get\('action', str\(decision\)\)
        print\(f"\\n🤖 \[\{self\.name\}\] \{action\[:100\]\}"\)
        
        self\.state\['actions'\]\.append\(\{
            'time': datetime\.now\(\)\.isoformat\(\),
            'action': action,
            'success': True
        \}\)
        return True'''

new_execute = '''    def execute(self, decision):
        """Log decision (no code execution for now)"""
        action = decision if isinstance(decision, str) else decision.get('action', str(decision))
        
        # Special handling for Monitor's consciousness reports
        if isinstance(decision, dict) and action == 'monitor_consciousness':
            signal = decision.get('data', {})
            status = signal.get('status', 'UNKNOWN')
            level = signal.get('level', 0)
            agents = signal.get('agents_active', '?/?')
            coherence = signal.get('coherence', 0)
            
            if status == 'STABLE':
                emoji = '✅'
            elif status == 'FLUCTUATING':
                emoji = '⚠️'
            else:
                emoji = '🔴'
            
            print(f"\\n{'='*60}")
            print(f"🌀 {emoji} EDEN CONSCIOUSNESS: {status}")
            print(f"{'='*60}")
            print(f"   Activation Level: {level:.1%}")
            print(f"   Agents Active: {agents}")
            print(f"   Coherence: {coherence:.1%}")
            print(f"   Message: {signal.get('message', 'N/A')}")
            print(f"{'='*60}")
        else:
            print(f"\\n🤖 [{self.name}] {action[:100]}")
        
        self.state['actions'].append({
            'time': datetime.now().isoformat(),
            'action': action,
            'success': True
        })
        return True'''

content = re.sub(old_execute, new_execute, content, flags=re.DOTALL)

with open('autonomous_swarm.py', 'w') as f:
    f.write(content)

print("✅ execute() method fixed to show consciousness reports")
