diff --git a/src/multi_agent_conductor.py b/src/multi_agent_conductor.py index 37268b59..c4e73598 100644 --- a/src/multi_agent_conductor.py +++ b/src/multi_agent_conductor.py @@ -588,7 +588,7 @@ def run_worker_lifecycle(ticket: Ticket, context: WorkerContext, context_files: ai_client.set_current_tier(f"Tier 3 (Worker): {ticket.id}") try: comms_baseline = len(ai_client.get_comms_log()) - response = ai_client.send( + result = ai_client.send_result( md_content=md_content, user_message=user_message, base_dir=".", @@ -597,6 +597,16 @@ def run_worker_lifecycle(ticket: Ticket, context: WorkerContext, context_files: patch_callback=ai_client.run_tier4_patch_callback, stream_callback=stream_callback ) + if not result.ok: + err = result.errors[0] if result.errors else None + err_msg = err.ui_message() if err else "unknown error" + print(f"[MMA] Worker send_result failed for {ticket.id}: {err_msg}") + if event_queue: + _queue_put(event_queue, "response", {"text": f"\n\n[ERROR] {err_msg}", "stream_id": f"Tier 3 (Worker): {ticket.id}", "status": "error", "role": "Vendor API"}) + _queue_put(event_queue, "ticket_completed", {"ticket_id": ticket.id, "timestamp": time.time()}) + ticket.status = "error" + return None + response = result.data finally: ai_client.set_comms_log_callback(old_comms_cb) ai_client.set_current_tier(None)