Class: Legion::Extensions::Agentic::Integration::Integration::Helpers::IntegratedRepresentation
- Inherits:
-
Object
- Object
- Legion::Extensions::Agentic::Integration::Integration::Helpers::IntegratedRepresentation
show all
- Includes:
- Constants
- Defined in:
- lib/legion/extensions/agentic/integration/integration/helpers/integrated_representation.rb
Constant Summary
Constants included
from Constants
Constants::BINDING_DECAY_RATE, Constants::BINDING_LABELS, Constants::COHERENT_THRESHOLD, Constants::CONFIDENCE_LABELS, Constants::CONFLICT_PENALTY, Constants::DEFAULT_BINDING_STRENGTH, Constants::FRAGMENTED_THRESHOLD, Constants::MAX_REPRESENTATIONS, Constants::MAX_SIGNALS, Constants::MIN_SIGNALS_FOR_BINDING, Constants::MODALITIES, Constants::QUALITY_LABELS, Constants::REINFORCEMENT_RATE
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
Returns a new instance of IntegratedRepresentation.
17
18
19
20
21
22
23
24
25
|
# File 'lib/legion/extensions/agentic/integration/integration/helpers/integrated_representation.rb', line 17
def initialize(signals:)
@id = SecureRandom.uuid
@signal_ids = signals.map(&:id)
@modalities = signals.map(&:modality).uniq
@binding_strength = compute_binding(signals)
@coherence = compute_coherence(signals)
@reinforcement_count = 0
@created_at = Time.now.utc
end
|
Instance Attribute Details
#binding_strength ⇒ Object
Returns the value of attribute binding_strength.
14
15
16
|
# File 'lib/legion/extensions/agentic/integration/integration/helpers/integrated_representation.rb', line 14
def binding_strength
@binding_strength
end
|
#coherence ⇒ Object
Returns the value of attribute coherence.
14
15
16
|
# File 'lib/legion/extensions/agentic/integration/integration/helpers/integrated_representation.rb', line 14
def coherence
@coherence
end
|
#created_at ⇒ Object
Returns the value of attribute created_at.
14
15
16
|
# File 'lib/legion/extensions/agentic/integration/integration/helpers/integrated_representation.rb', line 14
def created_at
@created_at
end
|
#id ⇒ Object
Returns the value of attribute id.
14
15
16
|
# File 'lib/legion/extensions/agentic/integration/integration/helpers/integrated_representation.rb', line 14
def id
@id
end
|
#modalities ⇒ Object
Returns the value of attribute modalities.
14
15
16
|
# File 'lib/legion/extensions/agentic/integration/integration/helpers/integrated_representation.rb', line 14
def modalities
@modalities
end
|
#signal_ids ⇒ Object
Returns the value of attribute signal_ids.
14
15
16
|
# File 'lib/legion/extensions/agentic/integration/integration/helpers/integrated_representation.rb', line 14
def signal_ids
@signal_ids
end
|
Instance Method Details
#binding_label ⇒ Object
49
50
51
52
|
# File 'lib/legion/extensions/agentic/integration/integration/helpers/integrated_representation.rb', line 49
def binding_label
match = BINDING_LABELS.find { |range, _| range.cover?(@binding_strength) }
match ? match.last : :unbound
end
|
#coherent? ⇒ Boolean
46
|
# File 'lib/legion/extensions/agentic/integration/integration/helpers/integrated_representation.rb', line 46
def coherent? = @coherence >= COHERENT_THRESHOLD
|
#decay! ⇒ Object
33
34
35
36
|
# File 'lib/legion/extensions/agentic/integration/integration/helpers/integrated_representation.rb', line 33
def decay!
@binding_strength = (@binding_strength - BINDING_DECAY_RATE).clamp(0.0, 1.0).round(10)
self
end
|
#disrupt!(amount: CONFLICT_PENALTY) ⇒ Object
38
39
40
41
42
|
# File 'lib/legion/extensions/agentic/integration/integration/helpers/integrated_representation.rb', line 38
def disrupt!(amount: CONFLICT_PENALTY)
@binding_strength = (@binding_strength - amount).clamp(0.0, 1.0).round(10)
@coherence = (@coherence - (amount * 0.5)).clamp(0.0, 1.0).round(10)
self
end
|
#fragmented? ⇒ Boolean
47
|
# File 'lib/legion/extensions/agentic/integration/integration/helpers/integrated_representation.rb', line 47
def fragmented? = @coherence < FRAGMENTED_THRESHOLD
|
#modal_count ⇒ Object
44
|
# File 'lib/legion/extensions/agentic/integration/integration/helpers/integrated_representation.rb', line 44
def modal_count = @modalities.size
|
#multi_modal? ⇒ Boolean
45
|
# File 'lib/legion/extensions/agentic/integration/integration/helpers/integrated_representation.rb', line 45
def multi_modal? = @modalities.size > 1
|
#quality_label ⇒ Object
54
55
56
57
58
|
# File 'lib/legion/extensions/agentic/integration/integration/helpers/integrated_representation.rb', line 54
def quality_label
score = ((@binding_strength * 0.6) + (@coherence * 0.4)).round(10)
match = QUALITY_LABELS.find { |range, _| range.cover?(score) }
match ? match.last : :failed
end
|
#quality_score ⇒ Object
60
61
62
|
# File 'lib/legion/extensions/agentic/integration/integration/helpers/integrated_representation.rb', line 60
def quality_score
((@binding_strength * 0.6) + (@coherence * 0.4)).round(10)
end
|
#reinforce! ⇒ Object
27
28
29
30
31
|
# File 'lib/legion/extensions/agentic/integration/integration/helpers/integrated_representation.rb', line 27
def reinforce!
@binding_strength = (@binding_strength + REINFORCEMENT_RATE).clamp(0.0, 1.0).round(10)
@reinforcement_count += 1
self
end
|
#to_h ⇒ Object
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
# File 'lib/legion/extensions/agentic/integration/integration/helpers/integrated_representation.rb', line 64
def to_h
{
id: @id,
signal_ids: @signal_ids,
modalities: @modalities,
modal_count: modal_count,
multi_modal: multi_modal?,
binding_strength: @binding_strength,
binding_label: binding_label,
coherence: @coherence,
coherent: coherent?,
fragmented: fragmented?,
quality_score: quality_score,
quality_label: quality_label,
reinforcement_count: @reinforcement_count,
created_at: @created_at
}
end
|