Module: Legion::Extensions::Agentic::Attention::SensoryGating::Runners::SensoryGating
- Includes:
- Helpers::Constants, Helpers::Lex
- Included in:
- Client
- Defined in:
- lib/legion/extensions/agentic/attention/sensory_gating/runners/sensory_gating.rb
Constant Summary
Helpers::Constants::DEFAULT_GATE_THRESHOLD, Helpers::Constants::GATE_ADJUSTMENT, Helpers::Constants::GATE_LABELS, Helpers::Constants::HABITUATION_RATE, Helpers::Constants::MAX_FILTERS, Helpers::Constants::MAX_STIMULI, Helpers::Constants::MODALITY_TYPES, Helpers::Constants::SENSITIZATION_RATE, Helpers::Constants::STIMULUS_LABELS
Instance Method Summary
collapse
-
#average_pass_rate(engine: nil) ⇒ Object
-
#close_gate(filter_id:, engine: nil, amount: GATE_ADJUSTMENT) ⇒ Object
-
#create_filter(modality:, engine: nil, gate_threshold: DEFAULT_GATE_THRESHOLD) ⇒ Object
-
#gating_report(engine: nil) ⇒ Object
-
#open_gate(filter_id:, engine: nil, amount: GATE_ADJUSTMENT) ⇒ Object
-
#process_stimulus(filter_id:, intensity:, engine: nil) ⇒ Object
-
#sensitize(filter_id:, engine: nil, amount: SENSITIZATION_RATE) ⇒ Object
Instance Method Details
#average_pass_rate(engine: nil) ⇒ Object
52
53
54
55
|
# File 'lib/legion/extensions/agentic/attention/sensory_gating/runners/sensory_gating.rb', line 52
def average_pass_rate(engine: nil, **)
eng = engine || default_engine
{ success: true, pass_rate: eng.average_pass_rate }
end
|
#close_gate(filter_id:, engine: nil, amount: GATE_ADJUSTMENT) ⇒ Object
36
37
38
39
40
41
42
|
# File 'lib/legion/extensions/agentic/attention/sensory_gating/runners/sensory_gating.rb', line 36
def close_gate(filter_id:, engine: nil, amount: GATE_ADJUSTMENT, **)
eng = engine || default_engine
result = eng.close_gate(filter_id: filter_id, amount: amount)
return { success: false, error: 'filter not found' } unless result
{ success: true, filter: result.to_h }
end
|
#create_filter(modality:, engine: nil, gate_threshold: DEFAULT_GATE_THRESHOLD) ⇒ Object
14
15
16
17
18
|
# File 'lib/legion/extensions/agentic/attention/sensory_gating/runners/sensory_gating.rb', line 14
def create_filter(modality:, engine: nil, gate_threshold: DEFAULT_GATE_THRESHOLD, **)
eng = engine || default_engine
filter = eng.create_filter(modality: modality, gate_threshold: gate_threshold)
{ success: true, filter: filter.to_h }
end
|
#gating_report(engine: nil) ⇒ Object
57
58
59
60
|
# File 'lib/legion/extensions/agentic/attention/sensory_gating/runners/sensory_gating.rb', line 57
def gating_report(engine: nil, **)
eng = engine || default_engine
{ success: true, report: eng.gating_report }
end
|
#open_gate(filter_id:, engine: nil, amount: GATE_ADJUSTMENT) ⇒ Object
28
29
30
31
32
33
34
|
# File 'lib/legion/extensions/agentic/attention/sensory_gating/runners/sensory_gating.rb', line 28
def open_gate(filter_id:, engine: nil, amount: GATE_ADJUSTMENT, **)
eng = engine || default_engine
result = eng.open_gate(filter_id: filter_id, amount: amount)
return { success: false, error: 'filter not found' } unless result
{ success: true, filter: result.to_h }
end
|
#process_stimulus(filter_id:, intensity:, engine: nil) ⇒ Object
20
21
22
23
24
25
26
|
# File 'lib/legion/extensions/agentic/attention/sensory_gating/runners/sensory_gating.rb', line 20
def process_stimulus(filter_id:, intensity:, engine: nil, **)
eng = engine || default_engine
result = eng.process_stimulus(filter_id: filter_id, intensity: intensity)
return { success: false, error: 'filter not found' } unless result
{ success: true, outcome: result[:outcome], filter: result[:filter].to_h }
end
|
#sensitize(filter_id:, engine: nil, amount: SENSITIZATION_RATE) ⇒ Object
44
45
46
47
48
49
50
|
# File 'lib/legion/extensions/agentic/attention/sensory_gating/runners/sensory_gating.rb', line 44
def sensitize(filter_id:, engine: nil, amount: SENSITIZATION_RATE, **)
eng = engine || default_engine
result = eng.sensitize(filter_id: filter_id, amount: amount)
return { success: false, error: 'filter not found' } unless result
{ success: true, filter: result.to_h }
end
|