Class: Legion::LLM::Router::EvaluationSet

Inherits:
Object
  • Object
show all
Defined in:
lib/legion/llm/router/candidate_evaluation.rb

Overview

Immutable full evaluation of the captured snapshot (ยง9.6): every candidate plus every publication status (including initializing scopes with no offering) and the captured inventory generation. RejectionDiagnostics consumes publication_statuses to distinguish 424 (authoritative unsupported) from 425 (incomplete/initializing authority).

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(candidates:, publication_statuses:, inventory_generation:) ⇒ EvaluationSet

Returns a new instance of EvaluationSet.



91
92
93
94
95
96
# File 'lib/legion/llm/router/candidate_evaluation.rb', line 91

def initialize(candidates:, publication_statuses:, inventory_generation:)
  @candidates = candidates.freeze
  @publication_statuses = publication_statuses.freeze
  @inventory_generation = inventory_generation
  freeze
end

Instance Attribute Details

#candidatesObject (readonly)

Returns the value of attribute candidates.



89
90
91
# File 'lib/legion/llm/router/candidate_evaluation.rb', line 89

def candidates
  @candidates
end

#inventory_generationObject (readonly)

Returns the value of attribute inventory_generation.



89
90
91
# File 'lib/legion/llm/router/candidate_evaluation.rb', line 89

def inventory_generation
  @inventory_generation
end

#publication_statusesObject (readonly)

Returns the value of attribute publication_statuses.



89
90
91
# File 'lib/legion/llm/router/candidate_evaluation.rb', line 89

def publication_statuses
  @publication_statuses
end

Instance Method Details

#ready_candidatesObject



98
99
100
# File 'lib/legion/llm/router/candidate_evaluation.rb', line 98

def ready_candidates
  @candidates.select(&:ready?)
end