Class: RobotLab::To::PromptBuilder
- Inherits:
-
Object
- Object
- RobotLab::To::PromptBuilder
- Defined in:
- lib/robot_lab/to/prompt_builder.rb
Overview
Builds the per-iteration system prompt injected into each robot.
Instance Method Summary collapse
- #build(run, notes_content, workspace: nil, pending_commit_failure: nil, resolved_decisions: []) ⇒ Object
-
#initialize(config) ⇒ PromptBuilder
constructor
A new instance of PromptBuilder.
Constructor Details
#initialize(config) ⇒ PromptBuilder
Returns a new instance of PromptBuilder.
7 8 9 |
# File 'lib/robot_lab/to/prompt_builder.rb', line 7 def initialize(config) @config = config end |
Instance Method Details
#build(run, notes_content, workspace: nil, pending_commit_failure: nil, resolved_decisions: []) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/robot_lab/to/prompt_builder.rb', line 11 def build(run, notes_content, workspace: nil, pending_commit_failure: nil, resolved_decisions: []) sections = [role_section(run), notes_section(run, notes_content)] sections << workspace_section(workspace) if workspace && !workspace.empty? sections << decisions_answered_section(resolved_decisions) if resolved_decisions && !resolved_decisions.empty? sections << task_section sections << score_feedback_section(run) sections << verify_section if @config.verify_command sections << decision_guidance_section if @config.decisions_enabled? sections << submit_section sections << repair_section(pending_commit_failure) if pending_commit_failure sections << stop_when_section(@config.stop_when) if @config.stop_when sections.compact.join("\n\n") end |