Explorar el Código

docs: record all-teacher review audit and production verification

彭峰 hace 6 horas
padre
commit
ac85b60d81
Se han modificado 1 ficheros con 112 adiciones y 0 borrados
  1. 112 0
      docs/qa/all-teacher-review-audit-2026-11-07.md

+ 112 - 0
docs/qa/all-teacher-review-audit-2026-11-07.md

@@ -0,0 +1,112 @@
+# 2026-11-07 全体老师今日抗遗忘对账与上线验收
+
+日期按北京时间,最终回读时间:2026/11/7 08:41:39。
+
+## 结果
+
+- 已覆盖全部 64 个正常、未停用、未删除的陪练账号。23 位今天有任务,41 位今天无任务。
+- 老系统完整分页清单 118 条、20 位老师;新系统今天 136 条、23 位老师。
+- 老系统 118 条全部一对一存在,任务主键无重复;学生、复习老师、学习记录、预约、课程、计划日期、完成状态逐字段一致。无漏同步、无归属错配。
+- 全部 136 条均有有效学习来源,学生与学习记录/预约一致,预约关联一致。修复后没有空内容被误过滤的今日任务。
+- 新系统新增 18 条均可追溯到同一学生、同一预约的完课记录、完课报告和 cloud:lesson-study 来源。其中 3 条通过人工转交产生当前老师,转交版本与最后审计记录一致;另外 15 条与预约复习老师一致。
+- 对今天所有任务已有的 7 条转交审计均核对了当前归属及版本,全部一致,没有回写覆盖。
+
+## 本轮发现与修复
+
+单国美陪练(1483)的田柏文高中(1712)有 4 条写作复习被过滤,任务号为 887339、883452、882003、879686。它们对应的旧预约 859866、859865、870289、859864 在老系统均已完课,且新库中存在相同学生、课次、课程的有效旧 LessonRecord;但经过分类的旧预约保留 dszt=0,读取规则只接受常规已开始/已完成状态,因此误认为没有复习内容。
+
+读取规则现仅在以下条件同时满足时接受该兼容场景:旧阅读写作课程 398、旧预约主附表来源一致、同一学生和预约、可信且有效的旧完课主附表凭据;取消、来源不一致、错学生、错预约、错课程和无完课证明仍拒绝。列表和详情使用同一来源判断。详情恢复笔记复习入口,无需推断计费学段或修改预约状态。
+
+单国美今天从可见 9 条恢复为 13 条。田柏文今天共 5 条(旧 4 + 新 1)。魏格格今天仍为 8 条,其中龙泓钢 6 条全部可见并能进入笔记模式。
+
+## 每位老师的今天任务
+
+“新系统新增”为存在新系统完课来源、未包含在老系统今日清单中的任务。以下计数包括今天已完成和未完成的任务,复习完成状态保持原值。
+
+| 老师 ID | 老师 | 老系统 | 新系统新增 | 上线后可见 |
+| --- | --- | ---: | ---: | ---: |
+| 3 | 金老师 | 0 | 0 | 0 |
+| 4 | 李老师 | 0 | 0 | 0 |
+| 18 | 111 | 0 | 0 | 0 |
+| 19 | 222 | 0 | 0 | 0 |
+| 20 | 3号陪练 | 0 | 0 | 0 |
+| 54 | 郑明明 | 0 | 0 | 0 |
+| 65 | 赵老师 | 0 | 0 | 0 |
+| 69 | 钱老师 | 0 | 4 | 4 |
+| 87 |  | 0 | 0 | 0 |
+| 88 | 江老师 | 0 | 2 | 2 |
+| 104 | 张老师 | 2 | 3 | 5 |
+| 105 | 李老师 | 0 | 1 | 1 |
+| 129 | 周慧琴陪练 | 4 | 0 | 4 |
+| 136 | 郑佳雯陪练 | 0 | 0 | 0 |
+| 155 | 杨珍陪练 | 0 | 0 | 0 |
+| 253 | 熊小俊自习 | 0 | 0 | 0 |
+| 353 | 袁姝婷陪练 | 0 | 0 | 0 |
+| 359 | 维恩熊老师 | 0 | 0 | 0 |
+| 362 | 维恩陈老师 | 0 | 0 | 0 |
+| 1386 | 章依言陪练 | 0 | 0 | 0 |
+| 1398 | 邹宇佳陪练 | 0 | 0 | 0 |
+| 1401 | 李欣馨陪练 | 5 | 0 | 5 |
+| 1430 | 邱桂林老师 | 0 | 0 | 0 |
+| 1457 | 孙丽陪练 | 0 | 0 | 0 |
+| 1459 | 罗若莹陪练 | 0 | 0 | 0 |
+| 1483 | 单国美陪练 | 11 | 2 | 13 |
+| 1493 | 楼奕辰陪练 | 0 | 0 | 0 |
+| 1526 | 方则盈陪练 | 0 | 0 | 0 |
+| 1532 | 邓泽扬陪练 | 9 | 4 | 13 |
+| 1535 | 史远见陪练 | 0 | 0 | 0 |
+| 1548 | 乐俊茹陪练 | 0 | 0 | 0 |
+| 1587 | 颜倩陪练 | 0 | 0 | 0 |
+| 1588 | 石佩瀛陪练 | 0 | 0 | 0 |
+| 1589 | 涂琪琪陪练 | 6 | 0 | 6 |
+| 1592 | 傅若妍陪练 | 0 | 0 | 0 |
+| 1604 | 熊雅琴陪练 | 2 | 0 | 2 |
+| 1605 | 谭艳陪练 | 12 | 0 | 12 |
+| 1606 | 吴怡娟陪练 | 0 | 0 | 0 |
+| 1610 | 龚梓萱高三 | 0 | 0 | 0 |
+| 1612 | 李欢陪练 | 0 | 0 | 0 |
+| 1613 | 王奕如陪练 | 0 | 0 | 0 |
+| 1614 | 王玲陪练 | 3 | 0 | 3 |
+| 1615 | 涂一凡陪练 | 0 | 0 | 0 |
+| 1665 | 揭子璇陪练 | 8 | 0 | 8 |
+| 1684 | 余俊豪陪练 | 0 | 0 | 0 |
+| 1685 | 方志伟陪练 | 9 | 0 | 9 |
+| 1714 | 裘斯涵陪练 | 3 | 1 | 4 |
+| 1730 | 聂雅芝陪练 | 0 | 0 | 0 |
+| 1739 | 王渔萍陪练 | 0 | 0 | 0 |
+| 1745 | 龚雨明陪练 | 0 | 0 | 0 |
+| 1766 | 郭素珍陪练 | 9 | 0 | 9 |
+| 1783 | 徐琪琪教练 | 0 | 0 | 0 |
+| 1792 | 高杰陪练 | 0 | 0 | 0 |
+| 1793 | 虞欣悦陪练 | 0 | 0 | 0 |
+| 1794 | 李家慧陪练 | 0 | 0 | 0 |
+| 1805 | 魏格格陪练 | 8 | 0 | 8 |
+| 1810 | 曾子瑜陪练 | 5 | 1 | 6 |
+| 1822 | 樊颖陪练 | 6 | 0 | 6 |
+| 1823 | 周游锦陪练 | 7 | 0 | 7 |
+| 1851 | 魏湛陪练 | 3 | 0 | 3 |
+| 1852 | 张静陪练 | 0 | 0 | 0 |
+| 1859 | 聂诗琪陪练 | 3 | 0 | 3 |
+| 1860 | 明慧陪练 | 3 | 0 | 3 |
+| 1867 | 张思艺陪练 | 0 | 0 | 0 |
+| 合计 | 64 位 | 118 | 18 | 136 |
+
+## 验证与发布
+
+- 新增真实 PostgreSQL 引擎回归用例,先复现状态滞后时列表 0 而预期 2 的失败,再验证修复。覆盖列表、分页、汇总、学员元数据、详情笔记模式及错误来源的拒绝。
+- 相关 18 项测试通过;完整后台测试 442/442 通过;cloud:validate 验证 11 个云函数定义通过;git diff --check 通过。
+- 代码提交并推送 main:90595c9(fix(review): recognize verified legacy completion for stale bookings)。
+- 仅替换线上 xiaoshu.app.gateway 的 notesReviewSourceSql、recordDetailData 两个函数,其余函数逐一校验保持一致;无数据库业务数据修复或前端发布。
+- 线上源代码 SHA-256 回读匹配:`dfce59091eb18eb9c53b8a663652f79bcffadec13cc4f7e6dba213ba5d5698e6`。
+- 发布前候选代码、发布后实际代码分别以数据库中真实 Parse.User 老师对象检查全部 64 位老师,逐页核对完整 ID 集合、学生和老师、日期与今日统计。检查使用短期、仅当前管理员可调用的封装,保留实际业务授权与 SQL,省略与任务读取无关的版本查询;封装已逐次清理。
+- 正式公开 API 使用已有管理员会话查询田柏文 5 条、龙泓钢 6 条,并检查全部 10 个旧写作学习记录的笔记详情入口通过;没有冒用老师会话。
+- 发布后再次读取老系统完整清单并与新库核对:老 118、新 136、缺失 0、主键重复 0、关联/归属差异 0、完成状态差异 0、误隐藏 0。
+- 发布前后快照一致:136 条任务的归属、完成状态和版本;4 个相关预约完整数据;今日任务计薪凭据(当前 0 条);7 条转交审计。没有提交真实复习完成、生成计薪或改动课时。
+
+## 已有来源及客户端说明
+
+老系统自身存在同一学生、学习记录、日期的两条不同任务(879512、879520),新系统保持与源清单一致;其中原有 rewardDuplicate 标记保留,不删除历史任务或放开重复计薪。
+
+老师首页今日列表按登录与日期缓存。本次为服务端修复,已打开页面需点击“今日抗遗忘带练”卡片右侧刷新按钮重新拉取;普通页面重载可能仍读取会话缓存。此次验收覆盖服务端真实数据、权限、公开 API 和已有自动回归,没有冒充老师实际手机操作或提交真实复习完成。
+
+私有完整原始清单、发布备份和回执保存在本机 cloud-releases/2026-11-07-all-teacher-review-audit 目录,未将账号会话或密钥提交到仓库。