|
@@ -4,6 +4,72 @@
|
|
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
|
|
|
|
+## v1.0.2444 (2026-11-13)
|
|
|
|
|
+
|
|
|
|
|
+### 文档
|
|
|
|
|
+- 研发负责人错峰巡检汇报 2026-11-13 1712(S-cfc-310/312 实现收口 第153轮)
|
|
|
|
|
+
|
|
|
|
|
+### Bug 修复
|
|
|
|
|
+- teacher.family.overview 成员任务端点补跨家庭 memberId 归属校验(SC-T-13 数据隔离)
|
|
|
|
|
+
|
|
|
|
|
+### 其他
|
|
|
|
|
+- 未校验路径 memberId 是否属于该 familyId,已绑定家庭 A 的规划师传入属于家庭 B 的
|
|
|
|
|
+- memberId 即可跨家庭越权读取成员任务(IDOR)。补 selectById(memberId) 归属校验,
|
|
|
|
|
+- member 存在但 familyId 不匹配 → 403 拒绝,不进入 taskService。
|
|
|
|
|
+- TeacherFamilyOverviewContractTest RED 1(跨家庭 IDOR)→ GREEN 7/7;
|
|
|
|
|
+- GuideFamilyTaskControllerTest 全量 20/20 无回归。
|
|
|
|
|
+-
|
|
|
|
|
+- - 覆盖 WishService 状态机:提心愿 draft→定价 active→兑换审批→兑现 confirmReceived;积分不足拦截、被驳回不可兑、非归属成员越权拒绝
|
|
|
|
|
+- - 覆盖 EnergyService.deductForWish 真实扣减(余额充足/不足/非正金额)与 EnergyController 参数契约
|
|
|
|
|
+- - 实测结论:该能力实现已在 origin/cfclub 落地并被既有测试覆盖,本类按任务要求 #2 作为登记验证,12 用例全绿、不修改 src/main
|
|
|
|
|
+-
|
|
|
|
|
+- 1. 同步失败重试(SC-A-08/A-22 边界):
|
|
|
|
|
+- - LanggraphSyncService 新增 maxRetries 配置(dify.sync.max-retries 默认3)与
|
|
|
|
|
+- syncWithRetry(指数退避重试),syncToLanggraph 委托之;
|
|
|
|
|
+- - KnowledgeBaseVectorController.triggerSync 接受 @RequestBody Map 重试配置
|
|
|
|
|
+- (maxRetries),HTTP 调用失败按重试次数重试(postWithRetry)。
|
|
|
|
|
+- 2. 大批量分批(SC-A-08 边界):
|
|
|
|
|
+- - DanKnowledgeBaseService 新增 BATCH_SIZE(=100) 分批哨兵;
|
|
|
|
|
+- - backfillTags 按批回填并返回 batchSize/batchCount 批统计;
|
|
|
|
|
+- - 新增 syncBatch 分批同步入口(total/processed/batchSize/batchCount/batches)。
|
|
|
|
|
+- 3. 平台角色门禁(SC-A-08 权限粒度,对齐 AdminUnifiedKnowledgeController):
|
|
|
|
|
+- - KnowledgeBaseController 写入端点(save/delete/bind-tags/bind-dimensions/backfill-tags)
|
|
|
|
|
+- 增加 allowed(request) 门禁;
|
|
|
|
|
+- - KnowledgeBaseVectorController 全部端点增加 allowed(request) 门禁;
|
|
|
|
|
+- 角色集合 admin/operator/finance/knowledge_admin/butler。
|
|
|
|
|
+- 验证:mvn -q -Dtest=AdminKnowledgeBaseManageContractTest test → 13 run/0 fail/0 error。
|
|
|
|
|
+-
|
|
|
|
|
+- - SC-C-17 logout: POST /api/auth/logout endpoint missing; server-side token
|
|
|
|
|
+- invalidation (TokenBlacklistService) missing -> assertions RED
|
|
|
|
|
+- - SC-C-18 device/account binding: login DTO deviceId, /api/auth/device/verify,
|
|
|
|
|
+- device_bind table, DeviceBindService all missing -> assertions RED
|
|
|
|
|
+- - SC-C-01 / SC-C-16 status anchors: login family endpoints + LoginResultDTO.role
|
|
|
|
|
+- + maskChildSensitiveFields already implemented (GREEN, to be registered by orchestration)
|
|
|
|
|
+- Expected RED: 11 tests, 6 failures (logout x2 / device x4); GREEN phase implements
|
|
|
|
|
+- to turn green.
|
|
|
|
|
+-
|
|
|
|
|
+- RED(5): GrowthTaskController 无 checkin 提交端点; TaskCheckinDTO 未契约化;
|
|
|
|
|
+- GrowthPlanController 无 progress 端点; GrowthPlanProgressVO 未契约化;
|
|
|
|
|
+- 小游戏 score=999999 得125000分无上限(G-09)。
|
|
|
|
|
+- GREEN(4,已落地上报): /child/{id}/active 锚点; 重复打卡幂等(T24-A);
|
|
|
|
|
+- 驳回重做 reviewTask→pending; 打卡归属成员匹配(说明性)。
|
|
|
|
|
+- 溯源: SC-C-02/05/08/14 + API_REFERENCE §4.6 + child-zone-contract §2/§5G-09。
|
|
|
|
|
+-
|
|
|
|
|
+
|
|
|
|
|
+### 测试
|
|
|
|
|
+- 新增 child.wish.manage 契约级单测(SC-C-04 提心愿,实测全绿转测试登记)
|
|
|
|
|
+- 契约RED单测 child.diet.viewMenu 饮食食谱查看(SC-C-12 当日三餐·空态)
|
|
|
|
|
+- 契约级单测 child.badge.view 勋章墙+解锁通知 11绿(基线36b671565已实现,意外全绿转登记)
|
|
|
|
|
+- S-cfc-217 child.growth.archive RED 契约测试(G-11 成长档案归属校验 + G-05 家长代导出,5 红 2 绿锚)
|
|
|
|
|
+- child.ai.chat 契约测试 RED - 孩子视角AI对话适龄过滤契约未落地,反射结构契约 7 红 5 绿(端点/多轮锚点+权限流说明)
|
|
|
|
|
+- child.auth.login RED contract: logout/device/binding not implemented
|
|
|
|
|
+- child.energy.view 契约RED单测 3红(SC-C-06 /overview+logs 越权拦截 + SC-C-07 draft未录入不展示)
|
|
|
|
|
+- child.task.checkin TDD-RED 契约测试(5红/4绿) 打卡提交/方案进度/小游戏上限 缺口登记
|
|
|
|
|
+
|
|
|
|
|
+### 新功能
|
|
|
|
|
+- admin.knowledgeBase.manage 契约闭环——同步失败重试/大批量分批/角色门禁
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
## v1.0.2443 (2026-11-13)
|
|
## v1.0.2443 (2026-11-13)
|
|
|
|
|
|
|
|
### 测试
|
|
### 测试
|