Module: Legion::Extensions::Agentic::Executive::Disengagement::Runners::CognitiveDisengagement

Includes:
Helpers::Lex
Included in:
Client
Defined in:
lib/legion/extensions/agentic/executive/disengagement/runners/cognitive_disengagement.rb

Instance Method Summary collapse

Instance Method Details

#active_goals_reportObject



50
51
52
53
54
# File 'lib/legion/extensions/agentic/executive/disengagement/runners/cognitive_disengagement.rb', line 50

def active_goals_report(**)
  Legion::Logging.debug '[cognitive_disengagement] active_goals_report'
  goals = engine.active_goals
  { success: true, goals: goals.map(&:to_h), count: goals.size }
end

#assess_goal_disengagement(goal_id:) ⇒ Object



28
29
30
31
32
33
34
# File 'lib/legion/extensions/agentic/executive/disengagement/runners/cognitive_disengagement.rb', line 28

def assess_goal_disengagement(goal_id:, **)
  Legion::Logging.debug "[cognitive_disengagement] assess_goal goal_id=#{goal_id}"
  assessment = engine.assess_goal(goal_id: goal_id)
  { success: true, assessment: assessment }
rescue ArgumentError => e
  { success: false, error: e.message }
end

#check_goal_progress(goal_id:, new_progress:, effort: 0.1) ⇒ Object



19
20
21
22
23
24
25
26
# File 'lib/legion/extensions/agentic/executive/disengagement/runners/cognitive_disengagement.rb', line 19

def check_goal_progress(goal_id:, new_progress:, effort: 0.1, **)
  Legion::Logging.debug "[cognitive_disengagement] check_progress goal_id=#{goal_id} " \
                        "new_progress=#{new_progress} effort=#{effort}"
  delta = engine.check_progress(goal_id: goal_id, new_progress: new_progress, effort: effort)
  { success: true, goal_id: goal_id, delta: delta }
rescue ArgumentError => e
  { success: false, error: e.message }
end

#cognitive_disengagement_statsObject



74
75
76
77
# File 'lib/legion/extensions/agentic/executive/disengagement/runners/cognitive_disengagement.rb', line 74

def cognitive_disengagement_stats(**)
  Legion::Logging.debug '[cognitive_disengagement] stats'
  { success: true, stats: engine.to_h }
end

#create_disengagement_goal(label:, domain:) ⇒ Object



13
14
15
16
17
# File 'lib/legion/extensions/agentic/executive/disengagement/runners/cognitive_disengagement.rb', line 13

def create_disengagement_goal(label:, domain:, **)
  Legion::Logging.debug "[cognitive_disengagement] create_goal label=#{label} domain=#{domain}"
  goal = engine.create_goal(label: label, domain: domain)
  { success: true, goal: goal.to_h }
end

#disengage_from_goal(goal_id:, reason:) ⇒ Object



36
37
38
39
40
41
42
# File 'lib/legion/extensions/agentic/executive/disengagement/runners/cognitive_disengagement.rb', line 36

def disengage_from_goal(goal_id:, reason:, **)
  Legion::Logging.debug "[cognitive_disengagement] disengage goal_id=#{goal_id} reason=#{reason}"
  goal = engine.disengage_goal(goal_id: goal_id, reason: reason)
  { success: true, goal: goal.to_h }
rescue ArgumentError => e
  { success: false, error: e.message }
end

#highest_disengage_candidates(limit: 5) ⇒ Object



62
63
64
65
66
# File 'lib/legion/extensions/agentic/executive/disengagement/runners/cognitive_disengagement.rb', line 62

def highest_disengage_candidates(limit: 5, **)
  Legion::Logging.debug "[cognitive_disengagement] highest_disengage_candidates limit=#{limit}"
  goals = engine.highest_disengage_score(limit: limit)
  { success: true, goals: goals.map(&:to_h), count: goals.size }
end

#most_invested_goals(limit: 5) ⇒ Object



56
57
58
59
60
# File 'lib/legion/extensions/agentic/executive/disengagement/runners/cognitive_disengagement.rb', line 56

def most_invested_goals(limit: 5, **)
  Legion::Logging.debug "[cognitive_disengagement] most_invested_goals limit=#{limit}"
  goals = engine.most_invested(limit: limit)
  { success: true, goals: goals.map(&:to_h), count: goals.size }
end

#stalled_goals_reportObject



44
45
46
47
48
# File 'lib/legion/extensions/agentic/executive/disengagement/runners/cognitive_disengagement.rb', line 44

def stalled_goals_report(**)
  Legion::Logging.debug '[cognitive_disengagement] stalled_goals_report'
  goals = engine.stalled_goals
  { success: true, goals: goals.map(&:to_h), count: goals.size }
end

#update_cognitive_disengagementObject



68
69
70
71
72
# File 'lib/legion/extensions/agentic/executive/disengagement/runners/cognitive_disengagement.rb', line 68

def update_cognitive_disengagement(**)
  Legion::Logging.debug '[cognitive_disengagement] decay_all'
  engine.decay_all
  { success: true, stats: engine.to_h }
end