Class: PassiveRecallJob

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

Overview

Runs passive recall after goal updates — searches message history for context relevant to active goals and injects phantom tool_call/tool_response pairs into the session’s message stream.

Phantom pairs ride the conveyor belt like regular messages, getting cached, evicted, and compressed by Mneme naturally.

Examples:

PassiveRecallJob.perform_later(session.id)

Instance Method Summary collapse

Instance Method Details

#perform(session_id) ⇒ Object

Parameters:

  • session_id (Integer)


18
19
20
21
22
23
# File 'app/jobs/passive_recall_job.rb', line 18

def perform(session_id)
  session = Session.find(session_id)
  count = Mneme::PassiveRecall.new(session).call

  Mneme.logger.info("session=#{session_id} — passive recall injected #{count} phantom pairs") if count > 0
end