Module: Legion::Extensions::Agentic::Inference::Momentum::Runners::CognitiveMomentum
- Includes:
- Helpers::Lex
- Included in:
- Helpers::Client
- Defined in:
- lib/legion/extensions/agentic/inference/momentum/runners/cognitive_momentum.rb
Instance Method Summary collapse
- #apply_cognitive_force(idea_id:, force:) ⇒ Object
- #challenge_cognitive_idea(idea_id:) ⇒ Object
- #cognitive_momentum_stats ⇒ Object
- #create_cognitive_idea(content:, idea_type:, domain:, mass: nil) ⇒ Object
- #entrenched_ideas_report ⇒ Object
- #highest_momentum_ideas(limit: 5) ⇒ Object
- #ideas_by_domain(domain:) ⇒ Object
- #reinforce_cognitive_idea(idea_id:) ⇒ Object
- #reversing_ideas_report ⇒ Object
- #surging_ideas_report ⇒ Object
- #update_cognitive_momentum ⇒ Object
Instance Method Details
#apply_cognitive_force(idea_id:, force:) ⇒ Object
39 40 41 42 43 44 |
# File 'lib/legion/extensions/agentic/inference/momentum/runners/cognitive_momentum.rb', line 39 def apply_cognitive_force(idea_id:, force:, **) result = engine.apply_force(idea_id: idea_id, force: force) log.debug "[cognitive_momentum] force id=#{idea_id[0..7]} " \ "f=#{force} momentum=#{result[:momentum]&.round(3)}" result end |
#challenge_cognitive_idea(idea_id:) ⇒ Object
32 33 34 35 36 37 |
# File 'lib/legion/extensions/agentic/inference/momentum/runners/cognitive_momentum.rb', line 32 def challenge_cognitive_idea(idea_id:, **) result = engine.challenge_idea(idea_id: idea_id) log.debug "[cognitive_momentum] challenge id=#{idea_id[0..7]} " \ "momentum=#{result[:momentum]&.round(3)}" result end |
#cognitive_momentum_stats ⇒ Object
84 85 86 87 88 |
# File 'lib/legion/extensions/agentic/inference/momentum/runners/cognitive_momentum.rb', line 84 def cognitive_momentum_stats(**) stats = engine.to_h log.debug "[cognitive_momentum] stats total=#{stats[:total_ideas]}" { success: true }.merge(stats) end |
#create_cognitive_idea(content:, idea_type:, domain:, mass: nil) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/legion/extensions/agentic/inference/momentum/runners/cognitive_momentum.rb', line 13 def create_cognitive_idea(content:, idea_type:, domain:, mass: nil, **) idea = engine.create_idea( content: content, idea_type: idea_type.to_sym, domain: domain.to_sym, mass: mass || Helpers::Constants::DEFAULT_MASS ) log.debug "[cognitive_momentum] create id=#{idea.id[0..7]} " \ "type=#{idea_type} domain=#{domain}" { success: true, idea: idea.to_h } end |
#entrenched_ideas_report ⇒ Object
58 59 60 61 62 |
# File 'lib/legion/extensions/agentic/inference/momentum/runners/cognitive_momentum.rb', line 58 def entrenched_ideas_report(**) ideas = engine.entrenched_ideas log.debug "[cognitive_momentum] entrenched count=#{ideas.size}" { success: true, ideas: ideas.map(&:to_h), count: ideas.size } end |
#highest_momentum_ideas(limit: 5) ⇒ Object
64 65 66 67 68 |
# File 'lib/legion/extensions/agentic/inference/momentum/runners/cognitive_momentum.rb', line 64 def highest_momentum_ideas(limit: 5, **) ideas = engine.highest_momentum(limit: limit) log.debug "[cognitive_momentum] highest_momentum count=#{ideas.size}" { success: true, ideas: ideas.map(&:to_h), count: ideas.size } end |
#ideas_by_domain(domain:) ⇒ Object
70 71 72 73 74 75 |
# File 'lib/legion/extensions/agentic/inference/momentum/runners/cognitive_momentum.rb', line 70 def ideas_by_domain(domain:, **) ideas = engine.ideas_by_domain(domain: domain.to_sym) log.debug '[cognitive_momentum] by_domain ' \ "domain=#{domain} count=#{ideas.size}" { success: true, ideas: ideas.map(&:to_h), count: ideas.size } end |
#reinforce_cognitive_idea(idea_id:) ⇒ Object
25 26 27 28 29 30 |
# File 'lib/legion/extensions/agentic/inference/momentum/runners/cognitive_momentum.rb', line 25 def reinforce_cognitive_idea(idea_id:, **) result = engine.reinforce_idea(idea_id: idea_id) log.debug "[cognitive_momentum] reinforce id=#{idea_id[0..7]} " \ "momentum=#{result[:momentum]&.round(3)}" result end |
#reversing_ideas_report ⇒ Object
52 53 54 55 56 |
# File 'lib/legion/extensions/agentic/inference/momentum/runners/cognitive_momentum.rb', line 52 def reversing_ideas_report(**) ideas = engine.reversing_ideas log.debug "[cognitive_momentum] reversing count=#{ideas.size}" { success: true, ideas: ideas.map(&:to_h), count: ideas.size } end |
#surging_ideas_report ⇒ Object
46 47 48 49 50 |
# File 'lib/legion/extensions/agentic/inference/momentum/runners/cognitive_momentum.rb', line 46 def surging_ideas_report(**) ideas = engine.surging_ideas log.debug "[cognitive_momentum] surging count=#{ideas.size}" { success: true, ideas: ideas.map(&:to_h), count: ideas.size } end |
#update_cognitive_momentum ⇒ Object
77 78 79 80 81 82 |
# File 'lib/legion/extensions/agentic/inference/momentum/runners/cognitive_momentum.rb', line 77 def update_cognitive_momentum(**) engine.apply_friction_all pruned = engine.prune_at_rest log.debug "[cognitive_momentum] friction+prune pruned=#{pruned}" { success: true, pruned: pruned } end |