File size: 3,503 Bytes
bbe8a51 1640d7b 7b8b1dc bbe8a51 7b8b1dc 1640d7b 7b8b1dc 1640d7b bbe8a51 1640d7b 7b8b1dc 1640d7b bbe8a51 1640d7b 7b8b1dc 1640d7b bbe8a51 7b8b1dc 712720b 7b8b1dc 1640d7b 7b8b1dc 1640d7b 7b8b1dc 1640d7b 7b8b1dc 1640d7b 7b8b1dc 712720b 7b8b1dc 712720b 7b8b1dc 712720b 7b8b1dc 1640d7b 7b8b1dc 1640d7b 7b8b1dc 1640d7b 7b8b1dc |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# core/hei_inference.py
import yaml
import datetime
from core.codex_informer import CodexInformer
class HEIInference:
def __init__(self, codex_informer):
"""Fallback interpreter for low-confidence signals"""
# Load SAL triggers and meta mappings
self.sal_triggers = self.load_yaml('config/sal_triggers.yaml')
self.meta_mappings = self.load_yaml('config/meta_mappings.yaml')
# Store reference to CodexInformer for emotion resolution
self.codex_informer = codex_informer
def load_yaml(self, path):
with open(path, 'r', encoding='utf-8') as f:
return yaml.safe_load(f)
def lookup_meta_mapping(self, meta_marker):
for meta in self.meta_mappings or []:
if meta.get('marker') == meta_marker:
return meta
return None
def detect_low_signal(self, failed_esil_packet):
# Base pseudo-ESIL packet
pseudo = {
'pseudo_esil_packet_id': f"PSUESP-{datetime.datetime.now().isoformat()}",
'detected_tokens': failed_esil_packet.get('tokens', []),
'sal_trigger_flags': [],
'meta_inference': None,
'reasoning_flags': [],
'timestamp': datetime.datetime.now().isoformat()
}
# SAL trigger matching
for token in pseudo['detected_tokens']:
for trigger in (self.sal_triggers.get('sal_triggers') or []):
if isinstance(trigger, dict) and 'trigger' in trigger:
if trigger['trigger'].lower() in token.lower():
pseudo['sal_trigger_flags'].append(trigger['flag'])
pseudo['reasoning_flags'].append(f"SAL_MATCH-{trigger['flag']}")
# META mapping
meta_marker = failed_esil_packet.get('meta_marker')
if meta_marker:
meta = self.lookup_meta_mapping(meta_marker)
if meta:
pseudo['meta_inference'] = {
'marker': meta['marker'],
'blend': meta['inferred_blend'],
'comment': meta['comment']
}
pseudo['reasoning_flags'].append(f"META_INFER-{meta['marker']}")
# Resolve emotion data via CodexInformer
raw_code = failed_esil_packet.get('primary_emotion_code', '')
emotion_data = self.codex_informer.resolve_emotion_family(raw_code)
emotion_family = emotion_data.get('emotion_family', 'Unknown')
arc = emotion_data.get('arc', 'Unknown')
resonance = emotion_data.get('resonance', 'Unknown')
# Fallback for hidden emotion
if emotion_family == 'Unknown':
emotion_family = 'Hidden Emotion Detected'
pseudo['emotion_family'] = emotion_family
pseudo['arc'] = arc
pseudo['resonance'] = resonance
# Audit log
self.log_audit(pseudo)
return pseudo
def log_audit(self, packet):
print("---- HEI Inference Audit Log ----")
print(f"Packet ID: {packet['pseudo_esil_packet_id']}")
print(f"Timestamp: {packet['timestamp']}")
print(f"Detected Tokens: {packet['detected_tokens']}")
print(f"SAL Trigger Flags: {packet['sal_trigger_flags']}")
if packet.get('meta_inference'):
print(f"META Inference: {packet['meta_inference']}")
print(f"Reasoning Flags: {packet['reasoning_flags']}")
print("----------------------------------\n")
|