Aethero_github / aethero_asl_generator.py
xvadur's picture
Migrated Aethero Orchestra to unified repo
2913244
#!/usr/bin/env python3
"""
Aethero ASL Cognitive Tag Generator
Generovanie ASL cognitive tagov na základe development aktivít pre audit systém
"""
import json
import sys
import os
from datetime import datetime, timedelta
from typing import List, Dict, Any, Optional
from dataclasses import dataclass
import random
import uuid
# Import existujúcich Aethero komponentov
sys.path.append('/Users/_xvadur/Desktop/Aethero_github/Aethero_App')
from introspective_parser_module.models import (
ASLCognitiveTag, MentalStateEnum, EmotionToneEnum,
TemporalContextEnum, AetheroIntrospectiveEntity
)
from introspective_parser_module.metrics import CognitiveMetricsAnalyzer
class DevelopmentActivityAnalyzer:
"""
Analyzátor development aktivít pre generovanie ASL cognitive tagov
"""
def __init__(self):
self.cognitive_analyzer = CognitiveMetricsAnalyzer()
# Mapping development patterns na cognitive states
self.activity_cognitive_mapping = {
# Git commit patterns
'bug_fix': {
'mental_state': MentalStateEnum.FOCUSED,
'emotion_tone': EmotionToneEnum.ANALYTICAL,
'cognitive_load_range': (6, 9),
'certainty_range': (0.3, 0.6)
},
'feature_development': {
'mental_state': MentalStateEnum.CONTEMPLATIVE,
'emotion_tone': EmotionToneEnum.POSITIVE,
'cognitive_load_range': (4, 7),
'certainty_range': (0.6, 0.9)
},
'refactoring': {
'mental_state': MentalStateEnum.REFLECTIVE,
'emotion_tone': EmotionToneEnum.ANALYTICAL,
'cognitive_load_range': (5, 8),
'certainty_range': (0.7, 0.9)
},
'testing': {
'mental_state': MentalStateEnum.DECISIVE,
'emotion_tone': EmotionToneEnum.CRITICAL,
'cognitive_load_range': (3, 6),
'certainty_range': (0.8, 1.0)
},
# Shell command patterns
'complex_scripting': {
'mental_state': MentalStateEnum.FOCUSED,
'emotion_tone': EmotionToneEnum.ANALYTICAL,
'cognitive_load_range': (7, 10),
'certainty_range': (0.4, 0.7)
},
'routine_commands': {
'mental_state': MentalStateEnum.CALM,
'emotion_tone': EmotionToneEnum.NEUTRAL,
'cognitive_load_range': (2, 4),
'certainty_range': (0.8, 1.0)
},
'debugging_investigation': {
'mental_state': MentalStateEnum.CONFUSED,
'emotion_tone': EmotionToneEnum.CRITICAL,
'cognitive_load_range': (8, 10),
'certainty_range': (0.1, 0.4)
}
}
# Slovak healthcare developer specific patterns
self.healthcare_dev_contexts = {
'medical_break_context': {
'mental_state': MentalStateEnum.REFLECTIVE,
'emotion_tone': EmotionToneEnum.EMPATHETIC,
'thought_stream_templates': [
"Premýšľam o integrácii zdravotníckych systémov počas prestávky",
"Analyzujem optimalizácie pre healthtech riešenie",
"Uvažujem o bezpečnosti pacientskych dát v novom module"
]
},
'evening_development': {
'mental_state': MentalStateEnum.CONTEMPLATIVE,
'emotion_tone': EmotionToneEnum.POSITIVE,
'thought_stream_templates': [
"Večerný development - vyššia koncentrácia po medicínskej zmene",
"Implementujem funkcionalitu pre zdravotníckych pracovníkov",
"Optimalizujem workflow pre slovenskú zdravotnícku prax"
]
},
'weekend_coding': {
'mental_state': MentalStateEnum.FOCUSED,
'emotion_tone': EmotionToneEnum.ANALYTICAL,
'thought_stream_templates': [
"Víkendový deep work na komplexnom healthcare module",
"Refaktoring healthcare API pre lepšiu integráciu",
"Implementácia AI asistenta pre slovenskú medicínu"
]
}
}
def analyze_commit_cognitive_pattern(self, commit: Dict[str, Any]) -> str:
"""Analýza commit-u pre určenie cognitive pattern"""
subject = commit.get('subject', '').lower()
# Bug fixes
if any(keyword in subject for keyword in ['fix', 'bug', 'error', 'issue']):
return 'bug_fix'
# Feature development
if any(keyword in subject for keyword in ['feat', 'feature', 'add', 'implement', 'create']):
return 'feature_development'
# Refactoring
if any(keyword in subject for keyword in ['refactor', 'clean', 'optimize', 'improve']):
return 'refactoring'
# Testing
if any(keyword in subject for keyword in ['test', 'spec', 'coverage']):
return 'testing'
# Default
return 'feature_development'
def analyze_command_cognitive_pattern(self, command: Dict[str, Any]) -> str:
"""Analýza shell command pre určenie cognitive pattern"""
cmd_text = command.get('command', '').lower()
complexity = command.get('complexity_score', 3.0)
# Complex scripting
if complexity >= 7.0 or any(keyword in cmd_text for keyword in ['docker-compose', 'terraform', 'kubectl']):
return 'complex_scripting'
# Debugging investigation
if any(keyword in cmd_text for keyword in ['grep -r', 'find', 'ps aux', 'netstat', 'strace']):
return 'debugging_investigation'
# Routine commands
return 'routine_commands'
def determine_slovak_healthcare_context(self, timestamp: datetime) -> Optional[str]:
"""Určenie slovenského zdravotníckeho kontextu na základe času"""
hour = timestamp.hour
weekday = timestamp.weekday()
# Večerný development (po zdravotníckej zmene)
if 18 <= hour <= 23 and weekday < 5:
return 'evening_development'
# Víkendový coding
if weekday >= 5: # Sobota, nedeľa
return 'weekend_coding'
# Prestávky v práci (obed, krátke prestávky)
if (12 <= hour <= 13) or (15 <= hour <= 16) and weekday < 5:
return 'medical_break_context'
return None
def generate_thought_stream(self, pattern: str, commit: Dict = None, command: Dict = None,
healthcare_context: str = None) -> str:
"""Generovanie thought stream na základe patternu a kontextu"""
base_templates = {
'bug_fix': [
"Identifikujem príčinu chyby v {context} module",
"Analyzujem stack trace pre efektívne riešenie",
"Debugging komplexného problému vyžaduje systematický prístup",
"Riešim kritickú chybu ktorá blokuje {context} funkcionalitu"
],
'feature_development': [
"Implementujem novú funkcionalitu pre {context}",
"Navrhujem architektúru pre scalable riešenie",
"Vytvárám user-friendly interface pre healthcare workers",
"Optimalizujem performance novej {context} feature"
],
'refactoring': [
"Vylepšujem code quality a maintainability",
"Refaktoring legacy kódu pre lepšiu čitateľnosť",
"Optimalizujem algoritmy pre vyššiu efektivitu",
"Restructuring {context} module pre lepšiu architektúru"
],
'testing': [
"Zabezpečujem quality assurance pre {context}",
"Vytváram comprehensive test coverage",
"Validujem funkcionalitu pre production deployment",
"Testing edge cases pre robustné riešenie"
],
'complex_scripting': [
"Automatizujem complex deployment process",
"Konfigurujem infraštruktúru pre {context}",
"Scripting pre efektívnejší development workflow",
"Implementujem CI/CD pipeline optimalizácie"
],
'debugging_investigation': [
"Vyšetrujem neočakávané správanie systému",
"Analyzujem system logs pre root cause",
"Troubleshooting komplexného infrastructure problému",
"Identifikujem performance bottleneck v {context}"
],
'routine_commands': [
"Vykonávam bežné development operácie",
"Navigujem projektovou štruktúrou efektívne",
"Jednoduchý task management a file operations",
"Udržiavam development environment"
]
}
# Výber template
templates = base_templates.get(pattern, base_templates['feature_development'])
template = random.choice(templates)
# Určenie kontextu na základe dostupných informácií
context = "healthcare"
if commit:
if 'health' in commit.get('subject', '').lower():
context = "healthcare system"
elif 'api' in commit.get('subject', '').lower():
context = "API"
elif 'ui' in commit.get('subject', '').lower():
context = "user interface"
# Healthcare context enhancement
if healthcare_context and healthcare_context in self.healthcare_dev_contexts:
hc_templates = self.healthcare_dev_contexts[healthcare_context]['thought_stream_templates']
if random.random() < 0.3: # 30% šanca na healthcare-specific thought
return random.choice(hc_templates)
return template.format(context=context)
def generate_asl_cognitive_tag(self, activity_data: Dict[str, Any],
pattern: str, timestamp: datetime) -> ASLCognitiveTag:
"""Generovanie ASL cognitive tag pre konkrétnu aktivitu"""
# Získanie cognitive mapping pre pattern
cognitive_mapping = self.activity_cognitive_mapping.get(pattern,
self.activity_cognitive_mapping['feature_development'])
# Healthcare context
healthcare_context = self.determine_slovak_healthcare_context(timestamp)
if healthcare_context and healthcare_context in self.healthcare_dev_contexts:
hc_context = self.healthcare_dev_contexts[healthcare_context]
# Override cognitive states for healthcare context
if random.random() < 0.4: # 40% šanca na healthcare override
cognitive_mapping['mental_state'] = hc_context['mental_state']
cognitive_mapping['emotion_tone'] = hc_context['emotion_tone']
# Generovanie hodnôt
cognitive_load = random.randint(*cognitive_mapping['cognitive_load_range'])
certainty_level = random.uniform(*cognitive_mapping['certainty_range'])
# Temporal context na základe času
hour = timestamp.hour
if 6 <= hour <= 12:
temporal_context = TemporalContextEnum.PRESENT
elif 13 <= hour <= 18:
temporal_context = TemporalContextEnum.FUTURE
else:
temporal_context = TemporalContextEnum.PAST
# Thought stream generovanie
commit_data = activity_data.get('commit')
command_data = activity_data.get('command')
thought_stream = self.generate_thought_stream(
pattern, commit_data, command_data, healthcare_context
)
# Constitutional law - Slovak healthcare specific
constitutional_laws = [
"Zákon č. 576/2004 Z. z. o zdravotnej starostlivosti - digitalizácia",
"GDPR compliance pre pacientske dáta",
"Zákon č. 18/2018 Z. z. o ochrane osobných údajov",
"ISO 27001 - bezpečnosť zdravotníckych informácií",
"Etický kódex pre healthcare AI systémy"
]
constitutional_law = random.choice(constitutional_laws)
# Enhancement suggestions
enhancement_suggestions = [
"Implementovať batch processing pre vyššiu efektivitu",
"Pridať comprehensive logging pre lepší debugging",
"Optimalizovať databázové queries",
"Implementovať caching layer pre performance",
"Pridať automated testing coverage",
"Vylepšiť error handling a user feedback",
"Implementovať real-time monitoring",
"Optimalizovať mobile responsiveness"
]
# Diplomatic enhancement for Slovak healthcare context
diplomatic_enhancements = [
"Zohľadniť potreby slovenských zdravotníckych pracovníkov",
"Integrovať s existujúcimi nemocničnými systémami",
"Zabezpečiť compliance s SK zdravotníckou legislatívou",
"Optimalizovať pre slovenské jazykové špecifiká",
"Koordinovať s Ministerstvom zdravotníctva SR",
"Implementovať podporu pre rural healthcare",
"Zabezpečiť interoperabilitu s eHealth systémami"
]
try:
# Vytvorenie ASL cognitive tag
asl_tag = ASLCognitiveTag(
thought_stream=thought_stream,
mental_state=cognitive_mapping['mental_state'],
emotion_tone=cognitive_mapping['emotion_tone'],
cognitive_load=cognitive_load,
temporal_context=temporal_context,
certainty_level=certainty_level,
aeth_mem_link=f"mem_link_{uuid.uuid4().hex[:8]}",
constitutional_law=constitutional_law,
enhancement_suggestion=random.choice(enhancement_suggestions),
diplomatic_enhancement=random.choice(diplomatic_enhancements)
)
return asl_tag
except Exception as e:
print(f"[ERROR] Failed to create ASL tag: {e}")
# Fallback simple tag
return self._create_fallback_tag(thought_stream, timestamp)
def _create_fallback_tag(self, thought_stream: str, timestamp: datetime) -> ASLCognitiveTag:
"""Vytvorenie fallback ASL tag v prípade chyby"""
return ASLCognitiveTag(
thought_stream=thought_stream,
mental_state=MentalStateEnum.CALM,
emotion_tone=EmotionToneEnum.NEUTRAL,
cognitive_load=5,
temporal_context=TemporalContextEnum.PRESENT,
certainty_level=0.7,
aeth_mem_link=f"fallback_{uuid.uuid4().hex[:8]}",
constitutional_law="Základný etický kódex pre AI systémy",
enhancement_suggestion="Optimalizovať cognitive tag generation",
diplomatic_enhancement="Zlepšiť error handling pre ASL systém"
)
class AetheroASLGenerator:
"""
Hlavný generátor ASL cognitive tagov pre audit systém
"""
def __init__(self):
self.activity_analyzer = DevelopmentActivityAnalyzer()
self.cognitive_analyzer = CognitiveMetricsAnalyzer()
def load_audit_data(self, audit_file: str) -> Optional[Dict[str, Any]]:
"""Načítanie audit dát"""
try:
with open(audit_file, 'r', encoding='utf-8') as f:
return json.load(f)
except Exception as e:
print(f"[ERROR] Failed to load audit data: {e}")
return None
def generate_asl_tags_from_audit(self, audit_data: Dict[str, Any]) -> List[ASLCognitiveTag]:
"""Generovanie ASL tagov z audit dát"""
asl_tags = []
# Processing development sessions
sessions = audit_data.get('development_sessions', [])
for session in sessions:
session_start = datetime.fromisoformat(session['start_time'])
# Simulácia aktivít v rámci session
commits_count = session.get('commits_count', 0)
commands_count = session.get('commands_count', 0)
# Generovanie tagov na základe aktivít
total_activities = commits_count + commands_count
if total_activities == 0:
continue
# Rozdelenie času session na aktivity
session_duration = timedelta(hours=session.get('duration_hours', 1))
activity_interval = session_duration / total_activities if total_activities > 0 else timedelta(minutes=30)
current_time = session_start
# Generovanie commit tagov
for i in range(commits_count):
commit_data = {
'commit': {
'subject': f"Commit {i+1} in session",
'timestamp': current_time
}
}
pattern = self.activity_analyzer.analyze_commit_cognitive_pattern(commit_data['commit'])
asl_tag = self.activity_analyzer.generate_asl_cognitive_tag(
commit_data, pattern, current_time
)
asl_tags.append(asl_tag)
current_time += activity_interval
# Generovanie command tagov
for i in range(commands_count):
command_data = {
'command': {
'command': f"development_command_{i+1}",
'complexity_score': random.uniform(3.0, 8.0),
'timestamp': current_time
}
}
pattern = self.activity_analyzer.analyze_command_cognitive_pattern(command_data['command'])
asl_tag = self.activity_analyzer.generate_asl_cognitive_tag(
command_data, pattern, current_time
)
asl_tags.append(asl_tag)
current_time += activity_interval
return asl_tags
def calculate_cognitive_coherence_metrics(self, asl_tags: List[ASLCognitiveTag]) -> Dict[str, Any]:
"""Výpočet cognitive coherence metrík"""
if not asl_tags:
return {}
coherence_rate = self.cognitive_analyzer.calculate_consciousness_coherence_rate(asl_tags)
# Dodatočné analýzy
mental_state_distribution = {}
emotion_tone_distribution = {}
cognitive_load_stats = []
certainty_stats = []
for tag in asl_tags:
# Distribúcie
mental_state = tag.mental_state.value
emotion_tone = tag.emotion_tone.value
mental_state_distribution[mental_state] = mental_state_distribution.get(mental_state, 0) + 1
emotion_tone_distribution[emotion_tone] = emotion_tone_distribution.get(emotion_tone, 0) + 1
# Štatistiky
cognitive_load_stats.append(tag.cognitive_load)
certainty_stats.append(tag.certainty_level)
import statistics
return {
'consciousness_coherence_rate': coherence_rate,
'total_tags_analyzed': len(asl_tags),
'mental_state_distribution': mental_state_distribution,
'emotion_tone_distribution': emotion_tone_distribution,
'cognitive_load_statistics': {
'mean': statistics.mean(cognitive_load_stats),
'median': statistics.median(cognitive_load_stats),
'stdev': statistics.stdev(cognitive_load_stats) if len(cognitive_load_stats) > 1 else 0
},
'certainty_statistics': {
'mean': statistics.mean(certainty_stats),
'median': statistics.median(certainty_stats),
'stdev': statistics.stdev(certainty_stats) if len(certainty_stats) > 1 else 0
}
}
def export_asl_tags(self, asl_tags: List[ASLCognitiveTag],
coherence_metrics: Dict[str, Any]) -> str:
"""Export ASL tagov do JSON súboru"""
# Konverzia ASL tagov na serializovateľné objekty
tags_data = []
for tag in asl_tags:
tag_dict = {
'entity_id': tag.entity_id,
'creation_moment': tag.creation_moment.isoformat(),
'consciousness_level': tag.consciousness_level,
'thought_stream': tag.thought_stream,
'mental_state': tag.mental_state.value,
'emotion_tone': tag.emotion_tone.value,
'cognitive_load': tag.cognitive_load,
'temporal_context': tag.temporal_context.value,
'certainty_level': tag.certainty_level,
'aeth_mem_link': tag.aeth_mem_link,
'constitutional_law': tag.constitutional_law,
'enhancement_suggestion': tag.enhancement_suggestion,
'diplomatic_enhancement': tag.diplomatic_enhancement,
'introspective_depth': tag.introspective_depth,
'consciousness_resonance': tag.consciousness_resonance
}
tags_data.append(tag_dict)
# Export data
export_data = {
'asl_generation_metadata': {
'generated_at': datetime.now().isoformat(),
'total_tags': len(asl_tags),
'generation_context': 'aethero_audit_system',
'slovak_healthcare_optimization': True
},
'cognitive_coherence_analysis': coherence_metrics,
'asl_cognitive_tags': tags_data
}
# Zápis súboru
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
filename = f"aethero_asl_cognitive_tags_{timestamp}.json"
with open(filename, 'w', encoding='utf-8') as f:
json.dump(export_data, f, indent=2, ensure_ascii=False)
print(f"[ASL] Exported {len(asl_tags)} cognitive tags to: {filename}")
return filename
def run_asl_generation(self, audit_file: str = None) -> Optional[str]:
"""Spustenie celého ASL generation procesu"""
# Hľadanie najnovšieho audit súboru ak nie je špecifikovaný
if not audit_file:
import glob
audit_files = glob.glob("aethero_audit_*.json")
if not audit_files:
print("[ERROR] No audit files found. Run aethero_audit.py first.")
return None
audit_file = max(audit_files, key=os.path.getctime)
print(f"🧠 ASL Cognitive Tag Generation - Processing: {audit_file}")
# Načítanie audit dát
audit_data = self.load_audit_data(audit_file)
if not audit_data:
return None
# Generovanie ASL tagov
print("🔄 Generating ASL cognitive tags from development activities...")
asl_tags = self.generate_asl_tags_from_audit(audit_data)
if not asl_tags:
print("[WARNING] No ASL tags generated")
return None
# Analýza cognitive coherence
print("📊 Analyzing cognitive coherence metrics...")
coherence_metrics = self.calculate_cognitive_coherence_metrics(asl_tags)
# Export
print("💾 Exporting ASL cognitive tags...")
export_file = self.export_asl_tags(asl_tags, coherence_metrics)
# Súhrn
print("\n" + "="*50)
print("🧠 ASL COGNITIVE TAG GENERATION COMPLETE")
print("="*50)
print(f"📊 Generated Tags: {len(asl_tags)}")
print(f"🎯 Consciousness Coherence: {coherence_metrics.get('consciousness_coherence_rate', 0):.3f}")
print(f"🧠 Avg Cognitive Load: {coherence_metrics.get('cognitive_load_statistics', {}).get('mean', 0):.1f}/10")
print(f"✅ Export File: {export_file}")
return export_file
def main():
"""Hlavná funkcia ASL generátora"""
import argparse
parser = argparse.ArgumentParser(description='Aethero ASL Cognitive Tag Generator')
parser.add_argument('--audit-file', type=str, help='Specific audit file to process')
args = parser.parse_args()
generator = AetheroASLGenerator()
result = generator.run_asl_generation(args.audit_file)
if result:
print(f"\n✅ ASL generation completed successfully!")
print(f"📄 Output file: {result}")
else:
print("\n❌ ASL generation failed")
sys.exit(1)
if __name__ == "__main__":
main()