Module: Legion::Extensions::Agentic::Integration::Zeitgeist::Runners::CognitiveZeitgeist
- Includes:
- Helpers::Lex
- Included in:
- Helpers::Client
- Defined in:
- lib/legion/extensions/agentic/integration/zeitgeist/runners/cognitive_zeitgeist.rb
Instance Method Summary collapse
- #cognitive_convergence(engine: nil) ⇒ Object
- #collective_mood(engine: nil) ⇒ Object
- #dominant_themes(limit: 5, engine: nil) ⇒ Object
- #falling_domains(engine: nil) ⇒ Object
- #ingest_signal(source_subsystem:, domain:, intensity: Helpers::Constants::DEFAULT_INTENSITY, valence: 0.0, engine: nil) ⇒ Object
- #rising_domains(engine: nil) ⇒ Object
- #trend_window_status(engine: nil) ⇒ Object
- #zeitgeist_report(engine: nil) ⇒ Object
Instance Method Details
#cognitive_convergence(engine: nil) ⇒ Object
44 45 46 47 48 49 50 51 52 |
# File 'lib/legion/extensions/agentic/integration/zeitgeist/runners/cognitive_zeitgeist.rb', line 44 def cognitive_convergence(engine: nil, **) eng = engine || default_engine conv = eng.cognitive_convergence label = Helpers::Constants.label_for(Helpers::Constants::CONVERGENCE_LABELS, conv) alert = eng.divergence_alert? log.debug("[cognitive_zeitgeist] convergence value=#{conv.round(2)} label=#{label} " \ "alert=#{alert}") { success: true, convergence: conv, convergence_label: label, divergence_alert: alert } end |
#collective_mood(engine: nil) ⇒ Object
36 37 38 39 40 41 42 |
# File 'lib/legion/extensions/agentic/integration/zeitgeist/runners/cognitive_zeitgeist.rb', line 36 def collective_mood(engine: nil, **) eng = engine || default_engine mood = eng.collective_mood label = Helpers::Constants.label_for(Helpers::Constants::MOOD_LABELS, normalize_mood(mood)) log.debug("[cognitive_zeitgeist] mood value=#{mood.round(2)} label=#{label}") { success: true, mood: mood, mood_label: label } end |
#dominant_themes(limit: 5, engine: nil) ⇒ Object
54 55 56 57 58 59 |
# File 'lib/legion/extensions/agentic/integration/zeitgeist/runners/cognitive_zeitgeist.rb', line 54 def dominant_themes(limit: 5, engine: nil, **) eng = engine || default_engine themes = eng.dominant_themes(limit: limit) log.debug("[cognitive_zeitgeist] dominant_themes count=#{themes.size}") { success: true, themes: themes, count: themes.size } end |
#falling_domains(engine: nil) ⇒ Object
68 69 70 71 72 73 |
# File 'lib/legion/extensions/agentic/integration/zeitgeist/runners/cognitive_zeitgeist.rb', line 68 def falling_domains(engine: nil, **) eng = engine || default_engine domains = eng.falling_domains log.debug("[cognitive_zeitgeist] falling count=#{domains.size}") { success: true, domains: domains, count: domains.size } end |
#ingest_signal(source_subsystem:, domain:, intensity: Helpers::Constants::DEFAULT_INTENSITY, valence: 0.0, engine: nil) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/legion/extensions/agentic/integration/zeitgeist/runners/cognitive_zeitgeist.rb', line 13 def ingest_signal(source_subsystem:, domain:, intensity: Helpers::Constants::DEFAULT_INTENSITY, valence: 0.0, engine: nil, **) eng = engine || default_engine signal = eng.ingest( source_subsystem: source_subsystem, domain: domain, intensity: intensity, valence: valence ) log.debug("[cognitive_zeitgeist] ingest source=#{source_subsystem} " \ "domain=#{domain} intensity=#{intensity.round(2)} valence=#{valence.round(2)}") { success: true, signal: signal.to_h } end |
#rising_domains(engine: nil) ⇒ Object
61 62 63 64 65 66 |
# File 'lib/legion/extensions/agentic/integration/zeitgeist/runners/cognitive_zeitgeist.rb', line 61 def rising_domains(engine: nil, **) eng = engine || default_engine domains = eng.rising_domains log.debug("[cognitive_zeitgeist] rising count=#{domains.size}") { success: true, domains: domains, count: domains.size } end |
#trend_window_status(engine: nil) ⇒ Object
75 76 77 78 79 80 81 82 |
# File 'lib/legion/extensions/agentic/integration/zeitgeist/runners/cognitive_zeitgeist.rb', line 75 def trend_window_status(engine: nil, **) eng = engine || default_engine window = eng.trend_window.to_h mom_label = Helpers::Constants.label_for(Helpers::Constants::MOMENTUM_LABELS, window[:momentum]) log.debug("[cognitive_zeitgeist] trend_window size=#{window[:size]} " \ "momentum=#{mom_label}") { success: true, trend_window: window, momentum_label: mom_label } end |
#zeitgeist_report(engine: nil) ⇒ Object
27 28 29 30 31 32 33 34 |
# File 'lib/legion/extensions/agentic/integration/zeitgeist/runners/cognitive_zeitgeist.rb', line 27 def zeitgeist_report(engine: nil, **) eng = engine || default_engine report = eng.zeitgeist_report log.debug("[cognitive_zeitgeist] report signals=#{report[:signal_count]} " \ "mood=#{report[:mood_label]} convergence=#{report[:convergence_label]} " \ "momentum=#{report[:momentum_label]}") { success: true }.merge(report) end |