Module: Legion::Extensions::Synapse::Helpers::Proposals
- Defined in:
- lib/legion/extensions/synapse/helpers/proposals.rb
Constant Summary collapse
- VALID_PROPOSAL_TYPES =
%w[llm_transform attention_mutation transform_mutation route_change].freeze
- VALID_TRIGGERS =
%w[reactive proactive].freeze
- VALID_STATUSES =
%w[pending challenging challenged approved rejected applied expired auto_accepted auto_rejected].freeze
- DEFAULT_SETTINGS =
{ enabled: true, reactive: true, proactive: true, proactive_interval: 300, max_per_run: 3, llm_engine_options: { temperature: 0.3, max_tokens: 1024 }, success_rate_threshold: 0.8, payload_drift_threshold: 0.2, dedup_window_hours: 24 }.freeze
Class Method Summary collapse
- .enabled? ⇒ Boolean
- .llm_engine_options ⇒ Object
- .proactive? ⇒ Boolean
- .reactive? ⇒ Boolean
- .settings ⇒ Object
Class Method Details
.enabled? ⇒ Boolean
34 35 36 |
# File 'lib/legion/extensions/synapse/helpers/proposals.rb', line 34 def enabled? settings[:enabled] == true end |
.llm_engine_options ⇒ Object
48 49 50 51 52 |
# File 'lib/legion/extensions/synapse/helpers/proposals.rb', line 48 def s = settings opts = s[:llm_engine_options] opts.is_a?(Hash) ? opts.transform_keys(&:to_sym) : DEFAULT_SETTINGS[:llm_engine_options].dup end |
.proactive? ⇒ Boolean
43 44 45 46 |
# File 'lib/legion/extensions/synapse/helpers/proposals.rb', line 43 def proactive? s = settings s[:enabled] == true && s[:proactive] == true end |
.reactive? ⇒ Boolean
38 39 40 41 |
# File 'lib/legion/extensions/synapse/helpers/proposals.rb', line 38 def reactive? s = settings s[:enabled] == true && s[:reactive] == true end |
.settings ⇒ Object
25 26 27 28 29 30 31 32 |
# File 'lib/legion/extensions/synapse/helpers/proposals.rb', line 25 def settings raw = Legion::Settings.dig('lex-synapse', 'proposals') return DEFAULT_SETTINGS.dup unless raw.is_a?(Hash) merged = DEFAULT_SETTINGS.dup raw.each { |k, v| merged[k.to_sym] = v unless v.nil? } merged end |