From d86c1b0434551710ede3a243aaf418da4bb4e8fe Mon Sep 17 00:00:00 2001 From: Predrag Radenkovic Date: Fri, 24 Apr 2026 09:56:30 +0200 Subject: [PATCH] Fix memory creation triggering across different modules with same frid Memory creation guard conditions compared only frid, not frid+module, causing create_conformance_test_memory to fire on the first failure of a new (module, frid) pair using stale code_diff from a previous module. --- memory_management.py | 15 +++++++++++++-- render_machine/actions/fix_conformance_test.py | 3 +++ render_machine/render_types.py | 1 + 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/memory_management.py b/memory_management.py index 998b7b9..61e4ba6 100644 --- a/memory_management.py +++ b/memory_management.py @@ -33,18 +33,29 @@ def create_conformance_tests_memory( ): current_conformance_tests_issue_frid = render_context.conformance_tests_running_context.current_testing_frid + current_conformance_tests_issue_module = ( + render_context.conformance_tests_running_context.current_testing_module_name + ) old_conformance_tests_issue_frid = ( render_context.conformance_tests_running_context.previous_conformance_tests_issue_frid ) + old_conformance_tests_issue_module = ( + render_context.conformance_tests_running_context.previous_conformance_tests_issue_module + ) old_conformance_tests_issue = ( render_context.conformance_tests_running_context.previous_conformance_tests_issue_old ) is_first_time_running_conformance_tests = ( - old_conformance_tests_issue_frid is None or old_conformance_tests_issue_frid == "" + old_conformance_tests_issue_frid is None + or old_conformance_tests_issue_frid == "" + or old_conformance_tests_issue_module != current_conformance_tests_issue_module + ) + is_same_frid_as_previous_failing_test = ( + current_conformance_tests_issue_frid == old_conformance_tests_issue_frid + and current_conformance_tests_issue_module == old_conformance_tests_issue_module ) - is_same_frid_as_previous_failing_test = current_conformance_tests_issue_frid == old_conformance_tests_issue_frid is_conformance_test_failed = exit_code != CONFORMANCE_TESTS_SUCCESS_EXIT_CODE should_create_memory = not is_first_time_running_conformance_tests and ( diff --git a/render_machine/actions/fix_conformance_test.py b/render_machine/actions/fix_conformance_test.py index 076c195..6f436e2 100644 --- a/render_machine/actions/fix_conformance_test.py +++ b/render_machine/actions/fix_conformance_test.py @@ -30,6 +30,9 @@ def execute(self, render_context: RenderContext, previous_action_payload: Any | render_context.conformance_tests_running_context.previous_conformance_tests_issue_frid = ( render_context.conformance_tests_running_context.current_testing_frid ) + render_context.conformance_tests_running_context.previous_conformance_tests_issue_module = ( + render_context.conformance_tests_running_context.current_testing_module_name + ) if render_context.conformance_tests_running_context.current_testing_frid == render_context.frid_context.frid: console_message = f"Fixing conformance test for functionality {render_context.conformance_tests_running_context.current_testing_frid} in module {render_context.conformance_tests_running_context.current_testing_module_name}." diff --git a/render_machine/render_types.py b/render_machine/render_types.py index 91c17d5..05bad6c 100644 --- a/render_machine/render_types.py +++ b/render_machine/render_types.py @@ -49,6 +49,7 @@ def __init__( self.current_testing_frid_high_level_implementation_plan: Optional[str] = None self.previous_conformance_tests_issue_old: Optional[str] = None self.previous_conformance_tests_issue_frid: Optional[str] = None + self.previous_conformance_tests_issue_module: Optional[str] = None self.code_diff_files: Optional[dict[str, str]] = None def get_conformance_tests_json(self, module_name: str) -> dict: