From 87e46652cfff7136cf8752c67b3b8b6b7733f17d Mon Sep 17 00:00:00 2001 From: zanjonke Date: Tue, 14 Apr 2026 15:38:44 +0200 Subject: [PATCH 1/2] Fixing ExitWithError action --- render_machine/actions/exit_with_error.py | 8 +++++++- render_machine/code_renderer.py | 1 - render_machine/render_context.py | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/render_machine/actions/exit_with_error.py b/render_machine/actions/exit_with_error.py index 0179734..b9683ea 100644 --- a/render_machine/actions/exit_with_error.py +++ b/render_machine/actions/exit_with_error.py @@ -3,6 +3,7 @@ from plain2code_console import console from render_machine.actions.base_action import BaseAction from render_machine.render_context import RenderContext +from render_machine.render_types import RenderError class ExitWithError(BaseAction): @@ -24,4 +25,9 @@ def execute(self, render_context: RenderContext, previous_action_payload: Any | if render_context.run_state.render_id is not None: console.info(f"Render ID: {render_context.run_state.render_id}") - return self.SUCCESSFUL_OUTCOME, previous_action_payload + return ( + self.SUCCESSFUL_OUTCOME, + RenderError.encode( + message=render_context.last_error_message or "Unknown error", + ).to_payload(), + ) diff --git a/render_machine/code_renderer.py b/render_machine/code_renderer.py index 7869012..7293c9f 100644 --- a/render_machine/code_renderer.py +++ b/render_machine/code_renderer.py @@ -59,7 +59,6 @@ def run(self): previous_state = deepcopy(self.render_context.state) self.render_context.script_execution_history.should_update_script_outputs = False # Reset error message at start of each iteration to prevent stale data - self.render_context.last_error_message = None outcome, previous_action_payload = self.action_map[self.render_context.state].execute( self.render_context, previous_action_payload diff --git a/render_machine/render_context.py b/render_machine/render_context.py index e4fb084..7974428 100644 --- a/render_machine/render_context.py +++ b/render_machine/render_context.py @@ -443,6 +443,7 @@ def start_fixing_conformance_tests(self): self.conformance_tests_running_context.conformance_tests_render_attempts >= MAX_CONFORMANCE_TEST_RERENDER_ATTEMPTS ): + # TODO: Change the below error message error_msg = f"We've already tried to fix the issue by recreating the conformance tests but tests still fail. Please fix the issues manually. FRID: {self.frid_context.frid}, Render ID: {self.run_state.render_id}" self.dispatch_error(error_msg) else: From aac0015f4bcb374ab89e47322084760ff19a5ffd Mon Sep 17 00:00:00 2001 From: zanjonke Date: Thu, 23 Apr 2026 15:37:22 +0200 Subject: [PATCH 2/2] Updating copy --- render_machine/code_renderer.py | 1 - render_machine/render_context.py | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/render_machine/code_renderer.py b/render_machine/code_renderer.py index 7293c9f..b6b5c74 100644 --- a/render_machine/code_renderer.py +++ b/render_machine/code_renderer.py @@ -58,7 +58,6 @@ def run(self): ) previous_state = deepcopy(self.render_context.state) self.render_context.script_execution_history.should_update_script_outputs = False - # Reset error message at start of each iteration to prevent stale data outcome, previous_action_payload = self.action_map[self.render_context.state].execute( self.render_context, previous_action_payload diff --git a/render_machine/render_context.py b/render_machine/render_context.py index 7974428..8541025 100644 --- a/render_machine/render_context.py +++ b/render_machine/render_context.py @@ -443,8 +443,7 @@ def start_fixing_conformance_tests(self): self.conformance_tests_running_context.conformance_tests_render_attempts >= MAX_CONFORMANCE_TEST_RERENDER_ATTEMPTS ): - # TODO: Change the below error message - error_msg = f"We've already tried to fix the issue by recreating the conformance tests but tests still fail. Please fix the issues manually. FRID: {self.frid_context.frid}, Render ID: {self.run_state.render_id}" + error_msg = f"The renderer was unable to produce an implementation that passes conformance tests for functionality '{self.frid_context.frid}' after many attempts. Please review and rewrite the specification. (Render ID: {self.run_state.render_id})" self.dispatch_error(error_msg) else: self.conformance_tests_running_context.regenerating_conformance_tests = True