From 93bcd2d5b95484d2217c2214d4a9e844c2e3218a Mon Sep 17 00:00:00 2001 From: aerospaceboy <790286734@qq.com> Date: Sun, 18 Oct 2026 12:21:42 +0800 Subject: [PATCH] fix: retain chat compatibility with lightweight score results --- backend/tests/test_chat_agent.py | 1 + backend/wisegrade/agent_tools.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/backend/tests/test_chat_agent.py b/backend/tests/test_chat_agent.py index 36666ea..4724ba9 100644 --- a/backend/tests/test_chat_agent.py +++ b/backend/tests/test_chat_agent.py @@ -93,6 +93,7 @@ def test_get_scores_pages_projects_and_criteria(db, monkeypatch): assert first_page["count"] == 2 and len(first_page["results"]) == 1 assert first_page["results"][0]["project_id"] == first.id assert len(first_page["results"][0]["rows"]) == 6 + assert first_page["results"][0]["rows"][0]["status_label"] == "模型已评分" assert first_page["next_criterion_offset"] == 6 and first_page["next_project_offset"] == 1 assert first_page["citations"][0]["url"] is None assert first_page["citations"][0]["image_url"] is None diff --git a/backend/wisegrade/agent_tools.py b/backend/wisegrade/agent_tools.py index 72c9af6..10d843f 100644 --- a/backend/wisegrade/agent_tools.py +++ b/backend/wisegrade/agent_tools.py @@ -9,7 +9,7 @@ from sqlalchemy import select from .actions import prepare, require_scope from .evidence import CONTENT_ALLOWED, STRUCTURE_ALLOWED -from .exports import batch_projects, page_type_label, project_result +from .exports import batch_projects, criterion_status_label, page_type_label, project_result from .knowledge_pages import page_links from .models import (Conversation, Course, CourseVersion, IndexTask, KnowledgeChunk, KnowledgeDocument, KnowledgePage, Project, RubricVersion, ScoringBatch, Student, SubmissionFile) @@ -384,7 +384,7 @@ def scores(db, convo, args, _user): "max_score": row["criterion"]["max_score"], "score_id": row["score_id"], "model_score": row["model_score"], "teacher_score": row["teacher_score"], "final_score": row["final_score"], "status": row["status"], - "status_label": row["status_label"], + "status_label": row.get("status_label") or criterion_status_label(row["status"], row.get("error") or ""), "error": str(row["error"] or "")[:300], # Which body targets still lack evidence, so the answer can # explain a review item instead of reporting a score.