Files
WiseGrade/docs/GRADING_FEEDBACK_OPTIMIZATION_2026-10-18.md
T

2.4 KiB
Raw Blame History

评分反馈与批次列表优化(2026-10-18)

改动

  • 0006387:批次列表的状态统计改为按批次和状态一次聚合,避免每个批次额外查询。接口字段、排序和无评分时的零计数保持一致。
  • ba5a695:API、聊天和导出反馈共用评分状态名称。先识别具体连接/超时/HTTP错误,再识别通用JSON校验提示,避免把被统一包装的连接错误误标为输出错误;证据不足说明不再断言报告没有正文。
  • 4fec28c:网页优先显示API给出的状态名称,并兼容缺少该字段的旧结果。
  • aa82523:增加“刷新评分”;保存教师复核后同步刷新批次状态与评分。刷新保留当前筛选,切换批次或学生时重置筛选;旧学生迟到的响应不会覆盖当前学生结果,教师零分正常保留。
  • 93bcd2d:聊天工具对简化评分结果回退到共用分类函数,不要求所有结果提供新增字段。

分支为 improve/grading-feedback,基于上游合并PR #2后的 7e2cdbd。每项改动独立提交,单次涉及1–3个文件。

验证

  • 独立SQLite回归:20个批次的列表查询从21次降为2次;空列表为1次。各状态计数与原结果一致。
  • 真实PostgreSQL只读测量:当前8个批次的列表查询从9次降为2次。这里记录查询次数,不将其等同于延迟提升比例。
  • Docker独立PostgreSQL/Redis环境运行完整非integration后端测试:154 passed,2 deselected。未运行在线模型测试,临时测试服务已停止。
  • Playwright:22 passed;TypeScript/Vite构建通过。覆盖最后一项复核保存后的批次状态更新、零分、筛选保留、旧学生迟到响应,以及被通用JSON错误包装的连接失败显示。
  • Docker API/Worker/Web更新并健康;更新前确认无排队和执行中的评分任务。
  • 实际网页:批次8为22项已评分、0项待处理,批次7为21项已评分、1项待处理;点击刷新后筛选与统计一致。无页面异常、无业务写请求、无模型调用。
  • 批次8结果仅增加展示用status_label字段。排除该新增字段后,更新前后规范化JSON的SHA-256一致,22项评分、评语与证据未改动。

本轮不重新评分、不改写原PDF、不修改历史批次结果。网页新增按钮只刷新读取数据;教师复核保存行为只在隔离测试中验证。