Module: Legion::Extensions::Agentic::Executive::Compass::Runners::CognitiveCompass

Extended by:
CognitiveCompass
Includes:
Helpers::Lex
Included in:
Client, CognitiveCompass
Defined in:
lib/legion/extensions/agentic/executive/compass/runners/cognitive_compass.rb

Instance Method Summary collapse

Instance Method Details

#calibrate(bias_id:, amount: nil, engine: nil) ⇒ Object



31
32
33
34
35
36
37
38
39
# File 'lib/legion/extensions/agentic/executive/compass/runners/cognitive_compass.rb', line 31

def calibrate(bias_id:, amount: nil, engine: nil, **)
  eng  = resolve_engine(engine)
  opts = { bias_id: bias_id }
  opts[:amount] = amount if amount
  bias = eng.calibrate(**opts)
  { success: true, bias: bias.to_h }
rescue ArgumentError => e
  { success: false, error: e.message }
end

#compass_status(engine: nil) ⇒ Object



54
55
56
57
# File 'lib/legion/extensions/agentic/executive/compass/runners/cognitive_compass.rb', line 54

def compass_status(engine: nil, **)
  eng = resolve_engine(engine)
  { success: true, report: eng.compass_report }
end

#list_bearings(engine: nil, direction: nil) ⇒ Object



41
42
43
44
45
46
# File 'lib/legion/extensions/agentic/executive/compass/runners/cognitive_compass.rb', line 41

def list_bearings(engine: nil, direction: nil, **)
  eng     = resolve_engine(engine)
  results = eng.all_bearings
  results = results.select { |b| b.direction == direction.to_sym } if direction
  { success: true, bearings: results.map(&:to_h), count: results.size }
end

#list_biases(engine: nil) ⇒ Object



48
49
50
51
52
# File 'lib/legion/extensions/agentic/executive/compass/runners/cognitive_compass.rb', line 48

def list_biases(engine: nil, **)
  eng = resolve_engine(engine)
  { success: true, biases: eng.all_biases.map(&:to_h),
    count: eng.all_biases.size }
end

#register_bias(bias_type:, domain:, declination: nil, strength: nil, engine: nil) ⇒ Object



21
22
23
24
25
26
27
28
29
# File 'lib/legion/extensions/agentic/executive/compass/runners/cognitive_compass.rb', line 21

def register_bias(bias_type:, domain:, declination: nil,
                  strength: nil, engine: nil, **)
  eng  = resolve_engine(engine)
  bias = eng.register_bias(bias_type: bias_type, domain: domain,
                           declination: declination, strength: strength)
  { success: true, bias: bias.to_h }
rescue ArgumentError => e
  { success: false, error: e.message }
end

#take_bearing(direction:, context:, confidence: nil, engine: nil) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/legion/extensions/agentic/executive/compass/runners/cognitive_compass.rb', line 12

def take_bearing(direction:, context:, confidence: nil, engine: nil, **)
  eng     = resolve_engine(engine)
  bearing = eng.take_bearing(direction: direction, context: context,
                             confidence: confidence)
  { success: true, bearing: bearing.to_h }
rescue ArgumentError => e
  { success: false, error: e.message }
end