fix: universal parsing + OpenRouter + state bug — purpose_agent/orchestrator.py
Browse files
purpose_agent/orchestrator.py
CHANGED
|
@@ -415,6 +415,8 @@ class Orchestrator:
|
|
| 415 |
)
|
| 416 |
|
| 417 |
# Step 5: Check termination
|
|
|
|
|
|
|
| 418 |
if score.phi_after >= early_stop_phi:
|
| 419 |
logger.info(f"Early stop: Φ={score.phi_after:.1f} ≥ {early_stop_phi}")
|
| 420 |
break
|
|
@@ -423,8 +425,6 @@ class Orchestrator:
|
|
| 423 |
logger.info("Environment signaled terminal state")
|
| 424 |
break
|
| 425 |
|
| 426 |
-
current_state = new_state
|
| 427 |
-
|
| 428 |
# Post-task processing
|
| 429 |
result = TaskResult(trajectory=trajectory, final_state=current_state)
|
| 430 |
self.post_task(trajectory, relevant_experiences)
|
|
|
|
| 415 |
)
|
| 416 |
|
| 417 |
# Step 5: Check termination
|
| 418 |
+
current_state = new_state # Update state BEFORE checking termination
|
| 419 |
+
|
| 420 |
if score.phi_after >= early_stop_phi:
|
| 421 |
logger.info(f"Early stop: Φ={score.phi_after:.1f} ≥ {early_stop_phi}")
|
| 422 |
break
|
|
|
|
| 425 |
logger.info("Environment signaled terminal state")
|
| 426 |
break
|
| 427 |
|
|
|
|
|
|
|
| 428 |
# Post-task processing
|
| 429 |
result = TaskResult(trajectory=trajectory, final_state=current_state)
|
| 430 |
self.post_task(trajectory, relevant_experiences)
|