Class: XAeonAgents::Agents::TesterAgent
- Inherits:
-
ComposableAgents::Cline::Agent
- Object
- ComposableAgents::Cline::Agent
- XAeonAgents::Agents::TesterAgent
- Includes:
- XAeonAgents::AgentDefaults
- Defined in:
- lib/x_aeon_agents/agents/tester_agent.rb
Overview
Agent responsible for fixing regressions induced by new features or fixes, while keeping initial requirements and implementation plan in mind. If decisions in the implementation plan prevent fixing regressions, modify the implementation plan and report those modifications.
Instance Method Summary collapse
-
#initialize(**agent_params) ⇒ TesterAgent
constructor
Constructor.
-
#input_artifacts_contracts ⇒ Hash{Symbol => Object}
Define input artifacts contracts.
-
#output_artifacts_contracts ⇒ Hash{Symbol => Object}
Define output artifacts contracts.
Methods included from XAeonAgents::AgentDefaults
#new_agent, prepended, singleton_session_id
Constructor Details
#initialize(**agent_params) ⇒ TesterAgent
Constructor
32 33 34 35 36 37 38 39 40 41 |
# File 'lib/x_aeon_agents/agents/tester_agent.rb', line 32 def initialize(**agent_params) super( name: 'Tester', objective: <<~EO_OBJECTIVE, Fix any regression that has been induced by new features or fixes, while keeping the initial requirements and implementation plan in mind. If the decisions taken in the implementation plan prevent you from fixing regressions, modify the implementation plan and report those modifications to the user. EO_OBJECTIVE **agent_params ) end |
Instance Method Details
#input_artifacts_contracts ⇒ Hash{Symbol => Object}
Define input artifacts contracts
11 12 13 14 15 16 17 18 19 20 |
# File 'lib/x_aeon_agents/agents/tester_agent.rb', line 11 def input_artifacts_contracts super.merge( requirements: 'The initial requirements', plan: 'The implementation plan devised from the requirements', files_diffs: 'The full list of files changes and differences that have been done to implement the initial ' \ 'requirements following the implementation plan', tests_output: 'The output of running the whole tests suite', tests_cmd: 'The command line to be used to run the whole tests suite' ) end |
#output_artifacts_contracts ⇒ Hash{Symbol => Object}
Define output artifacts contracts
25 26 27 |
# File 'lib/x_aeon_agents/agents/tester_agent.rb', line 25 def output_artifacts_contracts super.merge(plan_modifications: 'The modification or divergence you considered from the implementation plan') end |