All checks were successful
Deploy API Server / build-and-deploy (push) Successful in 45s
- runtime-internal.service: resolveSnapshot 自动重建、persistResult 5种jobType持久化、validateOutput 校验、convertQuizCandidates/convertFlashcardCandidates 候选转换、notifyJobComplete 通知、JOB_CANCELLED处理、heartbeat 双阶段更新+取消检测 - user-ai.service: createAnalysisJob 11步流程、cancelJob、publishQuiz/publishFlashcard、getAnalysis/listAnalyses等 - user-ai.controller: 20+ 用户API端点 - 新增服务: SnapshotBuilderService、PriorityRulesService、SnapshotCleanupService、JobReaperService - 新增模块: admin-learning (CRUD管理) - Prisma schema: cancelRequestedAt/cancelledAt/sourceBlockIds 字段、expiresAt 索引 - 文档: ai-runtime-user-api.md、Issue 记录 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1.5 KiB
1.5 KiB
API-AI-R02: sourceDataVersion 增强
基本信息
| 字段 | 值 |
|---|---|
| Issue ID | API-AI-R02 |
| 类型 | Non-blocking / 增强 |
| 仓库 | api-server |
| 关联 Issue | API-AI-021 (Snapshot 版本化与过期) |
| 发现日期 | 2026-06-17 |
| 优先级 | P2 |
问题描述
LearningAnalysisSnapshot.sourceDataVersion 字段当前写入固定值 '1.0'(snapshot-builder.service.ts:122),但缺乏自动递增/校验机制。
当前状态
- 字段已写入:
sourceDataVersion: SOURCE_DATA_VERSION(常量'1.0') resolveSnapshot已做版本匹配检查:existing.sourceDataVersion === SOURCE_DATA_VERSION- 缺少:当聚合逻辑变更时自动检测并递增版本号的能力
期望增强
当以下任一变更发生时,SOURCE_DATA_VERSION 需要手动递增,但目前依赖开发者记忆:
computeSignals信号计算公式变更getScoreWeights权重调整classifyMasteryLevel分类阈值变更BEHAVIOR_WINDOW_DAYS/SCORE_WINDOW_DAYS等窗口常量变更- 聚合查询字段增减
建议方案
- 方案 A:在 CI 中对信号计算相关文件做 hash,hash 变更时校验是否同步更新了
SOURCE_DATA_VERSION - 方案 B:将
SOURCE_DATA_VERSION改为从信号逻辑的语义版本自动推导 - 方案 C:在开发流程中增加 checklist,变更信号逻辑时必须更新版本号
相关文件
src/modules/ai-runtime/snapshot-builder.service.tssrc/modules/ai-runtime/internal/runtime-internal.service.ts:resolveSnapshot()