From 3187fb5d2f5e4fb94594186419b7528f4e7b1b4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A0=D0=B8=D0=BD=D0=B0=D1=80=20=D0=9C=D0=B8=D1=80=D0=B7?= =?UTF-8?q?=D0=B0=D0=B3=D0=B8=D1=82=D0=BE=D0=B2?= Date: Tue, 16 Jun 2026 10:42:28 +0000 Subject: [PATCH] Solution published: update main.py --- main.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/main.py b/main.py index 1113bed..133a813 100644 --- a/main.py +++ b/main.py @@ -76,7 +76,7 @@ def reflect(state: CodeReviewState) -> CodeReviewState: response = llm.invoke([HumanMessage(content=prompt)]) try: data = ReflectOutput.model_validate_json(response.content) - except Exception as e: + except Exception: # Fallback simple parsing data = ReflectOutput.model_validate_json("{\"scores\":{\"pep8\":5,\"type_hints\":5,\"edge_cases\":5,\"naming\":5},\"weakest_criterion\":\"pep8\",\"verdict\":\"needs_revision\"}") state["criteria_scores"] = data.scores @@ -111,13 +111,12 @@ builder.add_conditional_edges( lambda state: state["verdict"] == "ok", {"ok": END, "needs_revision": "rewrite"}, ) +# After rewrite, decide to reflect again or end if max rounds reached builder.add_conditional_edges( "rewrite", - lambda state: state["round"] < state["max_rounds"], - {"rewrite": "reflect", "maxed": END}, + lambda state: "reflect" if state["round"] < state["max_rounds"] else END, + {"reflect": "reflect", "END": END} ) -# If maxed, go to END -builder.add_edge("rewrite", "maxed") graph = builder.compile()