33
44import file_utils
55import plain_spec
6+ import repo_map
67from memory_management import MemoryManager
78from plain2code_console import console
89from render_machine .actions .base_action import BaseAction
@@ -113,8 +114,9 @@ def _render_conformance_tests(self, render_context: RenderContext):
113114
114115 all_acceptance_tests = render_context .frid_context .specifications .get (plain_spec .ACCEPTANCE_TESTS , [])
115116
117+ specifications = self ._build_specifications_text (render_context )
116118 task_params = {
117- "specifications" : self . _build_specifications_text ( render_context ) ,
119+ "specifications" : specifications ,
118120 "linked_resource_paths" : self ._get_linked_resource_paths (render_context ),
119121 "acceptance_tests" : all_acceptance_tests ,
120122 "build_folder" : render_context .build_folder ,
@@ -129,12 +131,29 @@ def _render_conformance_tests(self, render_context: RenderContext):
129131 "memory_folder" : render_context .memory_manager .memory_folder ,
130132 "memory_file_names" : MemoryManager .list_memory_files (render_context .memory_manager .memory_folder ),
131133 }
134+ self ._add_orientation_params (task_params , render_context , conformance_tests_folder_name , specifications )
132135
133136 tool_executor = ToolExecutor (available_tools = RENDER_CONFORMANCE_TESTS_TOOLS )
134137 agent_runner .run ("render_conformance_tests" , task_params , render_context , tool_executor )
135138
136139 return self .SUCCESSFUL_OUTCOME , None
137140
141+ @staticmethod
142+ def _add_orientation_params (
143+ task_params : dict , render_context : RenderContext , conformance_tests_folder_name : str , specifications : str
144+ ) -> None :
145+ """Seed the session with the codebase map and the module's implementation history."""
146+ repo_map_text = repo_map .build_repo_map_param (
147+ render_context ,
148+ conformance_tests_folder = conformance_tests_folder_name ,
149+ relevance_text = specifications ,
150+ )
151+ if repo_map_text :
152+ task_params ["repo_map" ] = repo_map_text
153+ code_brief = repo_map .read_code_brief (render_context .build_folder )
154+ if code_brief :
155+ task_params ["code_brief" ] = code_brief
156+
138157 def _render_acceptance_test (self , render_context : RenderContext ):
139158 if plain_spec .ACCEPTANCE_TESTS not in render_context .frid_context .specifications :
140159 return self .SUCCESSFUL_OUTCOME , None
@@ -156,8 +175,9 @@ def _render_acceptance_test(self, render_context: RenderContext):
156175
157176 console .info (f"Agent generating acceptance test:\n { acceptance_test } " )
158177
178+ specifications = self ._build_specifications_text (render_context )
159179 task_params = {
160- "specifications" : self . _build_specifications_text ( render_context ) ,
180+ "specifications" : specifications ,
161181 "linked_resource_paths" : self ._get_linked_resource_paths (render_context ),
162182 "acceptance_test" : acceptance_test ,
163183 "existing_conformance_tests" : conformance_tests_files_content ,
@@ -173,6 +193,7 @@ def _render_acceptance_test(self, render_context: RenderContext):
173193 "memory_folder" : render_context .memory_manager .memory_folder ,
174194 "memory_file_names" : MemoryManager .list_memory_files (render_context .memory_manager .memory_folder ),
175195 }
196+ self ._add_orientation_params (task_params , render_context , conformance_tests_folder_name , specifications )
176197
177198 tool_executor = ToolExecutor (available_tools = RENDER_CONFORMANCE_TESTS_TOOLS )
178199 agent_runner .run ("render_conformance_tests" , task_params , render_context , tool_executor )
0 commit comments