1919from render_machine .actions .fix_conformance_test import FixConformanceTest
2020from render_machine .actions .fix_unit_tests import FixUnitTests
2121from render_machine .actions .prepare_repositories import PrepareRepositories
22+ from render_machine .actions .prepare_implementation_information import PrepareImplementationInformation
2223from render_machine .actions .prepare_testing_environment import PrepareTestingEnvironment
2324from render_machine .actions .refactor_code import RefactorCode
2425from render_machine .actions .render_conformance_tests import RenderConformanceTests
@@ -77,6 +78,7 @@ def get_action_map(self) -> Dict[str, Any]:
7778 """Get the mapping of states to their corresponding actions."""
7879 return {
7980 States .RENDER_INITIALISED .value : PrepareRepositories (),
81+ f"{ States .IMPLEMENTING_FRID .value } _{ States .PREPARE_IMPLEMENTATION_INFORMATION .value } " : PrepareImplementationInformation (),
8082 f"{ States .IMPLEMENTING_FRID .value } _{ States .READY_FOR_FRID_IMPLEMENTATION .value } " : RenderFunctionalRequirement (),
8183 f"{ States .IMPLEMENTING_FRID .value } _{ States .PROCESSING_UNIT_TESTS .value } _{ States .UNIT_TESTS_READY .value } " : RunUnitTests (),
8284 f"{ States .IMPLEMENTING_FRID .value } _{ States .PROCESSING_UNIT_TESTS .value } _{ States .UNIT_TESTS_FAILED .value } " : FixUnitTests (),
@@ -112,6 +114,8 @@ def get_action_result_triggers_map(self) -> Dict[str, str]:
112114 """Get the mapping of action outcomes to state machine triggers."""
113115 return {
114116 PrepareRepositories .SUCCESSFUL_OUTCOME : triggers .START_RENDER ,
117+ PrepareImplementationInformation .SUCCESSFUL_OUTCOME : triggers .MARK_IMPLEMENTATION_INFORMATION_PREPARED ,
118+ PrepareImplementationInformation .FAILED_OUTCOME : triggers .HANDLE_ERROR ,
115119 RenderFunctionalRequirement .SUCCESSFUL_OUTCOME : triggers .RENDER_FUNCTIONAL_REQUIREMENT ,
116120 RenderFunctionalRequirement .FUNCTIONAL_REQUIREMENT_TOO_COMPLEX_OUTCOME : triggers .HANDLE_ERROR ,
117121 RunUnitTests .SUCCESSFUL_OUTCOME : triggers .MARK_UNIT_TESTS_PASSED ,
@@ -221,11 +225,15 @@ def get_states(self, render_context: RenderContext) -> List[Any]:
221225 States .RENDER_INITIALISED .value ,
222226 {
223227 "name" : States .IMPLEMENTING_FRID .value ,
224- "initial" : States .READY_FOR_FRID_IMPLEMENTATION .value ,
228+ "initial" : States .PREPARE_IMPLEMENTATION_INFORMATION .value ,
225229 "on_enter" : "start_implementing_frid" ,
226230 "on_exit" : "finish_implementing_frid" ,
227231 "children" : [
228232 {"name" : States .STEP_COMPLETED .value , "on_exit" : "finish_frid_implementation_step" },
233+ {
234+ "name" : States .PREPARE_IMPLEMENTATION_INFORMATION .value ,
235+ "on_enter" : "start_prepare_implementation_information" ,
236+ },
229237 {"name" : States .READY_FOR_FRID_IMPLEMENTATION .value , "on_enter" : "check_frid_iteration_limit" },
230238 self .get_processing_unit_tests_states (UnitTestsConfig .for_implementation (render_context )),
231239 refactoring_code_states ,
@@ -249,6 +257,11 @@ def get_transitions(self) -> List[Dict[str, Any]]:
249257 "trigger" : triggers .START_RENDER ,
250258 "dest" : States .IMPLEMENTING_FRID .value ,
251259 },
260+ {
261+ "source" : f"{ States .IMPLEMENTING_FRID .value } _{ States .PREPARE_IMPLEMENTATION_INFORMATION .value } " ,
262+ "trigger" : triggers .MARK_IMPLEMENTATION_INFORMATION_PREPARED ,
263+ "dest" : f"{ States .IMPLEMENTING_FRID .value } _{ States .READY_FOR_FRID_IMPLEMENTATION .value } " ,
264+ },
252265 {
253266 "source" : f"{ States .IMPLEMENTING_FRID .value } _{ States .READY_FOR_FRID_IMPLEMENTATION .value } " ,
254267 "trigger" : triggers .RENDER_FUNCTIONAL_REQUIREMENT ,
0 commit comments