Procházet zdrojové kódy

docs(tdd): sc-key-map 台账回填 21 行 SC-X(116→137 已映射,X 域 22/22 全映射)

- 新建 1 键 energy.ledger.guard(S-cfc-225):X-19 五维跨角色数据隔离 / X-20 流水溯源对账一致性 / X-21 多来源并发原子
- X-01~18 按 O-2 方案 A 用链路键集合映射(1:N 逗号分隔,如 X-01 测全链路=购套餐→预约→录入→激活→打卡)
- X-22 → reward.cfEstimate.expectedCf(DONE,上轮已回填)
- X 域 22/22 全映射;未映射降至 104(B=10/H=7/P=80/S=6/A=1 真缺口)
Agnes Agent před 4 hodinami
rodič
revize
2732f38b69
1 změnil soubory, kde provedl 21 přidání a 21 odebrání
  1. 21 21
      docs/tdd/orchestration/sc-key-map.md

+ 21 - 21
docs/tdd/orchestration/sc-key-map.md

@@ -79,27 +79,27 @@ SC-G-02 / SC-G-06 / SC-P-03 / SC-P-10 / SC-P-11 共 5 个 SC 已于 2026-11-06 O
 | SC-C-24 | 孩子(不能登录视角) | 业务域(孩子):自身五维变化 | 小游戏/任务得分触发五维增长(仅自身可见) | child.energy.gain | RED | 未跑通 | S-cfc-224;GameRecordService + EnergyRuleEngine(异常分数拦截·仅加自身·越权403)|
 | SC-C-24 | 孩子(不能登录视角) | 业务域(孩子):自身五维变化 | 小游戏/任务得分触发五维增长(仅自身可见) | child.energy.gain | RED | 未跑通 | S-cfc-224;GameRecordService + EnergyRuleEngine(异常分数拦截·仅加自身·越权403)|
 | SC-C-25 | 孩子(不能登录视角) | 业务域(孩子):自身五维变化 | 方案任务打卡触发五维增长 | child.energy.gain | RED | 未跑通 | S-cfc-224 1:N;GrowthTaskService(打卡对应维度+同步进度·并发不重复)|
 | SC-C-25 | 孩子(不能登录视角) | 业务域(孩子):自身五维变化 | 方案任务打卡触发五维增长 | child.energy.gain | RED | 未跑通 | S-cfc-224 1:N;GrowthTaskService(打卡对应维度+同步进度·并发不重复)|
 | SC-C-26 | 孩子(不能登录视角) | 业务域(孩子):健康打卡 | 睡眠打卡:睡眠情况含「正常」选项且由后台配置驱动 | sleep.config.tags | YELLOW | 未跑通 | 实现已在 origin/cfclub;三类流证据待补 |
 | SC-C-26 | 孩子(不能登录视角) | 业务域(孩子):健康打卡 | 睡眠打卡:睡眠情况含「正常」选项且由后台配置驱动 | sleep.config.tags | YELLOW | 未跑通 | 实现已在 origin/cfclub;三类流证据待补 |
-| SC-X-01 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 测评全链路 ⭐ | — | — | 未跑通 | — |
-| SC-X-02 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 报告闭环 ⭐ | — | — | 未跑通 | — |
-| SC-X-03 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 双角色数据隔离越权 | — | — | 未跑通 | — |
-| SC-X-04 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 家庭邀请闭环 | — | — | 未跑通 | — |
-| SC-X-05 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 任务激励闭环 | — | — | 未跑通 | — |
-| SC-X-06 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 方案激活执行闭环 | — | — | 未跑通 | — |
-| SC-X-07 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 商城履约闭环 | — | — | 未跑通 | — |
-| SC-X-08 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 文章发布闭环 | — | — | 未跑通 | — |
-| SC-X-09 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | AI 方案送审闭环 | — | — | 未跑通 | — |
-| SC-X-10 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 报告对比趋势闭环 | — | — | 未跑通 | — |
-| SC-X-11 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 消息通知闭环 | — | — | 未跑通 | — |
-| SC-X-12 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 会员权益闭环 | — | — | 未跑通 | — |
-| SC-X-13 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 报告代传跨角色闭环 | — | — | 未跑通 | — |
-| SC-X-14 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 解绑/重分配跨角色协同 | — | — | 未跑通 | — |
-| SC-X-15 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 注销/数据导出跨角色 | — | — | 未跑通 | — |
-| SC-X-16 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 活动名额并发 E2E ⭐ | — | — | 未跑通 | — |
-| SC-X-17 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 多端登录会话互斥跨端 | — | — | 未跑通 | — |
-| SC-X-18 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 推送跨端送达 | — | — | 未跑通 | — |
-| SC-X-19 | 跨角色 | 业务域(跨角色):五维隔离·对账·并发 | 五维能量跨角色数据隔离 | — | — | 未跑通 | — |
-| SC-X-20 | 跨角色 | 业务域(跨角色):五维隔离·对账·并发 | 五维能量流水溯源一致性(对账) | — | — | 未跑通 | — |
-| SC-X-21 | 跨角色 | 业务域(跨角色):五维隔离·对账·并发 | 多来源并发同成员能量变动 | — | — | 未跑通 | — |
+| SC-X-01 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 测评全链路 ⭐ | membership.plan.purchase, teacher.appointment.guard, teacher.assessment.record, teacher.plan.activate, child.task.checkin | RED | 未跑通 | 链路键集合:购套餐→预约→录入→激活→打卡;额度为不可逾越闸门 |
+| SC-X-02 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 报告闭环 ⭐ | health.report.upload, dan.report.parseFormat, diet.food.healthAdjust, child.task.checkin | RED/— | 未跑通 | 链路键集合:传PDF→解析入库→饮食推荐→AI方案→孩子执行;解析失败有降级 |
+| SC-X-03 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 双角色数据隔离越权 | teacher.data.isolation, family.parent.switchRole | RED | 未跑通 | JwtInterceptor role 检查;越权统一 403/401 |
+| SC-X-04 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 家庭邀请闭环 | family.familyMembers.addMember, family.invite.joinValidationGate | DONE/— | 未跑通 | 链路:生成邀请→注册加入→关系编辑→数据可见;失效码拒绝 |
+| SC-X-05 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 任务激励闭环 | task.parent.createTask, task.parent.review, child.wish.manage | DONE/— | 未跑通 | 链路:建任务→完成→审→发分→提心愿→兑;重复/不足拦截 |
+| SC-X-06 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 方案激活执行闭环 | teacher.plan.activate, child.task.checkin, child.badge.view | RED | 未跑通 | 链路:激活→生成任务→打卡→审→勋章;幂等/重复拦截 |
+| SC-X-07 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 商城履约闭环 | shop.order.create, supplier.order.fulfill, shop.order.queryRefund | YELLOW/— | 未跑通 | 链路:下单→支付→发货/核销→确认收货→评价;退款/重复核销 |
+| SC-X-08 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 文章发布闭环 | admin.article.manage, admin.content.security | RED | 未跑通 | 链路:作者写→运营审→发布→用户读;未审不可见 |
+| SC-X-09 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | AI 方案送审闭环 | health.report.create, teacher.plan.review, teacher.plan.activate | YELLOW/— | 未跑通 | 链路:生成→送审→批准→激活;未确认不可激活 |
+| SC-X-10 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 报告对比趋势闭环 | health.report.detail, teacher.family.overview, growth.history.view | YELLOW/— | 未跑通 | 链路:多次上传→对比→趋势→方案调整;类型一致才可比 |
+| SC-X-11 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 消息通知闭环 | teacher.message.push, child.notification.receive | RED | 未跑通 | 链路:发消息→收→已读;免打扰生效 |
+| SC-X-12 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 会员权益闭环 | membership.plan.purchase, family.family.autoCreateForPurchase | YELLOW/RED | 未跑通 | 链路:购会员→权益生效→AI方案/高级报告解锁;过期回收 |
+| SC-X-13 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 报告代传跨角色闭环 | teacher.report.proxy, health.report.upload | RED/— | 未跑通 | 链路:发起代传→对方上传→档案更新;授权校验拒绝越权 |
+| SC-X-14 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 解绑/重分配跨角色协同 | teacher.family.bind, family.familyMembers.removeMember | RED/YELLOW | 未跑通 | 链路:家长解绑↔规划师侧更新;在途数据交接 |
+| SC-X-15 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 注销/数据导出跨角色 | admin.user.govern, teacher.client.export | RED | 未跑通 | 链路:申请→运营处理→档案解绑;审计+冷静期 |
+| SC-X-16 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 活动名额并发 E2E ⭐ | admin.activity.config | RED | 未跑通 | 并发报名抢名额;超卖拦截(真实 bug 域) |
+| SC-X-17 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 多端登录会话互斥跨端 | child.auth.login | RED | 未跑通 | A端登录→B端被踢/验证;异常设备风控 |
+| SC-X-18 | 跨角色 | 业务域 L:交易延伸 / 内容 / 多端 | 推送跨端送达 | teacher.message.push, child.notification.receive | RED | 未跑通 | 设提醒→子端收到;免打扰生效 |
+| SC-X-19 | 跨角色 | 业务域(跨角色):五维隔离·对账·并发 | 五维能量跨角色数据隔离 | energy.ledger.guard | RED | 未跑通 | S-cfc-225;JwtInterceptor 401/403 + 工单授权 |
+| SC-X-20 | 跨角色 | 业务域(跨角色):五维隔离·对账·并发 | 五维能量流水溯源一致性(对账) | energy.ledger.guard | RED | 未跑通 | S-cfc-225 1:N;balanceAfter==prev+amount 对账 |
+| SC-X-21 | 跨角色 | 业务域(跨角色):五维隔离·对账·并发 | 多来源并发同成员能量变动 | energy.ledger.guard | RED | 未跑通 | S-cfc-225 1:N;并发原子加/触顶截断/回滚幂等 |
 | SC-G-01 | 游客 |  | 首次进入小程序/落地页 | auth.guest.landing | DONE | 已跑通(2026-11-07 收口) | 三类流证据已推远端(dceeaaeaf) |
 | SC-G-01 | 游客 |  | 首次进入小程序/落地页 | auth.guest.landing | DONE | 已跑通(2026-11-07 收口) | 三类流证据已推远端(dceeaaeaf) |
 | SC-G-02 | 游客 |  | 微信授权登录 | auth.guest.wechatLogin | DONE | 已跑通(2026-11-06 O-3 收口) | 三类流证据已推远端(8051b64f) |
 | SC-G-02 | 游客 |  | 微信授权登录 | auth.guest.wechatLogin | DONE | 已跑通(2026-11-06 O-3 收口) | 三类流证据已推远端(8051b64f) |
 | SC-G-03 | 游客 |  | 登录方式口径(小程序端 / Web 管理后台) | auth.guest.loginMethod | DONE | 已跑通(2026-11-07 收口) | 三类流证据已推远端(dceeaaeaf) |
 | SC-G-03 | 游客 |  | 登录方式口径(小程序端 / Web 管理后台) | auth.guest.loginMethod | DONE | 已跑通(2026-11-07 收口) | 三类流证据已推远端(dceeaaeaf) |