Class: AnalyticalBrainJob

Inherits:
ApplicationJob show all
Defined in:
app/jobs/analytical_brain_job.rb

Overview

Runs the analytical brain — a phantom LLM loop that observes the main session and performs background maintenance (currently: session naming).

Replaces GenerateSessionNameJob with a tool-based architecture that future tickets will expand with skill activation, goal tracking, etc.

Scheduling guards live in Session#schedule_analytical_brain! — this job always runs when called.

Examples:

AnalyticalBrainJob.perform_later(session.id)

Instance Method Summary collapse

Instance Method Details

#perform(session_id) ⇒ Object

Parameters:

  • session_id (Integer)

    the main Session to analyze



24
25
26
27
28
29
30
31
32
# File 'app/jobs/analytical_brain_job.rb', line 24

def perform(session_id)
  brain_log = AnalyticalBrain.logger
  session = Session.find(session_id)
  brain_log.info("async job started for session=#{session_id}")
  AnalyticalBrain::Runner.new(session).call
rescue => error
  brain_log.error("FAILED (async) session=#{session_id}: #{error.class}: #{error.message}")
  raise
end