Module: Legion::Extensions::Agentic::Attention::Salience::Runners::Salience
- Includes:
- Helpers::Lex
- Included in:
- Client
- Defined in:
- lib/legion/extensions/agentic/attention/salience/runners/salience.rb
Instance Method Summary collapse
- #compute_salience(tick_results: {}) ⇒ Object
- #salience_for(source:) ⇒ Object
- #salience_history(limit: 10) ⇒ Object
- #salience_stats ⇒ Object
- #salience_status ⇒ Object
Instance Method Details
#compute_salience(tick_results: {}) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/legion/extensions/agentic/attention/salience/runners/salience.rb', line 13 def compute_salience(tick_results: {}, **) integrated = Helpers::SignalIntegrator.integrate(tick_results: tick_results) salience_map.update(integrated) log.debug("[salience] compute: overall=#{salience_map.overall_salience.round(3)} " \ "urgency=#{salience_map.urgency_level} dominant=#{salience_map.dominant_source}") { overall: salience_map.overall_salience, urgency: salience_map.urgency_level, dominant_source: salience_map.dominant_source, above_baseline: salience_map.above_baseline?, conflicts: salience_map.conflict_signals, sources: integrated, trend: salience_map.salience_trend } end |
#salience_for(source:) ⇒ Object
43 44 45 46 47 |
# File 'lib/legion/extensions/agentic/attention/salience/runners/salience.rb', line 43 def salience_for(source:, **) data = salience_map.current_map[source] log.debug("[salience] salience_for: source=#{source} salience=#{data || 0.0}") { source: source, salience: data || 0.0, urgency: salience_map.urgency_level } end |
#salience_history(limit: 10) ⇒ Object
49 50 51 |
# File 'lib/legion/extensions/agentic/attention/salience/runners/salience.rb', line 49 def salience_history(limit: 10, **) { entries: salience_map.history.last(limit) } end |
#salience_stats ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/legion/extensions/agentic/attention/salience/runners/salience.rb', line 53 def salience_stats(**) { overall: salience_map.overall_salience, baseline: salience_map.baseline, urgency: salience_map.urgency_level, dominant: salience_map.dominant_source, history_size: salience_map.history.size, conflict_count: salience_map.conflict_signals.size, trend: salience_map.salience_trend } end |
#salience_status ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/legion/extensions/agentic/attention/salience/runners/salience.rb', line 31 def salience_status(**) log.debug("[salience] status: urgency=#{salience_map.urgency_level} trend=#{salience_map.salience_trend}") { overall: salience_map.overall_salience, urgency: salience_map.urgency_level, dominant: salience_map.dominant_source, baseline: salience_map.baseline, trend: salience_map.salience_trend, above_baseline: salience_map.above_baseline? } end |