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

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_statsObject



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_reportObject



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_reportObject



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_reportObject



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_momentumObject



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