From ef6917b3186b8ec5616e8237a6b2b63ea43dda94 Mon Sep 17 00:00:00 2001 From: cfdaily Date: Tue, 26 May 2026 13:48:25 +0800 Subject: [PATCH] auto-sync: 2026-05-26 13:48:24 --- src/daemon/spawner.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/daemon/spawner.py b/src/daemon/spawner.py index 1b3e8f5..2913a83 100644 --- a/src/daemon/spawner.py +++ b/src/daemon/spawner.py @@ -571,13 +571,13 @@ curl -X POST http://{api_host}:{api_port}/api/projects/{project_id}/tasks/{task_ stderr_text = b"".join(stderr_chunks).decode("utf-8", errors="replace") # 解析 stdout JSON - meta = self._parse_stdout_json(stdout_text) + json_result = self._parse_stdout_json(stdout_text) # 查任务实际状态 task_status = self._get_task_status(db_path, task_id) if task_id else None # 分类 - cls = self._classify_outcome(exit_code, meta, stderr_text, task_status, stdout_text) + cls = self._classify_outcome(exit_code, json_result, stderr_text, task_status, stdout_text) outcome = cls["outcome"] # 更新 session 状态 @@ -586,17 +586,18 @@ curl -X POST http://{api_host}:{api_port}/api/projects/{project_id}/tasks/{task_ self._sessions[sid]["status"] = outcome self._sessions[sid]["completed_at"] = datetime.utcnow().isoformat() self._sessions[sid]["exit_code"] = exit_code - if meta: - self._sessions[sid]["meta"] = meta + if json_result: + self._sessions[sid]["meta"] = json_result # 记录 attempt self._record_attempt( task_id, agent_id, outcome, exit_code=exit_code, db_path=db_path, metadata={ - "transport": meta.get("transport"), - "fallback_reason": meta.get("fallbackReason"), - "duration_ms": meta.get("durationMs"), + "status": json_result.get("status"), + "summary": json_result.get("summary"), + "fallback_used": json_result.get("fallback_used"), + "fallback_reason": json_result.get("fallback_reason"), "task_status_at_exit": task_status, } )