Class: SkillBench::Services::IterationFormatter

Inherits:
Object
  • Object
show all
Extended by:
FormattingHelpers
Defined in:
lib/skill_bench/services/iteration_formatter.rb

Overview

Formats ReAct loop iteration timelines for human-readable output.

Class Method Summary collapse

Methods included from FormattingHelpers

delta_str, humanize, trend_icon, truncate

Class Method Details

.format(title, iterations) ⇒ String

Formats an iteration timeline section.

Parameters:

  • title (String)

    Section title.

  • iterations (Array<Hash>)

    Iteration metadata with keys :step_number, :thought, :tools_used, :observation_summary.

Returns:

  • (String)

    Formatted section.



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/skill_bench/services/iteration_formatter.rb', line 17

def self.format(title, iterations)
  lines = ["  === #{title} ==="]
  iterations.each do |iter|
    tools = iter[:tools_used] || []
    tool_str = tools.empty? ? '' : " → Tool: #{tools.join(', ')}"
    observation = iter[:observation_summary].to_s
    observation_str = observation.empty? ? '' : " → Observation: #{truncate(observation, 60)}"
    lines << "  Step #{iter[:step_number]}: #{iter[:thought]}#{tool_str}#{observation_str}"
  end
  lines.join("\n")
end