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
- #active_goals_report ⇒ Object
- #assess_goal_disengagement(goal_id:) ⇒ Object
- #check_goal_progress(goal_id:, new_progress:, effort: 0.1) ⇒ Object
- #cognitive_disengagement_stats ⇒ Object
- #create_disengagement_goal(label:, domain:) ⇒ Object
- #disengage_from_goal(goal_id:, reason:) ⇒ Object
- #highest_disengage_candidates(limit: 5) ⇒ Object
- #most_invested_goals(limit: 5) ⇒ Object
- #stalled_goals_report ⇒ Object
- #update_cognitive_disengagement ⇒ Object
Instance Method Details
#active_goals_report ⇒ Object
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. } 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. } end |
#cognitive_disengagement_stats ⇒ Object
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. } 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_report ⇒ Object
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_disengagement ⇒ Object
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 |