Selaa lähdekoodia

docs(tdd): 商城-会员 18 SC 开工包(18/18 端点已实现 0 缺失)+ TR-8 登记转测试侧

- shop-member-kickoff-20261107.md:P0 滚动批次第二轮开工包,18/18 端点核验已实现(0 缺失),
  非研发实现型 RED,建议能力键映射 12 条,转测试侧 TR-8
- test-requests.md:新增 TR-8(商城-会员 18 SC 契约补建,待测试处理)
- 基于 origin/cfclub 单文件入库(未触碰工作区他人 WIP)
Agnes Agent 6 päivää sitten
vanhempi
sitoutus
0c8c412ea3

+ 6 - 0
docs/tdd/dev/test-requests.md

@@ -147,3 +147,9 @@
 |---|---|---|---|---|---|---|
 |---|---|---|---|---|---|---|
 | TR-6 | 8 个 YELLOW 键(admin.auth.login / health.report.upload / health.report.createReport / dan.assessment.getActiveMaterial / sleep.config.tags / task.history.view / growth.history.view / achievement.grid.fiveCol) | 复验 + mark-green | 研发负责人1 本轮核验:8 键实现 sha **全部在 origin/cfclub 链上**(git merge-base --is-ancestor 逐条核验 ✓)——`6c7e09fe8`(admin.auth.login) / `78b72c14f`(health.report.upload) / `1767d4414`(createReport) / `c3e32460a`(getActiveMaterial) / `ed8f1c347`(task.history.view) / `da2727f53`(growth.history.view) / `e205656ee`(achievement.grid.fiveCol);sleep.config.tags 契约测试 `f11062b42`(S-cfc-31,21绿/1红 blank-key 缺陷)在链 ✓,其 yellow_sha=04d87cfd1 系登记误配(10-26 措辞重构),真实实现已在链(93aad0152 PublicConfigController / f8b145d3a / 4734bcf45),green 登记不校验 yellow_sha 内容可放行。另 task.history.view / growth.history.view / achievement.grid.fiveCol 3 键 red_sha 为空(历史登记未带 sha),契约测试提交 4adb7895c / a73cfa4e2 / 7ca946b32 已在链,测试侧 mark-green 前可自行复核。请测试侧:复验后对 8 键 `--mark-green` 收口,**注意 pom.xml:28 skipTests=true 须显式 -DskipTests=false** | 研发负责人1(闭环巡检轮) | 2026-11-06 21:35 | 待测试处理 |
 | TR-6 | 8 个 YELLOW 键(admin.auth.login / health.report.upload / health.report.createReport / dan.assessment.getActiveMaterial / sleep.config.tags / task.history.view / growth.history.view / achievement.grid.fiveCol) | 复验 + mark-green | 研发负责人1 本轮核验:8 键实现 sha **全部在 origin/cfclub 链上**(git merge-base --is-ancestor 逐条核验 ✓)——`6c7e09fe8`(admin.auth.login) / `78b72c14f`(health.report.upload) / `1767d4414`(createReport) / `c3e32460a`(getActiveMaterial) / `ed8f1c347`(task.history.view) / `da2727f53`(growth.history.view) / `e205656ee`(achievement.grid.fiveCol);sleep.config.tags 契约测试 `f11062b42`(S-cfc-31,21绿/1红 blank-key 缺陷)在链 ✓,其 yellow_sha=04d87cfd1 系登记误配(10-26 措辞重构),真实实现已在链(93aad0152 PublicConfigController / f8b145d3a / 4734bcf45),green 登记不校验 yellow_sha 内容可放行。另 task.history.view / growth.history.view / achievement.grid.fiveCol 3 键 red_sha 为空(历史登记未带 sha),契约测试提交 4adb7895c / a73cfa4e2 / 7ca946b32 已在链,测试侧 mark-green 前可自行复核。请测试侧:复验后对 8 键 `--mark-green` 收口,**注意 pom.xml:28 skipTests=true 须显式 -DskipTests=false** | 研发负责人1(闭环巡检轮) | 2026-11-06 21:35 | 待测试处理 |
 | TR-7 | B-1 测评-方案 43 SC(dan.assessment.* / plan.* / guide.* 等 44 键)+ B-2 报告闭环 23 SC(health.report.* / dan.assessment.* / admin.reportParse.* / coach.* 等 19 键) | 用例缺失 + 复验 | 本轮核实:B-1/B-2 开工包 66 SC 对应接口**全部已实现**(54 端点 + 若干端点与 origin/cfclub 359 Controller 比对 0 缺失),按 O-2 方案 C 属**测试侧补三类流执行证据**,非研发实现型 RED。已派发 B-1/B-2 契约核对任务(lan-248 `ses_e4e91dc01ffe8dj0qyl4mBZsd2` / lan-204 `ses_e4e91234bffeqRDdDQ5MqtdhPy`,axonhub/deepseek)产出契约文档(API_REFERENCE.md 补全或 specs 新批次文档)后,请测试侧:① 为 B-1 43 SC / B-2 23 SC 补契约级 JUnit(MockMvc 风格沿用既有 ContractTest)+ 正常/异常/权限三类流执行证据;② 报告上传链可复用既有 health.report.upload(YELLOW,78b72c14f)契约资产;③ 只有三类流实际执行证据 + 契约/用例推 origin/cfclub + 提交干净才计入场景覆盖矩阵。注意 pom.xml:28 `<skipTests>true</skipTests>`,`mvn test` 须显式 `-DskipTests=false` | 研发负责人(本自动化第44轮) | 2026-11-06 23:20 | 待测试处理 |
 | TR-7 | B-1 测评-方案 43 SC(dan.assessment.* / plan.* / guide.* 等 44 键)+ B-2 报告闭环 23 SC(health.report.* / dan.assessment.* / admin.reportParse.* / coach.* 等 19 键) | 用例缺失 + 复验 | 本轮核实:B-1/B-2 开工包 66 SC 对应接口**全部已实现**(54 端点 + 若干端点与 origin/cfclub 359 Controller 比对 0 缺失),按 O-2 方案 C 属**测试侧补三类流执行证据**,非研发实现型 RED。已派发 B-1/B-2 契约核对任务(lan-248 `ses_e4e91dc01ffe8dj0qyl4mBZsd2` / lan-204 `ses_e4e91234bffeqRDdDQ5MqtdhPy`,axonhub/deepseek)产出契约文档(API_REFERENCE.md 补全或 specs 新批次文档)后,请测试侧:① 为 B-1 43 SC / B-2 23 SC 补契约级 JUnit(MockMvc 风格沿用既有 ContractTest)+ 正常/异常/权限三类流执行证据;② 报告上传链可复用既有 health.report.upload(YELLOW,78b72c14f)契约资产;③ 只有三类流实际执行证据 + 契约/用例推 origin/cfclub + 提交干净才计入场景覆盖矩阵。注意 pom.xml:28 `<skipTests>true</skipTests>`,`mvn test` 须显式 `-DskipTests=false` | 研发负责人(本自动化第44轮) | 2026-11-06 23:20 | 待测试处理 |
+
+## TR-8:商城-会员 18 SC 契约补建转测试侧(研发 → 测试,2026-11-07 01:40)
+
+| 编号 | 关联键/对象 | 类型 | 描述 | 经办 | 登记时间 | 状态 |
+|---|---|---|---|---|---|---|
+| TR-8 | 商城-会员 18 SC(SC-A-12/17、SC-G-05、SC-P-52/53/55/56/57/59/60/75/80、SC-S-02/03/04/06、SC-X-07/12) | 用例缺失 + 复验 | 开工包 `docs/tdd/orchestration/shop-member-kickoff-20261107.md` 已入库:**18/18 端点核验已实现 0 缺失**(ProductController `/api/product` 6 端点 / ProductOrderController `/api/product/order` 10 / CouponController `/api/coupon` 6 / PackagePaymentController `/api/payment` 5 / MembershipController `/api/membership` 7 / AfterSalesController `/api/shop/after-sales` 3),按 O-7 属**测试侧补三类流执行证据**(非研发实现型 RED,不建伪实现任务)。契约定稿前能力键映射见开工包「建议能力键」12 条(product.browse / order.pay / order.refund / coupon.use / membership.view / membership.renew / product.manage / order.ship / order.fulfill / membership.fulfill / admin.order.manual / admin.coupon.config,须逐条对齐 API_REFERENCE 与派生用例防键名冲突)。请测试侧:① 依开工包为 18 SC 补契约级 JUnit(MockMvc 风格沿用既有 ContractTest);② 正常/异常/权限三类流实际执行并产出证据;③ 证据 + 契约/用例推 origin/cfclub + 提交干净才计入场景覆盖矩阵(O-2 方案 C / O-3 判据③)。注意 pom.xml:28 `<skipTests>true</skipTests>`,`mvn test` 须显式 `-DskipTests=false` | 研发负责人(本自动化第50轮) | 2026-11-07 01:40 | 待测试处理 |

+ 54 - 0
docs/tdd/orchestration/shop-member-kickoff-20261107.md

@@ -0,0 +1,54 @@
+# 商城-会员批次 · 开工包(18 SC)
+> 归属:契约补建计划 P0「商城-会员」· 生成 2026-11-07 01:2x
+> 数据源:sc-key-map.md(origin/cfclub,O-8 归一后 241 全量登记)· 端点核对:cfc-backend controller 源码(origin/cfclub 工作树)
+
+## 批次定位
+商品 → 订单 → 支付/退款 → 优惠券 → 会员权益/续费,覆盖家长/商品服务商/平台运营/游客/跨角色五视角;本批 18 个 SC 均无合法能力键(台账「对应能力键」列全为 `—`),需先定契约才能 `--add-task` 入池。**按 O-7 裁决:契约核对 = 文档核对 + 端点比对(防假 RED),本批端点已全部核验存在(见下表),无真实现缺口 → 非研发实现型 RED,产出契约文档后转测试侧(TR-8)补契约 JUnit + 三类流执行证据。**
+
+## 端点核验(18/18 已实现,0 缺失)
+
+| SC | 角色 | 场景标题 | 对应端点(origin/cfclub 工作树) | 核验 |
+|----|------|----------|-------------------------------|------|
+| SC-A-12 | 平台运营 | 订单/退款人工处理 | `ProductOrderController` `/api/product/order/refund/apply`、`/activity/audit`;`PackagePaymentController` `/api/payment/orders/{orderId}/cancel` | ✅ |
+| SC-A-17 | 平台运营 | 优惠券/活动配置管理 | `CouponController` `/api/coupon/available-templates`、`/join-rules`;`CouponGiftController` | ✅ |
+| SC-G-05 | 游客 | 浏览商城/文章(未登录受限) | `ProductController` `/api/product/list`、`/detail`(游客可读,下单须登录由 JwtInterceptor 拦截) | ✅ |
+| SC-P-52 | 家长 | 商品浏览/搜索 | `ProductController` `/api/product/list`、`/detail`、`/spec/map` | ✅ |
+| SC-P-53 | 家长 | 商品详情 | `ProductController` `/api/product/detail`、`/related-products` | ✅ |
+| SC-P-55 | 家长 | 订单支付 | `ProductOrderController` `/api/product/order/create`、`/pay`;`PackagePaymentController` `/api/payment/create`、`/wechat/params` | ✅ |
+| SC-P-56 | 家长 | 订单查询/退款 | `ProductOrderController` `/api/product/order/my`、`/detail`、`/refund/apply` | ✅ |
+| SC-P-57 | 家长 | 优惠券使用 | `CouponController` `/api/coupon/claim`、`/apply`、`/exchange`、`/checkout-list` | ✅ |
+| SC-P-59 | 家长 | 会员权益查看 | `MembershipController` `/api/membership/levels`、`/my`、`/current`、`/can-use` | ✅ |
+| SC-P-60 | 家长 | 会员续费 | `MembershipController` `/api/membership/upgrade`、`/orders/continue`、`/plans` | ✅ |
+| SC-P-75 | 家长 | 优惠券领取(活动/分享) | `CouponController` `/api/coupon/claim`;`CouponGiftController` | ✅ |
+| SC-P-80 | 家长 | 订阅/会员退款与发票 | `MembershipController` `/api/membership/orders`、`/upgrade-records`;`PackagePaymentController` `/api/payment/apply` | ✅ |
+| SC-S-02 | 商品服务商 | 商品管理(上架/编辑) | `ProductController` `/api/product/create`、`/update`、`/shelve`、`/my` | ✅ |
+| SC-S-03 | 商品服务商 | 订单处理(发货) | `ProductOrderController` `/api/product/order/vendor`、`/ship`、`/confirm` | ✅ |
+| SC-S-04 | 商品服务商 | 订单核销(到店) | `ProductOrderController` `/api/product/order/vendor-confirm`、`/activity/sign-in` | ✅ |
+| SC-S-06 | 商品服务商 | 售后/退款处理 | `AfterSalesController` `/api/shop/after-sales/create`、`/list`、`/detail`;`ProductOrderController` `/refund/apply` | ✅ |
+| SC-X-07 | 跨角色 | 商城履约闭环 | `ProductOrderController` `/create`→`/pay`→`/ship`→`/confirm` 全链路 + `handlePaymentSuccess`/`notify` 回调 | ✅ |
+| SC-X-12 | 跨角色 | 会员权益闭环 | `MembershipController` `/levels`→`/upgrade`→`/orders`→`/can-use` 全链路 + `notify` 回调 | ✅ |
+
+**结论**:18/18 端点已实现(0 缺失)→ 无真实现缺口,不建伪实现任务(O-7 裁决「非研发实现型 RED」)。契约文档与映射入池后转测试侧 TR-8 补契约 JUnit + 三类流证据。
+
+## 建议能力键(契约定稿后按 O-2 方案 A 映射)
+
+- `product.browse`(SC-P-52 / SC-P-53 / SC-G-05)
+- `order.pay`(SC-P-55)
+- `order.refund`(SC-P-56 / SC-S-06 / SC-A-12)
+- `coupon.use`(SC-P-57 / SC-P-75)
+- `membership.view`(SC-P-59)
+- `membership.renew`(SC-P-60 / SC-P-80)
+- `product.manage`(SC-S-02)
+- `order.ship`(SC-S-03 / SC-S-04)
+- `order.fulfill`(SC-X-07)
+- `membership.fulfill`(SC-X-12)
+- `admin.order.manual`(SC-A-12)
+- `admin.coupon.config`(SC-A-17)
+
+> 注:以上为**建议映射**(防假 RED 端点核验用),非最终契约键;契约文档定稿时须逐条对齐 `docs/superpowers/api/API_REFERENCE.md` 与 `tests/test-cases/*.md` 派生用例,避免键名与既有契约冲突。
+
+## 待办(O-7 授权节奏)
+
+1. 契约文档定稿(API_REFERENCE 4.x 增补「商城-会员」接口范围 + 契约缺口映射)→ 合入 origin/cfclub
+2. 测试侧 TR-8 登记:补契约 JUnit + 三类流执行证据
+3. 下一批「家庭-成员 15 SC」照此节奏滚动