e9c7793714
feat(achievement): 添加按难度的 AC 题数指标,删除 min_ac_code_chars
...
新增 mid_ac_count / hard_ac_count,去重统计中等和困难难度的 AC 题数。
在此之前所有成就对水题和难题一视同仁,这是最缺的一个维度。
增量走 build_ctx 新增的 problem_difficulty,它只在首次 AC 时才查库——
绝大多数提交都不是首次 AC,无条件预查等于给每次判题白加一条 SQL。
删除 min_ac_code_chars:线上实测 1314 个用户的分布,最小值 8、p5=10,
有道题 8 个字符就能通过,这个指标测的是"谁做过那道水题"而不是
"谁写得简洁",配不出有意义的成就。
自检里写死 min_ac_code_chars 的两处改成按 lte 成就自动发现:
_check_registry 不再要求某个具体指标存在,_check_min_metric_absent
改为遍历所有上架的 lte 成就检查其指标。没有 lte 成就时 SKIP,
将来配了自动开始检查。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-05 11:02:36 -06:00
8ada9f72ed
feat(achievement): 添加部署后自检命令
...
只读,覆盖那些错了也不报错的地方:极小值指标对零 AC 用户是否返回 None、
JSONB 阈值比较是否按整数、重算是否重建了增量辅助键、
unlock_count 是否与实际解锁人数一致、是否有疑似配错阈值的成就。
这套系统开发全程无数据库,后端逻辑只经过纸面审查,这些是静态审查抓不到的部分。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-04 07:27:29 -06:00
1ef681d5e9
fix(achievement): 重算时重建增量辅助键,避免指标回退
2026-08-04 01:39:29 -06:00
13e2f6df08
feat(achievement): 添加全量重算管理命令
...
新增 recompute_achievements 管理命令:全量重算所有指标并按补发语义
解锁成就,用于首次上线补发存量用户、指标口径变更后重算,以及增量
逻辑漂移时的安全网。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-04 01:33:20 -06:00
456c435289
feat(achievement): 添加成就系统数据模型
2026-08-04 00:44:35 -06:00