Module: Legion::Extensions::Agentic::Executive::Control::Runners::CognitiveControl

Includes:
Helpers::Constants, Helpers::Lex
Included in:
Client
Defined in:
lib/legion/extensions/agentic/executive/control/runners/cognitive_control.rb

Constant Summary

Constants included from Helpers::Constants

Helpers::Constants::ADAPTATION_ALPHA, Helpers::Constants::AUTOMATIC_THRESHOLD, Helpers::Constants::CONFLICT_BOOST, Helpers::Constants::CONTROLLED_THRESHOLD, Helpers::Constants::CONTROL_MODES, Helpers::Constants::DEFAULT_EFFORT, Helpers::Constants::EFFORT_CEILING, Helpers::Constants::EFFORT_DECAY, Helpers::Constants::EFFORT_FLOOR, Helpers::Constants::EFFORT_LABELS, Helpers::Constants::EFFORT_RECOVERY, Helpers::Constants::ERROR_BOOST, Helpers::Constants::GOAL_STATES, Helpers::Constants::MAX_GOALS, Helpers::Constants::MAX_HISTORY, Helpers::Constants::MAX_POLICIES, Helpers::Constants::NOVELTY_BOOST, Helpers::Constants::OVERRIDE_THRESHOLD

Instance Method Summary collapse

Instance Method Details

#active_control_goalsObject



42
43
44
45
# File 'lib/legion/extensions/agentic/executive/control/runners/cognitive_control.rb', line 42

def active_control_goals(**)
  goals = controller.active_goals
  { success: true, goals: goals, count: goals.size }
end

#advance_control_goal(goal_id:, amount: 0.1) ⇒ Object



20
21
22
23
24
25
# File 'lib/legion/extensions/agentic/executive/control/runners/cognitive_control.rb', line 20

def advance_control_goal(goal_id:, amount: 0.1, **)
  result = controller.advance_goal(goal_id: goal_id, amount: amount)
  return { success: false, reason: :not_found } unless result

  { success: true, goal_id: goal_id, progress: result.round(4) }
end

#cognitive_control_statsObject



59
60
61
# File 'lib/legion/extensions/agentic/executive/control/runners/cognitive_control.rb', line 59

def cognitive_control_stats(**)
  { success: true }.merge(controller.to_h)
end

#current_control_modeObject



37
38
39
40
# File 'lib/legion/extensions/agentic/executive/control/runners/cognitive_control.rb', line 37

def current_control_mode(**)
  { success: true, mode: controller.current_mode, should_override: controller.should_override?,
    should_control: controller.should_control? }
end

#evaluate_control(conflict: false, error: false, novelty: false) ⇒ Object



32
33
34
35
# File 'lib/legion/extensions/agentic/executive/control/runners/cognitive_control.rb', line 32

def evaluate_control(conflict: false, error: false, novelty: false, **)
  result = controller.evaluate_control_demand(conflict: conflict, error: error, novelty: novelty)
  { success: true }.merge(result)
end

#set_control_goal(description:, domain: :general, priority: 0.5) ⇒ Object



13
14
15
16
17
18
# File 'lib/legion/extensions/agentic/executive/control/runners/cognitive_control.rb', line 13

def set_control_goal(description:, domain: :general, priority: 0.5, **)
  goal = controller.set_goal(description: description, domain: domain, priority: priority)
  return { success: false, reason: :limit_reached } unless goal

  { success: true, goal_id: goal.id, priority: goal.priority }
end

#suspend_control_goal(goal_id:) ⇒ Object



27
28
29
30
# File 'lib/legion/extensions/agentic/executive/control/runners/cognitive_control.rb', line 27

def suspend_control_goal(goal_id:, **)
  controller.suspend_goal(goal_id: goal_id)
  { success: true, goal_id: goal_id }
end

#top_control_goalObject



47
48
49
50
51
52
# File 'lib/legion/extensions/agentic/executive/control/runners/cognitive_control.rb', line 47

def top_control_goal(**)
  goal = controller.top_goal
  return { success: false, reason: :no_active_goals } unless goal

  { success: true }.merge(goal)
end

#update_cognitive_controlObject



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

def update_cognitive_control(**)
  result = controller.tick
  { success: true }.merge(result)
end