Module: Legion::Extensions::Agentic::Inference::Intuition::Runners::Intuition
- Includes:
- Helpers::Constants, Helpers::Lex
- Included in:
- Client
- Defined in:
- lib/legion/extensions/agentic/inference/intuition/runners/intuition.rb
Constant Summary
Helpers::Constants::CONFIDENCE_CEILING, Helpers::Constants::CONFIDENCE_FLOOR, Helpers::Constants::CONFIDENCE_LABELS, Helpers::Constants::DECAY_RATE, Helpers::Constants::DEFAULT_CONFIDENCE, Helpers::Constants::HEURISTIC_TYPES, Helpers::Constants::INTUITION_MODES, Helpers::Constants::MAX_HEURISTICS, Helpers::Constants::MAX_HISTORY, Helpers::Constants::MAX_PATTERNS, Helpers::Constants::PATTERN_STATES, Helpers::Constants::RECOGNITION_THRESHOLD, Helpers::Constants::REINFORCEMENT_RATE, Helpers::Constants::SPEED_MULTIPLIER, Helpers::Constants::STATE_THRESHOLDS
Instance Method Summary
collapse
Instance Method Details
#add_intuitive_heuristic(name:, heuristic_type:, domain: :general) ⇒ Object
43
44
45
46
47
48
|
# File 'lib/legion/extensions/agentic/inference/intuition/runners/intuition.rb', line 43
def add_intuitive_heuristic(name:, heuristic_type:, domain: :general, **)
heuristic = engine.add_heuristic(name: name, heuristic_type: heuristic_type, domain: domain)
return { success: false, reason: :limit_reached } unless heuristic
{ success: true, heuristic_id: heuristic.id }
end
|
#apply_intuitive_heuristic(heuristic_id:) ⇒ Object
50
51
52
53
54
55
|
# File 'lib/legion/extensions/agentic/inference/intuition/runners/intuition.rb', line 50
def apply_intuitive_heuristic(heuristic_id:, **)
result = engine.apply_heuristic(heuristic_id: heuristic_id)
return { success: false, reason: :not_found } unless result
{ success: true }.merge(result)
end
|
#expert_intuitions ⇒ Object
62
63
64
65
|
# File 'lib/legion/extensions/agentic/inference/intuition/runners/intuition.rb', line 62
def expert_intuitions(**)
patterns = engine.expert_patterns
{ success: true, patterns: patterns, count: patterns.size }
end
|
#intuit_response(input_cue:, domain: nil) ⇒ Object
29
30
31
32
33
34
|
# File 'lib/legion/extensions/agentic/inference/intuition/runners/intuition.rb', line 29
def intuit_response(input_cue:, domain: nil, **)
result = engine.intuit(input_cue: input_cue, domain: domain)
return { success: false, reason: :no_match } unless result
{ success: true }.merge(result)
end
|
#intuition_stats ⇒ Object
72
73
74
|
# File 'lib/legion/extensions/agentic/inference/intuition/runners/intuition.rb', line 72
def intuition_stats(**)
{ success: true }.merge(engine.to_h)
end
|
#intuitive_recognize(input_cue:, domain: nil) ⇒ Object
20
21
22
23
24
25
26
27
|
# File 'lib/legion/extensions/agentic/inference/intuition/runners/intuition.rb', line 20
def intuitive_recognize(input_cue:, domain: nil, **)
matches = engine.recognize(input_cue: input_cue, domain: domain)
{
success: true,
matches: matches.map { |m| { pattern_id: m[:pattern].id, score: m[:score].round(4) } },
count: matches.size
}
end
|
#learn_intuitive_pattern(cue:, response:, domain: :general, strength: DEFAULT_CONFIDENCE) ⇒ Object
13
14
15
16
17
18
|
# File 'lib/legion/extensions/agentic/inference/intuition/runners/intuition.rb', line 13
def learn_intuitive_pattern(cue:, response:, domain: :general, strength: DEFAULT_CONFIDENCE, **)
pattern = engine.learn_pattern(cue: cue, response: response, domain: domain, strength: strength)
return { success: false, reason: :limit_reached } unless pattern
{ success: true, pattern_id: pattern.id, strength: pattern.strength }
end
|
#reinforce_intuition(pattern_id:, success:) ⇒ Object
36
37
38
39
40
41
|
# File 'lib/legion/extensions/agentic/inference/intuition/runners/intuition.rb', line 36
def reinforce_intuition(pattern_id:, success:, **)
result = engine.reinforce_pattern(pattern_id: pattern_id, success: success)
return { success: false, reason: :not_found } unless result
{ success: true, pattern_id: pattern_id, strength: result.round(4) }
end
|
#reliable_intuitions ⇒ Object
57
58
59
60
|
# File 'lib/legion/extensions/agentic/inference/intuition/runners/intuition.rb', line 57
def reliable_intuitions(**)
patterns = engine.reliable_patterns
{ success: true, patterns: patterns, count: patterns.size }
end
|
#update_intuition ⇒ Object
67
68
69
70
|
# File 'lib/legion/extensions/agentic/inference/intuition/runners/intuition.rb', line 67
def update_intuition(**)
engine.decay_all
{ success: true }.merge(engine.to_h)
end
|