Module: Legion::Extensions::Agentic::Defense::Bias::Runners::Bias

Includes:
Helpers::Lex
Included in:
Client
Defined in:
lib/legion/extensions/agentic/defense/bias/runners/bias.rb

Instance Method Summary collapse

Instance Method Details

#bias_report(domain: nil) ⇒ Object



33
34
35
36
37
# File 'lib/legion/extensions/agentic/defense/bias/runners/bias.rb', line 33

def bias_report(domain: nil, **)
  events = domain ? bias_store.by_domain(domain) : bias_store.recent(50)
  log.debug("[bias] bias_report domain=#{domain.inspect} events=#{events.size}")
  { success: true, domain: domain, events: events, count: events.size }
end

#bias_statsObject



45
46
47
48
49
# File 'lib/legion/extensions/agentic/defense/bias/runners/bias.rb', line 45

def bias_stats(**)
  stats = bias_store.stats
  log.debug("[bias] bias_stats total=#{stats[:total]}")
  { success: true, **stats }
end

#check_for_bias(domain:, decision_context: {}) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/legion/extensions/agentic/defense/bias/runners/bias.rb', line 13

def check_for_bias(domain:, decision_context: {}, **)
  log.debug("[bias] check_for_bias domain=#{domain}")
  detected = collect_bias_detections(domain, decision_context)
  active   = detected.select { |b| b[:magnitude] >= Helpers::Constants::DETECTION_THRESHOLD }
  log.debug("[bias] check_for_bias domain=#{domain} detected=#{active.size}")
  { success: true, domain: domain, detected: active, all: detected }
end

#record_anchor(domain:, value:) ⇒ Object



21
22
23
24
25
# File 'lib/legion/extensions/agentic/defense/bias/runners/bias.rb', line 21

def record_anchor(domain:, value:, **)
  bias_store.register_anchor(domain, value: value)
  log.debug("[bias] anchor recorded domain=#{domain} value=#{value}")
  { success: true, domain: domain, value: value }
end

#susceptibility_profileObject



39
40
41
42
43
# File 'lib/legion/extensions/agentic/defense/bias/runners/bias.rb', line 39

def susceptibility_profile(**)
  profile = bias_detector.to_h
  log.debug('[bias] susceptibility_profile')
  { success: true, **profile }
end

#update_biasObject



27
28
29
30
31
# File 'lib/legion/extensions/agentic/defense/bias/runners/bias.rb', line 27

def update_bias(**)
  bias_store.decay_anchors
  log.debug('[bias] update_bias: anchors decayed')
  { success: true }
end