Class: Legion::Extensions::Agentic::Integration::Integration::Helpers::IntegratedRepresentation

Inherits:
Object
  • Object
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

#initialize(signals:) ⇒ IntegratedRepresentation

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_strengthObject (readonly)

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

#coherenceObject (readonly)

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_atObject (readonly)

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

#idObject (readonly)

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

#modalitiesObject (readonly)

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_idsObject (readonly)

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_labelObject



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

Returns:

  • (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

Returns:

  • (Boolean)


47
# File 'lib/legion/extensions/agentic/integration/integration/helpers/integrated_representation.rb', line 47

def fragmented? = @coherence < FRAGMENTED_THRESHOLD


44
# File 'lib/legion/extensions/agentic/integration/integration/helpers/integrated_representation.rb', line 44

def modal_count = @modalities.size

#multi_modal?Boolean

Returns:

  • (Boolean)


45
# File 'lib/legion/extensions/agentic/integration/integration/helpers/integrated_representation.rb', line 45

def multi_modal? = @modalities.size > 1

#quality_labelObject



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_scoreObject



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_hObject



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