2026-10-20,用户确认:30 分钟课对应复习工资 0.50 元/条,60 分钟课对应 1.00 元/条;学生账号自行完成复习不产生老师工资。仍需计划当天首次完成;逾期补做、重复提交不增加工资。
scripts/sql/review-pay-policy.sql 在既有 review-rewards、lesson-records、payroll-integrity 迁移之后执行。发布时只应用本次增量,保存现网函数、视图、约束、相关工资及来源课次备份。completedBy、completionRole、durationMinutes、rateVersion 快照。学生完成写入零元 self_study 凭据,仍保存复习进度;老师随后重试不能补记工资。ReviewRewardRateCorrection 保存历史 30 分钟工资差额;现有 ReviewRewardIncome 统一提供净收入,老师端、后台和工资入账都消费该净额。原有逾期纠正可以继续冲销剩余 0.50 元,不能重复扣除原 1 元。本机受保护的审计、备份及发布证据目录:/Users/mac/.local/state/xiaoshu/cloud-releases/2026-10-20-review-pay/。
f04326a58199a78e51f8eee7f8e3c9fdc3859215 已推送。执行前同步租约为空,6 个将被替换的现网 SQL 函数体与仓库基线相符;应用后逐函数体回读一致。self_study,老师随后重试仍为零;实际完成身份及时长快照正确。测试数据全部回滚。history-review-identity-pending.json,只标记待核对,不假定均为学生自习。时长纠正与身份核对分开留证。reviewRewardPage 函数,保留其余现网定义差异,发布后 SHA-256 回读一致。mobile-f04326a58199-20261020T023454Z,106 个公网文件 SHA-256 与发布包一致,6 个无版本参数深路由通过;CDN 7933560586 已完成。admin-f04326a58199-20261020T023454Z,95 个公网文件及 4 个深路由通过;CDN 7933568042 已完成。docs/migration/ 未跟踪历史记录和 perf/bench/__pycache__/ 保留在本地,未纳入提交。