Class: Assistant::TechnicalSupport::ResponseGroundingPreparation

Inherits:
Object
  • Object
show all
Includes:
Service
Defined in:
app/services/assistant/technical_support/response_grounding_preparation.rb

Overview

Captures bounded conversation evidence before ordinary context compaction so
the slower grounding grader can run outside Sunny's user-visible worker.

Defined Under Namespace

Classes: Result

Instance Method Summary collapse

Methods included from Service

#attributes_used, #build_result, call, #logger

Methods included from Service::Initializer

#initialize

Instance Method Details

#callResult

Persists a conservative queued assessment containing bounded evidence.

Returns:

  • (Result)

    applicability and the prepared assistant-message ID



31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'app/services/assistant/technical_support/response_grounding_preparation.rb', line 31

def call
  return Result.new(applicable: false) unless applicable?

  message = response_message
  return Result.new(applicable: true) unless message

  evidence = ResponseGroundingEvidence.call(
    conversation:,
    user_message_id: resolved_user_message_id,
    assistant_message: message
  )
  message.update_column(:grounding_assessment, pending_assessment(message, evidence))
  Result.new(applicable: true, assistant_message_id: message.id)
end