Module: Legion::Extensions::Agentic::Homeostasis::Pendulum::Helpers::Constants

Defined in:
lib/legion/extensions/agentic/homeostasis/pendulum/helpers/constants.rb

Constant Summary collapse

POLE_PAIRS =
{
  certainty_doubt:      %i[certainty doubt],
  focus_diffusion:      %i[focus diffusion],
  analysis_intuition:   %i[analysis intuition],
  approach_avoidance:   %i[approach avoidance],
  convergent_divergent: %i[convergent divergent]
}.freeze
DAMPING_RATE =
0.01
MAX_PENDULUMS =
100
AMPLITUDE_LABELS =
{
  (0.0..0.2) => :minimal,
  (0.2..0.4) => :low,
  (0.4..0.6) => :moderate,
  (0.6..0.8) => :high,
  (0.8..1.0) => :maximal
}.freeze

Class Method Summary collapse

Class Method Details

.amplitude_label(amplitude) ⇒ Object



36
37
38
39
40
41
42
# File 'lib/legion/extensions/agentic/homeostasis/pendulum/helpers/constants.rb', line 36

def amplitude_label(amplitude)
  clamped = amplitude.clamp(0.0, 1.0)
  AMPLITUDE_LABELS.each do |range, label|
    return label if range.cover?(clamped)
  end
  :maximal
end

.valid_pole_pair?(pole_pair) ⇒ Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/legion/extensions/agentic/homeostasis/pendulum/helpers/constants.rb', line 32

def valid_pole_pair?(pole_pair)
  POLE_PAIRS.key?(pole_pair)
end