Explorar o código

Merge remote-tracking branch 'origin/cfclub' into cfclub

E2E Test Bot hai 6 días
pai
achega
e082a210ae

+ 1 - 1
cfc-web/.last_build_commit

@@ -1 +1 @@
-ce67e2191716bb4d709d1e4c0489e9ce756257d8
+ddbcf03c1b093ebfbaf678bbc82ece53c828d979

+ 2 - 2
cfc-web/package-lock.json

@@ -1,12 +1,12 @@
 {
   "name": "cfc-web",
-  "version": "1.0.2127",
+  "version": "1.0.2130",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "cfc-web",
-      "version": "1.0.2127",
+      "version": "1.0.2130",
       "dependencies": {
         "@wangeditor/editor": "^5.1.23",
         "@wangeditor/editor-for-vue": "^1.0.2",

+ 1 - 1
cfc-web/package.json

@@ -1,6 +1,6 @@
 {
   "name": "cfc-web",
-  "version": "1.0.2128",
+  "version": "1.0.2131",
   "private": true,
   "scripts": {
     "dev": "vue-cli-service serve",

+ 36 - 0
cfc-web/public/CHANGELOG-v1.0.md

@@ -4,6 +4,42 @@
 
 ---
 
+## v1.0.2131 (2026-11-06)
+
+### 文档
+- 研发负责人 错峰03 第42轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 7键YELLOW实现sha全IN CHAIN核验(1键sleep.config.tags证据误配待交真实sha) | 0派发(池空+216SC契约前置阻塞) | 新initiative:216SC契约补建计划+43+23开工包已落origin但0契约合入→建议O-7授权启动契约补建工作流解锁派发 | SC覆盖5/236 | 测试侧93.50%(1727/1847)待mark-green8YELLOW | 单文件hash-object入库
+
+
+## v1.0.2130 (2026-11-06)
+
+### 文档
+- 研发负责人 错峰03 第41轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 8 YELLOW 实现 sha 全 IN CHAIN+触及main(5后端+3前端)复核 | 0派发(池空+无中断)+0新键(变更感知无新增能力键,SC-X-22/T41/11-06spec实现均已合入无缺口) | SC覆盖5/236 | 主理人待办O-1~O-6均已裁决 | TR-6请求测试侧收口8YELLOW | 单文件hash-object入库
+- 测评-方案 43 SC + 报告闭环 23 SC 开工包(B-1/B-2 配套批次)
+- 研发负责人 错峰03 第40轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 8 YELLOW 证据 sha 全 IN CHAIN+触及main(6后端+2前端)复核 | 0派发(池空+无中断)+0新键(变更感知无新增能力键) | SC覆盖5/236 | 主理人待办O-1~O-6均已裁决 | TR-6请求测试侧收口8YELLOW | 单文件hash-object入库
+- 216 个待契约 SC 契约补建计划(15 业务线/P0-P2 分批)
+- 研发负责人 错峰03 第39轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 8 YELLOW 证据 sha 全 IN CHAIN 复核 | 主理人裁决 O-5(B-26 主工作区WIP)已裁决推进+O-6(dispatch证据误配缺陷)已裁决 | 0派发(池空+黑窗至11-07 08:00)+0新键 | 单文件hash-object入库
+
+### 其他
+- - 归属 P0「测评-方案」43 条 SC(测评 12 / 方案 21 / 规划师绑定 5 / 孩子执行 3 / AI 教练 3)
+- - 建议能力键 44 个(全量去重,无重叠)
+- - 定契约接口范围已锚定到 origin/cfclub 现存的 DanAssessmentController / HealthPlanController / OrchestrationController / GuidePlanReviewController / PlanReviewController 等端点
+- - 风险注记 5 项(Orchestration flow 语义待明确、T-26/T-27 跨域拆分、H-02 无既有 Controller、LangGraph 跨仓、X 全链路后置)
+- B-2 开工包:
+- - 归属 P0「报告闭环」23 条 SC
+- - 19 个去重能力键(含 health.report.* / dan.assessment.* / admin.reportParse.* / coach.* / misc.* / provider.*)
+- - 风险注记 3 项(LangGraph 报告解读依赖、X 全链路后置、P-91 五维引擎解耦)
+- 
+- - 按业务线分 15 批:P0 133 个(测评-方案43/报告23/任务22/商城18/家庭15/五维12)+ P1 40 + P2 43
+- - 策略:契约定一批→映射能力键→入池→派发,渐进推进
+- 
+
+
+## v1.0.2129 (2026-11-06)
+
+### 文档
+- 研发负责人1 标准汇报 2122 轮 + TR-6 请求测试侧收口 8 YELLOW
+
+
 ## v1.0.2128 (2026-11-06)
 
 ### 文档

+ 37 - 1
cfc-web/public/CHANGELOG.md

@@ -1,6 +1,6 @@
 # 更新日志
 
-> 当前版本: v1.0.2128
+> 当前版本: v1.0.2131
 
 ## 历史版本
 
@@ -8,6 +8,42 @@
 
 ---
 
+## v1.0.2131 (2026-11-06)
+
+### 文档
+- 研发负责人 错峰03 第42轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 7键YELLOW实现sha全IN CHAIN核验(1键sleep.config.tags证据误配待交真实sha) | 0派发(池空+216SC契约前置阻塞) | 新initiative:216SC契约补建计划+43+23开工包已落origin但0契约合入→建议O-7授权启动契约补建工作流解锁派发 | SC覆盖5/236 | 测试侧93.50%(1727/1847)待mark-green8YELLOW | 单文件hash-object入库
+
+
+## v1.0.2130 (2026-11-06)
+
+### 文档
+- 研发负责人 错峰03 第41轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 8 YELLOW 实现 sha 全 IN CHAIN+触及main(5后端+3前端)复核 | 0派发(池空+无中断)+0新键(变更感知无新增能力键,SC-X-22/T41/11-06spec实现均已合入无缺口) | SC覆盖5/236 | 主理人待办O-1~O-6均已裁决 | TR-6请求测试侧收口8YELLOW | 单文件hash-object入库
+- 测评-方案 43 SC + 报告闭环 23 SC 开工包(B-1/B-2 配套批次)
+- 研发负责人 错峰03 第40轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 8 YELLOW 证据 sha 全 IN CHAIN+触及main(6后端+2前端)复核 | 0派发(池空+无中断)+0新键(变更感知无新增能力键) | SC覆盖5/236 | 主理人待办O-1~O-6均已裁决 | TR-6请求测试侧收口8YELLOW | 单文件hash-object入库
+- 216 个待契约 SC 契约补建计划(15 业务线/P0-P2 分批)
+- 研发负责人 错峰03 第39轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 8 YELLOW 证据 sha 全 IN CHAIN 复核 | 主理人裁决 O-5(B-26 主工作区WIP)已裁决推进+O-6(dispatch证据误配缺陷)已裁决 | 0派发(池空+黑窗至11-07 08:00)+0新键 | 单文件hash-object入库
+
+### 其他
+- - 归属 P0「测评-方案」43 条 SC(测评 12 / 方案 21 / 规划师绑定 5 / 孩子执行 3 / AI 教练 3)
+- - 建议能力键 44 个(全量去重,无重叠)
+- - 定契约接口范围已锚定到 origin/cfclub 现存的 DanAssessmentController / HealthPlanController / OrchestrationController / GuidePlanReviewController / PlanReviewController 等端点
+- - 风险注记 5 项(Orchestration flow 语义待明确、T-26/T-27 跨域拆分、H-02 无既有 Controller、LangGraph 跨仓、X 全链路后置)
+- B-2 开工包:
+- - 归属 P0「报告闭环」23 条 SC
+- - 19 个去重能力键(含 health.report.* / dan.assessment.* / admin.reportParse.* / coach.* / misc.* / provider.*)
+- - 风险注记 3 项(LangGraph 报告解读依赖、X 全链路后置、P-91 五维引擎解耦)
+- 
+- - 按业务线分 15 批:P0 133 个(测评-方案43/报告23/任务22/商城18/家庭15/五维12)+ P1 40 + P2 43
+- - 策略:契约定一批→映射能力键→入池→派发,渐进推进
+- 
+
+
+## v1.0.2129 (2026-11-06)
+
+### 文档
+- 研发负责人1 标准汇报 2122 轮 + TR-6 请求测试侧收口 8 YELLOW
+
+
 ## v1.0.2128 (2026-11-06)
 
 ### 文档

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

@@ -140,3 +140,9 @@
 | 编号 | 关联键/对象 | 类型 | 描述 | 经办 | 登记时间 | 状态 |
 |---|---|---|---|---|---|---|
 | TR-5 | `reward.cfEstimate.expectedCf`(S-cfc-16 / SC-X-22) | 用例缺失 + 复验 | 设计契约已合入(`6141c43a2`,v1.0);**实现已合入 origin/cfclub 主线**(`f14e46f84`,RewardRuleService / RewardEstimateController / RewardDisplayVO 等 12 个 Java 文件,7M+5A 无删除,提取自 feat/sc-x22-impl `957e59bb2`)。请测试侧:① 按契约 §2/§7 为 `/api/reward/estimate` 补契约级 JUnit(MockMvc standalone,风格沿用 DimensionAdminControllerTest),登记 RED(`--mark-red reward.cfEstimate.expectedCf --commit <sha>`);② 执行 `tests/test-cases/cross-role-e2e.md` 的 TC-X-22 / TC-X-22-E / TC-X-22-E2 / TC-X-22-P 四例,产出正常/异常/权限三类流执行证据;③ 权限流重点验证:TC-X-22-P 第 1 步游客 401(实现将 `/api/reward/estimate` 置于 JwtInterceptor PUBLIC_PATHS、Controller 对 userId=null 自返 401,行为等价于契约「必须登录」但语义有偏差,请测试确认实际返回 401)、第 2 步孩子 token 调家长侧预估 403、第 5 步伪造 expectedCf 被忽略。注意:`cfc-backend/pom.xml:28` 有 `<skipTests>true</skipTests>`,`mvn test` 必须显式 `-DskipTests=false`,否则假绿 | 研发负责人(闭环巡检轮) | 2026-11-05 17:05 | 待测试处理 |
+
+## TR-6:8 个 YELLOW 键 mark-green 收口(研发 → 测试,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 | 待测试处理 |

+ 355 - 0
docs/tdd/orchestration/contract-plan-20261106.md

@@ -0,0 +1,355 @@
+# 216 个待契约 SC · 契约补建计划
+> 数据源:sc-key-map.md(origin/cfclub)· 生成 2026-11-06 21:56
+> 策略:按「业务线」分批,契约定一批 → 映射能力键 → 入池一批 → 派发一批(渐进)
+
+总待契约:**216**
+
+## 分批总览
+
+| 批次 | 业务线 | SC数 | 优先级 | 建议能力键前缀 |
+|---|---|---|---|---|
+| 五维能量 | 五维能量 | 12 | P0 | dimension.* / energy.* |
+| 任务-激励 | 任务-激励 | 22 | P0 | task.* |
+| 商城-会员 | 商城-会员 | 18 | P0 | product.* / order.* / membership.* |
+| 家庭-成员 | 家庭-成员 | 15 | P0 | family.* |
+| 报告闭环 | 报告闭环 | 23 | P0 | health.report.* |
+| 测评-方案 | 测评-方案 | 43 | P0 | dan.assessment.* / plan.* |
+| 内容-运营 | 内容-运营 | 6 | P1 | article.* / content.* |
+| 社交-消息 | 社交-消息 | 9 | P1 | contact.* / message.* |
+| 账号-数据 | 账号-数据 | 10 | P1 | account.* |
+| 账号-权限 | 账号-权限 | 9 | P1 | auth.* / user.* |
+| 运营治理 | 运营治理 | 4 | P1 | admin.* |
+| 通用-体验 | 通用-体验 | 2 | P1 | misc.* |
+| AI-成长 | AI-成长 | 9 | P2 | coach.* |
+| 其他 | 其他 | 31 | P2 | TBD |
+| 管家-服务 | 管家-服务 | 3 | P2 | butler.* |
+
+## 各批明细
+
+### 五维能量(12,P0)
+
+角色分布:家长×7、跨角色×3、成长规划师×2
+
+| SC | 角色 | 场景标题 |
+|---|---|---|
+| SC-P-17 | 家长 | 查看五维能量 / 健康指数 |
+| SC-P-18 | 家长 | 能量流水查看 |
+| SC-P-19 | 家长 | 能量维度配置查看 |
+| SC-P-89 | 家长 | 手动发放能量 grant |
+| SC-P-90 | 家长 | 五维每日获取上限 DailyLimit |
+| SC-P-92 | 家长 | 五维权重/来源比例配置变更后重算 |
+| SC-P-93 | 家长 | 文章互动与活动参与触发五维能量 |
+| SC-T-31 | 成长规划师 | 手动维度打分覆盖/调整 |
+| SC-T-32 | 成长规划师 | 五维自评录入与变化 |
+| SC-X-19 | 跨角色 | 五维能量跨角色数据隔离 |
+| SC-X-20 | 跨角色 | 五维能量流水溯源一致性(对账) |
+| SC-X-21 | 跨角色 | 多来源并发同成员能量变动 |
+
+### 任务-激励(22,P0)
+
+角色分布:家长×9、孩子(不能登录视角)×8、成长规划师×2、平台运营×1、跨角色×1、AI成长教练(AI管家)×1
+
+| SC | 角色 | 场景标题 |
+|---|---|---|
+| SC-A-05 | 平台运营 | 勋章配置 CRUD |
+| SC-B-07 | AI成长教练(AI管家) | 个性化任务/饮食推荐与采纳 |
+| SC-C-02 | 孩子(不能登录视角) | 执行任务 / 小游戏得积分 |
+| SC-C-04 | 孩子(不能登录视角) | 提心愿 |
+| SC-C-05 | 孩子(不能登录视角) | 任务打卡 ⭐ |
+| SC-C-09 | 孩子(不能登录视角) | 勋章墙 |
+| SC-C-10 | 孩子(不能登录视角) | 勋章解锁提醒 |
+| SC-C-14 | 孩子(不能登录视角) | 任务驳回重做 |
+| SC-C-22 | 孩子(不能登录视角) | 商城浏览/积分兑换(孩子端消费) |
+| SC-C-24 | 孩子(不能登录视角) | 小游戏/任务得分触发五维增长(仅自身可见) |
+| SC-P-12 | 家长 | 任务频率/周期配置 |
+| SC-P-13 | 家长 | 心愿创建-审批-兑换闭环 |
+| SC-P-14 | 家长 | 心愿驳回/失效处理 |
+| SC-P-15 | 家长 | 积分明细查看 |
+| SC-P-16 | 家长 | 积分流水对账 |
+| SC-P-77 | 家长 | 活动打卡/助力(营销) |
+| SC-P-86 | 家长 | 成长打卡榜/家庭排行 |
+| SC-P-87 | 家长 | 任务完成触发五维能量按规则归因增长 |
+| SC-P-88 | 家长 | 心愿兑换扣减五维能量(余额不为负) |
+| SC-T-06 | 成长规划师 | 家庭任务审核 |
+| SC-T-18 | 成长规划师 | 批量任务下发 |
+| SC-X-05 | 跨角色 | 任务激励闭环 |
+
+### 商城-会员(18,P0)
+
+角色分布:家长×9、商品服务商×4、平台运营×2、跨角色×2、游客×1
+
+| SC | 角色 | 场景标题 |
+|---|---|---|
+| SC-A-12 | 平台运营 | 订单/退款人工处理 |
+| SC-A-17 | 平台运营 | 优惠券/活动配置管理 |
+| SC-G-05 | 游客 | 浏览商城/文章(未登录受限) |
+| SC-P-52 | 家长 | 商品浏览/搜索 |
+| SC-P-53 | 家长 | 商品详情 |
+| SC-P-55 | 家长 | 订单支付 |
+| SC-P-56 | 家长 | 订单查询/退款 |
+| SC-P-57 | 家长 | 优惠券使用 |
+| SC-P-59 | 家长 | 会员权益查看 |
+| SC-P-60 | 家长 | 会员续费 |
+| SC-P-75 | 家长 | 优惠券领取(活动/分享) |
+| SC-P-80 | 家长 | 订阅/会员退款与发票 |
+| SC-S-02 | 商品服务商 | 商品管理(上架/编辑) |
+| SC-S-03 | 商品服务商 | 订单处理(发货) |
+| SC-S-04 | 商品服务商 | 订单核销(到店) |
+| SC-S-06 | 商品服务商 | 售后/退款处理 |
+| SC-X-07 | 跨角色 | 商城履约闭环 |
+| SC-X-12 | 跨角色 | 会员权益闭环 |
+
+### 家庭-成员(15,P0)
+
+角色分布:家长×8、平台运营×2、成长规划师×2、跨角色×1、游客×1、AI成长教练(AI管家)×1
+
+| SC | 角色 | 场景标题 |
+|---|---|---|
+| SC-A-04 | 平台运营 | 关系类型 CRUD |
+| SC-A-11 | 平台运营 | 用户/家庭查询治理 |
+| SC-B-10 | AI成长教练(AI管家) | 家庭成长看板(教练聚合视图) |
+| SC-G-04 | 游客 | 邀请码注册加入家庭 |
+| SC-P-01 | 家长 | 创建家庭 + 邀请二维码 |
+| SC-P-06 | 家长 | 移除/删除成员 |
+| SC-P-07 | 家长 | 家庭关系图查看 |
+| SC-P-08 | 家长 | 成员权限设置 |
+| SC-P-09 | 家长 | 邀请码失效/重生成 |
+| SC-P-27 | 家长 | 家庭食谱生成(一日三餐)⭐ 家庭食谱 |
+| SC-P-68 | 家长 | 家庭天盘查看(全家聚合视图) |
+| SC-P-72 | 家长 | 个人/家庭数据导出(GDPR) |
+| SC-T-02 | 成长规划师 | 绑定测试家庭 |
+| SC-T-24 | 成长规划师 | 解绑/重分配客户家庭 |
+| SC-X-04 | 跨角色 | 家庭邀请闭环 |
+
+### 报告闭环(23,P0)
+
+角色分布:家长×8、成长规划师×5、跨角色×3、平台运营×2、孩子(不能登录视角)×2、AI成长教练(AI管家)×2、商品服务商×1
+
+| SC | 角色 | 场景标题 |
+|---|---|---|
+| SC-A-02 | 平台运营 | 报告解析中台(类型/聚类) |
+| SC-A-16 | 平台运营 | 报告解析自学习/未知类型标注 |
+| SC-B-04 | AI成长教练(AI管家) | 成长报告智能解读 |
+| SC-B-11 | AI成长教练(AI管家) | 报告细节追问 |
+| SC-C-06 | 孩子(不能登录视角) | 查看能量与报告(只读) |
+| SC-C-07 | 孩子(不能登录视角) | 查看 DAN 测评报告 |
+| SC-P-24 | 家长 | 多报告管理/对比 |
+| SC-P-25 | 家长 | 报告趋势查看 |
+| SC-P-26 | 家长 | 基于报告饮食推荐 |
+| SC-P-39 | 家长 | 查看测评结果(DAN 报告) |
+| SC-P-67 | 家长 | 报告代传(家长替孩子/他人代传)⭐ |
+| SC-P-82 | 家长 | 全局搜索(报告/方案/任务/商品) |
+| SC-P-84 | 家长 | 分享报告/方案给家人或规划师 |
+| SC-P-91 | 家长 | 健康报告入库刷新五维评分 |
+| SC-S-09 | 商品服务商 | 报告解析服务接入(对接解析中台) |
+| SC-T-03 | 成长规划师 | 代传报告 + 确认入库(上传报告)⭐ |
+| SC-T-11 | 成长规划师 | DAN 报告上传与解析 |
+| SC-T-12 | 成长规划师 | DAN 八类报告查看 |
+| SC-T-21 | 成长规划师 | 报告对比分析 |
+| SC-T-23 | 成长规划师 | 报告代传(规划师代客户传)⭐ |
+| SC-X-02 | 跨角色 | 报告闭环 ⭐ |
+| SC-X-10 | 跨角色 | 报告对比趋势闭环 |
+| SC-X-13 | 跨角色 | 报告代传跨角色闭环 |
+
+### 测评-方案(43,P0)
+
+角色分布:家长×19、成长规划师×15、孩子(不能登录视角)×3、跨角色×3、AI成长教练(AI管家)×2、真人管家×1
+
+| SC | 角色 | 场景标题 |
+|---|---|---|
+| SC-B-09 | AI成长教练(AI管家) | 教练转接成长规划师 |
+| SC-B-12 | AI成长教练(AI管家) | 同步规划师建议主动跟进 |
+| SC-C-08 | 孩子(不能登录视角) | 方案打卡进度 |
+| SC-C-19 | 孩子(不能登录视角) | 查看家人/规划师消息通知 |
+| SC-C-25 | 孩子(不能登录视角) | 方案任务打卡触发五维增长 |
+| SC-H-02 | 真人管家 | 一对一家长陪跑 |
+| SC-P-32 | 家长 | 选择规划师 |
+| SC-P-33 | 家长 | 购买测评套餐/下单 |
+| SC-P-34 | 家长 | 测评订单支付 |
+| SC-P-35 | 家长 | 获得测评额度 |
+| SC-P-36 | 家长 | 创建预约(消耗额度)⭐ |
+| SC-P-37 | 家长 | 查看预约状态 |
+| SC-P-38 | 家长 | 取消预约(越权校验) |
+| SC-P-40 | 家长 | 生成 AI 方案(一键生成)⭐ 生成方案 |
+| SC-P-41 | 家长 | 方案分板块重生成 |
+| SC-P-42 | 家长 | 方案编辑/调整 |
+| SC-P-43 | 家长 | 查看生成的方案 |
+| SC-P-44 | 家长 | 确认方案(送审/家长确认)⭐ 确认方案 |
+| SC-P-45 | 家长 | 方案直接发布 |
+| SC-P-46 | 家长 | 激活方案生成任务(生成任务)⭐ 生成任务 |
+| SC-P-47 | 家长 | 查看方案下任务列表 |
+| SC-P-48 | 家长 | 方案版本/历史 |
+| SC-P-58 | 家长 | 购买会员/套餐 |
+| SC-P-74 | 家长 | 解绑/重新分配规划师 |
+| SC-P-81 | 家长 | 方案/任务草稿保存与恢复 |
+| SC-T-01 | 成长规划师 | 规划师登录 + 切回家长 |
+| SC-T-04 | 成长规划师 | 方案审核列表 + 批准 |
+| SC-T-05 | 成长规划师 | 激活方案拆任务(幂等)⭐ 生成任务 |
+| SC-T-07 | 成长规划师 | 录入测评结果触发方案 ⭐ |
+| SC-T-09 | 成长规划师 | 测评预约确认(状态守卫) |
+| SC-T-10 | 成长规划师 | 测评预约完成/未到 |
+| SC-T-13 | 成长规划师 | 规划师视角数据隔离 |
+| SC-T-14 | 成长规划师 | 方案编辑(规划师侧) |
+| SC-T-15 | 成长规划师 | 套餐任务项管理 |
+| SC-T-22 | 成长规划师 | 方案归档 |
+| SC-T-25 | 成长规划师 | 舌诊/情绪测评录入(规划师) |
+| SC-T-26 | 成长规划师 | 精准营养方案制定 |
+| SC-T-27 | 成长规划师 | 家庭天盘解读(规划师) |
+| SC-T-28 | 成长规划师 | AI 方案内容安全复核 |
+| SC-T-30 | 成长规划师 | 测评录入触发五维维度变化 |
+| SC-X-01 | 跨角色 | 测评全链路 ⭐ |
+| SC-X-06 | 跨角色 | 方案激活执行闭环 |
+| SC-X-09 | 跨角色 | AI 方案送审闭环 |
+
+### 内容-运营(6,P1)
+
+角色分布:平台运营×5、跨角色×1
+
+| SC | 角色 | 场景标题 |
+|---|---|---|
+| SC-A-03 | 平台运营 | 文章发布-审核 |
+| SC-A-08 | 平台运营 | 知识库管理 |
+| SC-A-13 | 平台运营 | 内容安全审核 |
+| SC-A-18 | 平台运营 | 内容安全审核队列 |
+| SC-A-22 | 平台运营 | 精准营养知识库管理 |
+| SC-X-08 | 跨角色 | 文章发布闭环 |
+
+### 社交-消息(9,P1)
+
+角色分布:家长×5、跨角色×2、孩子(不能登录视角)×1、成长规划师×1
+
+| SC | 角色 | 场景标题 |
+|---|---|---|
+| SC-C-15 | 孩子(不能登录视角) | 消息接收 |
+| SC-P-61 | 家长 | 联系人添加 |
+| SC-P-62 | 家长 | 联系人分组/导入 |
+| SC-P-65 | 家长 | 消息通知/提醒设置 |
+| SC-P-78 | 家长 | 消息中心/通知查看 |
+| SC-P-79 | 家长 | 推送/通知开关设置 |
+| SC-T-19 | 成长规划师 | 消息推送客户 |
+| SC-X-11 | 跨角色 | 消息通知闭环 |
+| SC-X-18 | 跨角色 | 推送跨端送达 |
+
+### 账号-数据(10,P1)
+
+角色分布:平台运营×2、家长×2、商品服务商×2、孩子(不能登录视角)×1、跨角色×1、游客×1、成长规划师×1
+
+| SC | 角色 | 场景标题 |
+|---|---|---|
+| SC-A-10 | 平台运营 | 数据迁移 / 参数校验 |
+| SC-A-19 | 平台运营 | 账号注销/数据导出工单处理 |
+| SC-C-20 | 孩子(不能登录视角) | 成长档案查看/家长代导出 |
+| SC-G-11 | 游客 | 隐私政策/用户协议查看 |
+| SC-P-66 | 家长 | 隐私设置 |
+| SC-P-71 | 家长 | 账号注销(家长注销自身) |
+| SC-S-10 | 商品服务商 | 营养/食谱数据供给 |
+| SC-S-11 | 商品服务商 | 数据导出合规(授权使用) |
+| SC-T-29 | 成长规划师 | 客户档案数据导出(合规) |
+| SC-X-15 | 跨角色 | 注销/数据导出跨角色 |
+
+### 账号-权限(9,P1)
+
+角色分布:孩子(不能登录视角)×2、跨角色×2、游客×2、家长×2、AI成长教练(AI管家)×1
+
+| SC | 角色 | 场景标题 |
+|---|---|---|
+| SC-B-05 | AI成长教练(AI管家) | 敏感问题拦截与隐私保护 |
+| SC-C-01 | 孩子(不能登录视角) | 孩子端登录(无家长入口) |
+| SC-C-17 | 孩子(不能登录视角) | 退出登录 |
+| SC-G-03 | 游客 | 登录方式口径(小程序端 / Web 管理后台) |
+| SC-G-09 | 游客 | 退出登录 |
+| SC-P-63 | 家长 | 联系人详情/权限 |
+| SC-P-85 | 家长 | 多端登录/会话互斥 |
+| SC-X-03 | 跨角色 | 双角色数据隔离越权 |
+| SC-X-17 | 跨角色 | 多端登录会话互斥跨端 |
+
+### 运营治理(4,P1)
+
+角色分布:平台运营×4
+
+| SC | 角色 | 场景标题 |
+|---|---|---|
+| SC-A-07 | 平台运营 | 活动配置 |
+| SC-A-14 | 平台运营 | 系统监控/告警 |
+| SC-A-15 | 平台运营 | 操作审计日志 |
+| SC-A-20 | 平台运营 | 限流/熔断配置 |
+
+### 通用-体验(2,P1)
+
+角色分布:孩子(不能登录视角)×1、家长×1
+
+| SC | 角色 | 场景标题 |
+|---|---|---|
+| SC-C-23 | 孩子(不能登录视角) | 意见反馈(孩子端) |
+| SC-P-83 | 家长 | 意见反馈/在线客服 |
+
+### AI-成长(9,P2)
+
+角色分布:家长×3、孩子(不能登录视角)×2、AI成长教练(AI管家)×2、真人管家×2
+
+| SC | 角色 | 场景标题 |
+|---|---|---|
+| SC-B-01 | AI成长教练(AI管家) | 成长咨询对话 |
+| SC-B-02 | AI成长教练(AI管家) | 主动成长提醒 |
+| SC-C-11 | 孩子(不能登录视角) | 成长记录查看(孩子视角) |
+| SC-C-13 | 孩子(不能登录视角) | AI 对话(孩子视角) |
+| SC-H-01 | 真人管家 | 接收 AI 升级并人工介入 |
+| SC-H-06 | 真人管家 | 与 AI 管家协同闭环 |
+| SC-P-49 | 家长 | AI 健康管家对话 ⭐ |
+| SC-P-50 | 家长 | 成长记录查看 |
+| SC-P-51 | 家长 | 成长里程碑 |
+
+### 其他(31,P2)
+
+角色分布:家长×9、孩子(不能登录视角)×5、游客×5、商品服务商×4、平台运营×2、跨角色×2、成长规划师×2、AI成长教练(AI管家)×1、真人管家×1
+
+| SC | 角色 | 场景标题 |
+|---|---|---|
+| SC-A-06 | 平台运营 | 供应商管理 |
+| SC-A-21 | 平台运营 | 舌诊/情绪模型管理 |
+| SC-B-06 | AI成长教练(AI管家) | LangGraph 不可用 Fallback |
+| SC-C-03 | 孩子(不能登录视角) | 小游戏成绩上报 |
+| SC-C-12 | 孩子(不能登录视角) | 饮食食谱查看 |
+| SC-C-16 | 孩子(不能登录视角) | 个人资料查看(受限) |
+| SC-C-18 | 孩子(不能登录视角) | 设备/账号绑定校验 |
+| SC-C-21 | 孩子(不能登录视角) | 舌诊/情绪自拍采集(孩子端) |
+| SC-G-01 | 游客 | 首次进入小程序/落地页 |
+| SC-G-07 | 游客 | 微信测试模式跳过授权 |
+| SC-G-08 | 游客 | 环境自适应切换 |
+| SC-G-10 | 游客 | 账号不存在引导注册 |
+| SC-G-12 | 游客 | 非微信环境 H5 兜底 |
+| SC-H-05 | 真人管家 | 线下资源与活动对接 |
+| SC-P-28 | 家长 | 食谱按食材筛选/忌口 |
+| SC-P-29 | 家长 | 食谱收藏/调整 |
+| SC-P-30 | 家长 | 食谱与营养目标对齐 |
+| SC-P-54 | 家长 | 加购/下单 |
+| SC-P-64 | 家长 | 个人资料编辑 |
+| SC-P-69 | 家长 | 精准营养目标设定 |
+| SC-P-70 | 家长 | 舌诊/情绪照片采集 |
+| SC-P-73 | 家长 | 多孩子切换孩子上下文 |
+| SC-P-76 | 家长 | 活动报名(名额/并发)⭐ |
+| SC-S-01 | 商品服务商 | 入驻申请 |
+| SC-S-05 | 商品服务商 | 库存管理 |
+| SC-S-07 | 商品服务商 | 营销活动报名 |
+| SC-S-08 | 商品服务商 | 对账/结算 |
+| SC-T-16 | 成长规划师 | 客户健康总览 |
+| SC-T-20 | 成长规划师 | 退出/切换账号 |
+| SC-X-14 | 跨角色 | 解绑/重分配跨角色协同 |
+| SC-X-16 | 跨角色 | 活动名额并发 E2E ⭐ |
+
+### 管家-服务(3,P2)
+
+角色分布:真人管家×3
+
+| SC | 角色 | 场景标题 |
+|---|---|---|
+| SC-H-03 | 真人管家 | 多方沟通协调 |
+| SC-H-04 | 真人管家 | 升级与应急处理 |
+| SC-H-07 | 真人管家 | 服务质检与满意度 |
+
+## 落地路径
+
+1. 每批先定契约:确认接口路径/请求响应契约(参考 docs/superpowers/api/API_REFERENCE.md,无则补接口文档)。
+2. 契约合入 origin/cfclub 后,为批内 SC 映射能力键(合法 unit.domain.action)。
+3. `--add-task <key> --requirement <SC编号> --design <契约sha>` 入池。
+4. 巡检自动派发,三类流证据闭环后台账标「已跑通」。

+ 131 - 0
docs/tdd/orchestration/dan-plan-kickoff-20261106.md

@@ -0,0 +1,131 @@
+# 测评-方案批次 · 开工包(43 SC)
+> 归属:契约补建计划 P0「测评-方案」· 生成 2026-11-06 22:30
+> 数据源:sc-key-map.md(origin/cfclub,236 全量登记)· 端点核对:cfc-backend controller 源码(origin/cfclub 工作树)
+
+## 批次定位
+家长「测评 → 方案 → 任务」核心主线,是全产品最高频链路;本批 43 个 SC 均无合法能力键(台账「对应能力键」列全为 `—`),需先定契约才能 `--add-task` 入池。
+覆盖四段:**DAN 测评(下单/支付/额度/预约/录入/结果)→ AI 方案(生成/重生成/编辑/确认/发布/版本)→ 规划师侧(审核/激活/编辑/归档/套餐项)→ 孩子执行(打卡进度/通知/五维增长)**,外加 3 个跨角色全链路。
+
+## SC 明细
+
+| SC | 角色 | 场景标题 | 建议能力键 | 契约接口范围 | 依赖 Controller |
+|---|---|---|---|---|---|
+| SC-P-33 | 家长 | 购买测评套餐/下单 | dan.assessment.orderCreate | /api/package/order/create、/api/package/price、/api/guide/guide-packages | PackagePurchaseController、GuideController |
+| SC-P-34 | 家长 | 测评订单支付 | dan.assessment.orderPay | /api/payment/wechat/create、/api/payment/order/status/{orderNo} | PaymentController |
+| SC-P-35 | 家长 | 获得测评额度 | dan.assessment.quotaAcquire | /api/dan-assessment/points-config、/api/dan-assessment/family/enable | DanAssessmentController |
+| SC-P-36 | 家长 | 创建预约(消耗额度)⭐ | dan.assessment.appointmentCreate | /api/dan-assessment/appointment/create | DanAssessmentController |
+| SC-P-37 | 家长 | 查看预约状态 | dan.assessment.appointmentView | /api/dan-assessment/appointment/user | DanAssessmentController |
+| SC-P-38 | 家长 | 取消预约(越权校验) | dan.assessment.appointmentCancel | /api/dan-assessment/appointment/cancel | DanAssessmentController |
+| SC-P-32 | 家长 | 选择规划师 | guide.parent.selectPlanner | /api/package/available-guides、/api/guide/parent-invite/accept | PackagePurchaseController、GuideController |
+| SC-P-58 | 家长 | 购买会员/套餐 | membership.parent.purchase | /api/membership/*、/api/package/order/create | MembershipController、PackagePurchaseController |
+| SC-P-74 | 家长 | 解绑/重新分配规划师 | guide.parent.unbind | /api/guide/families/unbind、/api/guide/families/bound-families | GuideFamilyTaskController |
+| SC-P-40 | 家长 | 生成 AI 方案(一键生成)⭐ | plan.parent.generate | /api/health/plan/generate | HealthPlanController |
+| SC-P-41 | 家长 | 方案分板块重生成 | plan.parent.regenerateSection | /api/health/plan/regenerate-section | HealthPlanController |
+| SC-P-42 | 家长 | 方案编辑/调整 | plan.parent.edit | /api/health/plan/save | HealthPlanController |
+| SC-P-43 | 家长 | 查看生成的方案 | plan.parent.view | /api/health/plan/detail、/api/health/plan/list | HealthPlanController |
+| SC-P-44 | 家长 | 确认方案(送审/家长确认)⭐ | plan.parent.confirm | /api/health/plan/confirm、/api/health/plan/pending-review/approve | HealthPlanController |
+| SC-P-45 | 家长 | 方案直接发布 | plan.parent.publish | /api/health/plan/confirm、/api/orchestration/flow/publish | HealthPlanController、OrchestrationController |
+| SC-P-46 | 家长 | 激活方案生成任务(生成任务)⭐ | plan.parent.activateTasks | /api/health/plan/tasks、/api/orchestration/execution/start | HealthPlanController、OrchestrationController |
+| SC-P-47 | 家长 | 查看方案下任务列表 | plan.parent.taskList | /api/health/plan/tasks | HealthPlanController |
+| SC-P-48 | 家长 | 方案版本/历史 | plan.parent.history | /api/health/plan/detail、/api/health/plan/pending-review/list | HealthPlanController |
+| SC-P-81 | 家长 | 方案/任务草稿保存与恢复 | plan.parent.draft | /api/health/plan/save、/api/orchestration/flow/save | HealthPlanController、OrchestrationController |
+| SC-T-01 | 成长规划师 | 规划师登录 + 切回家长 | auth.guide.login | /api/guide/register、/api/guide/application/submit(+ token 切换) | GuideManagementController |
+| SC-T-04 | 成长规划师 | 方案审核列表 + 批准 | plan.guide.reviewList | /api/guide/families/{familyId}/plans/pending、/{planId}/approve | GuidePlanReviewController |
+| SC-T-05 | 成长规划师 | 激活方案拆任务(幂等)⭐ | plan.guide.activateTask | /api/guide/plans/activate、/api/guide/plans/detail | PlanReviewController |
+| SC-T-07 | 成长规划师 | 录入测评结果触发方案 ⭐ | dan.assessment.recordComplete | /api/dan-assessment/record/create、/api/dan-assessment/record/complete | DanAssessmentController |
+| SC-T-09 | 成长规划师 | 测评预约确认(状态守卫) | dan.assessment.appointmentConfirm | /api/dan-assessment/appointment/confirm | DanAssessmentController |
+| SC-T-10 | 成长规划师 | 测评预约完成/未到 | dan.assessment.appointmentComplete | /api/dan-assessment/appointment/complete | DanAssessmentController |
+| SC-T-13 | 成长规划师 | 规划师视角数据隔离 | guide.family.dataIsolation | /api/data-permission/*、/api/guide/families/my-families | DataPermissionController、GuideFamilyQueryController |
+| SC-T-14 | 成长规划师 | 方案编辑(规划师侧) | plan.guide.edit | /api/guide/families/{familyId}/plans/{planId}/update | GuidePlanReviewController |
+| SC-T-15 | 成长规划师 | 套餐任务项管理 | plan.guide.taskItemManage | /api/guide/training-plans/items/*、/api/packages/* | TrainingPlanController、TaskTemplatePackageController |
+| SC-T-22 | 成长规划师 | 方案归档 | plan.guide.archive | /api/orchestration/flow/archive | OrchestrationController |
+| SC-T-25 | 成长规划师 | 舌诊/情绪测评录入(规划师) | dan.assessment.tongueEmotionInput | /api/guide/assessment/family/{familyId}、/api/mind/emotion/* | GuideAssessmentController、MindController |
+| SC-T-26 | 成长规划师 | 精准营养方案制定 | plan.guide.nutritionPlan | /api/nutrition/profile、/api/nutritionist/* | UserNutritionProfileController、NutritionistController |
+| SC-T-27 | 成长规划师 | 家庭天盘解读(规划师) | plan.guide.tianpanReading | /api/tianpan/* | TianpanController |
+| SC-T-28 | 成长规划师 | AI 方案内容安全复核 | plan.guide.contentSafeReview | /api/content/*、/api/guide/plans/review | ContentFilterController、PlanReviewController |
+| SC-T-30 | 成长规划师 | 测评录入触发五维维度变化 | dan.assessment.triggerFiveDim | /api/dan-assessment/record/complete + 五维引擎 | DanAssessmentController + dimension 线 |
+| SC-C-08 | 孩子 | 方案打卡进度 | task.child.checkinProgress | /api/daily/checkin/list、/api/health/plan/tasks | DailyCheckinController、HealthPlanController |
+| SC-C-19 | 孩子 | 查看家人/规划师消息通知 | notification.child.list | /api/notification/list、/api/notification/read | UserNotificationController |
+| SC-C-25 | 孩子 | 方案任务打卡触发五维增长 | task.child.checkinTriggerFiveDim | /api/daily/checkin/create + 五维引擎 | DailyCheckinController + dimension 线 |
+| SC-B-09 | AI成长教练 | 教练转接成长规划师 | coach.handoff.planner | LangGraph 转接 graph、/api/guide/parent-invite/generate | cfc-langgraph、GuideController |
+| SC-B-12 | AI成长教练 | 同步规划师建议主动跟进 | coach.followup.syncPlanner | LangGraph 跟进 graph、/api/guide/messages/send | cfc-langgraph、TeacherMessageController |
+| SC-H-02 | 真人管家 | 一对一家长陪跑 | butler.parent.accompany | 无既有 Controller(人工服务流程,需新建服务记录/工单契约) | butler 域(待建) |
+| SC-X-01 | 跨角色 | 测评全链路 ⭐ | dan.assessment.closedLoop | 下单→支付→额度→预约→录入→结果 全链路 | 全链路 |
+| SC-X-06 | 跨角色 | 方案激活执行闭环 | plan.closedLoop.activateExecute | 方案确认→激活→拆任务→执行 全链路 | 全链路 |
+| SC-X-09 | 跨角色 | AI 方案送审闭环 | plan.closedLoop.reviewRoundTrip | 生成→送审→规划师批/驳→重生成 全链路 | 全链路 |
+
+## 建议能力键去重(44 个,43 SC 无重叠)
+
+**测评(12)**
+- `dan.assessment.orderCreate`
+- `dan.assessment.orderPay`
+- `dan.assessment.quotaAcquire`
+- `dan.assessment.appointmentCreate`
+- `dan.assessment.appointmentView`
+- `dan.assessment.appointmentCancel`
+- `dan.assessment.appointmentConfirm`
+- `dan.assessment.appointmentComplete`
+- `dan.assessment.recordComplete`
+- `dan.assessment.tongueEmotionInput`
+- `dan.assessment.triggerFiveDim`
+- `dan.assessment.closedLoop`
+
+**方案(21)**
+- `plan.parent.generate`
+- `plan.parent.regenerateSection`
+- `plan.parent.edit`
+- `plan.parent.view`
+- `plan.parent.confirm`
+- `plan.parent.publish`
+- `plan.parent.activateTasks`
+- `plan.parent.taskList`
+- `plan.parent.history`
+- `plan.parent.draft`
+- `plan.guide.reviewList`
+- `plan.guide.activateTask`
+- `plan.guide.edit`
+- `plan.guide.taskItemManage`
+- `plan.guide.archive`
+- `plan.guide.nutritionPlan`
+- `plan.guide.tianpanReading`
+- `plan.guide.contentSafeReview`
+- `plan.closedLoop.activateExecute`
+- `plan.closedLoop.reviewRoundTrip`
+
+**规划师绑定 / 会员(5)**
+- `guide.parent.selectPlanner`
+- `guide.parent.unbind`
+- `guide.family.dataIsolation`
+- `membership.parent.purchase`
+- `auth.guide.login`
+
+**孩子执行 / 通知(3)**
+- `task.child.checkinProgress`
+- `task.child.checkinTriggerFiveDim`
+- `notification.child.list`
+
+**AI 教练 / 真人管家(3)**
+- `coach.handoff.planner`
+- `coach.followup.syncPlanner`
+- `butler.parent.accompany`
+
+## 开工步骤
+1. **定契约**(按子域分 4 组并行评审,契约互不冲突):
+   - 组 A 测评:`DanAssessmentController`(预约 create/confirm/complete/cancel/user、record/create+complete、points-config、family/enable)+ `PackagePurchaseController`(order/create)+ `PaymentController`(wechat/create、order/status)。重点写清「额度扣减」与「预约状态机」(待确认→已确认→已完成/未到/已取消)。
+   - 组 B 方案:`HealthPlanController`(generate/regenerate-section/save/confirm/list/detail/tasks/pending-review/*)+ `OrchestrationController`(flow/save|publish|archive、execution/start)。重点写清「家长确认 vs 规划师审核」双通道与**幂等激活**。
+   - 组 C 规划师侧:`GuidePlanReviewController`、`PlanReviewController`(activate)、`TrainingPlanController`(items/*)、`GuideFamilyTaskController`(unbind)、`GuideFamilyQueryController`(my-families)、`DataPermissionController`。重点写清**规划师数据隔离边界**。
+   - 组 D 孩子/AI:`DailyCheckinController`(list/create)、`UserNotificationController`、LangGraph 转接/跟进 graph、butler 服务记录(新建契约)。
+2. 契约合入 `origin/cfclub` → 逐组记录 sha(一组一 sha,便于分级 `--design`)。
+3. 映射能力键:`--add-task <key> --requirement "SC-xxx:<场景标题>(tests/user-scenarios/应用场景总览.md)" --design <契约 sha>`。
+   - ⚠ `--design` 必须标注「契约已在 origin/cfclub;实现若在 feature 分支须显式说明、不得假定包路径」。
+4. 巡检派发 → 实现/测试 → 三类流证据(正常/异常/权限)→ 台账「跑通状态」标已跑通。
+5. 每组闭环后回填 sc-key-map.md「对应能力键 / 键阶段 / 跑通状态 / 三类流证据」四列。
+
+## 前置/风险
+- **量最大(43/216 = 20%)**:建议按 A→B→C→D 顺序推进,A 组(12 个测评)是主线入口,先打通可解锁 X-01。
+- **SC-P-45 / P-46 / P-81 / T-22 依赖 OrchestrationController 的 flow/execution 语义**:该控制器端点齐全但**编排语义(flow 与 plan 的关系)尚无用例定义**,定契约前须先明确「flow = 方案编排实例」还是「通用编排引擎」,否则能力键名与实现会错位。属本批最大不确定性。
+- **SC-T-26 / T-27 跨域**:营养方案走 `nutrition` 线、天盘走 `tianpan` 线,二者均非「方案」域原生能力,契约需在各自 Controller 补齐后由 plan 侧聚合,建议**拆分独立任务**、不并入 plan.guide 单键。
+- **SC-B-09 / B-12 依赖 LangGraph(本地 9000 服务)**:契约在 cfc-langgraph,与本批后端解耦,可并行但**不可与后端同批派发**(跨仓)。
+- **SC-H-02 真人管家无既有 Controller**:需先确认「陪跑」是人工工单还是系统能力;若无实现计划,登记为**契约待定**不强行建伪键。
+- **SC-X-01 / X-06 / X-09 是跨角色全链路**:必须等所属正向 SC 全部闭环后才能取证,放本批最后,且三类流要覆盖「家长发起 / 规划师介入 / 孩子执行」三视角。
+- **SC-T-30 / C-25 涉及五维引擎**:归因写入在 dimension/energy 线(P0 五维能量批),能力键的**两类流证据需引用五维能量批的契约 sha**,避免重复建键。

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
docs/tdd/orchestration/pending.md


+ 66 - 0
docs/tdd/orchestration/report-closedloop-kickoff-20261106.md

@@ -0,0 +1,66 @@
+# 报告闭环批次 · 开工包(23 SC)
+> 归属:契约补建计划 P0「报告闭环」· 生成 2026-11-06 22:11
+
+## 批次定位
+家长高频入口(报告上传/解析/趋势),且已有 health.report.* 契约链(upload/createReport YELLOW),本批补全剩余 + 跨角色闭环。
+
+## SC 明细
+
+| SC | 角色 | 场景标题 | 建议能力键 | 契约接口范围 | 依赖 Controller |
+|---|---|---|---|---|---|
+| SC-A-02 | 平台运营 | 报告解析中台(类型/聚类) | admin.reportParse.typeList | /api/admin/report-parser/*、/api/admin/report-parse/* | ReportParserAdminController/ReportParseAdminController |
+| SC-A-16 | 平台运营 | 报告解析自学习/未知类型标注 | admin.reportParse.selfLearn | /api/admin/report-parser/fingerprints/* | ReportParserAdminController |
+| SC-B-04 | AI成长教练 | 成长报告智能解读 | coach.growthReport.interpret | LangGraph 报告解读 graph | cfc-langgraph |
+| SC-B-11 | AI成长教练 | 报告细节追问 | coach.growthReport.ask | LangGraph 追问 graph | cfc-langgraph |
+| SC-C-06 | 孩子 | 查看能量与报告(只读) | health.report.view | /api/health/report/* | HealthReportController |
+| SC-C-07 | 孩子 | 查看 DAN 测评报告 | dan.assessment.viewReport | /api/assessment/* 详情 | AssessmentController |
+| SC-P-24 | 家长 | 多报告管理/对比 | health.report.compare | /api/health/report/compare | HealthReportController |
+| SC-P-25 | 家长 | 报告趋势查看 | health.report.trend | /api/health/report/trend | HealthReportController |
+| SC-P-26 | 家长 | 基于报告饮食推荐 | health.report.dietRecommend | /api/health/report/diet | HealthReportController+饮食推荐 |
+| SC-P-39 | 家长 | 查看测评结果(DAN 报告) | dan.assessment.viewResult | /api/assessment/result/* | AssessmentController |
+| SC-P-67 | 家长 | 报告代传(家长替孩子/他人代传) | health.report.proxyUpload | /api/health/report/proxy-upload | HealthReportController |
+| SC-P-82 | 家长 | 全局搜索(报告/方案/任务/商品) | misc.globalSearch | /api/search/global | SearchController |
+| SC-P-84 | 家长 | 分享报告/方案给家人或规划师 | health.report.share | /api/health/report/share | HealthReportController |
+| SC-P-91 | 家长 | 健康报告入库刷新五维评分 | health.report.refreshFiveDim | /api/health/report/refresh-dim | HealthReportController+五维引擎 |
+| SC-S-09 | 商品服务商 | 报告解析服务接入(对接解析中台) | provider.reportParse.connect | /api/provider/report-parse/connect | ProviderController |
+| SC-T-03 | 成长规划师 | 代传报告 + 确认入库(上传报告) | health.report.proxyUpload | /api/health/report/proxy-upload | HealthReportController |
+| SC-T-11 | 成长规划师 | DAN 报告上传与解析 | dan.assessment.uploadReport | /api/assessment/upload | AssessmentController |
+| SC-T-12 | 成长规划师 | DAN 八类报告查看 | dan.assessment.viewReport | /api/assessment/report/* | AssessmentController |
+| SC-T-21 | 成长规划师 | 报告对比分析 | health.report.compare | /api/health/report/compare | HealthReportController |
+| SC-T-23 | 成长规划师 | 报告代传(规划师代客户传) | health.report.proxyUpload | /api/health/report/proxy-upload | HealthReportController |
+| SC-X-02 | 跨角色 | 报告闭环 | health.report.closedLoop | 报告上传→解析→入库→查看全链路 | 全链路 |
+| SC-X-10 | 跨角色 | 报告对比趋势闭环 | health.report.trendClosedLoop | 多报告对比→趋势→重算 | 全链路 |
+| SC-X-13 | 跨角色 | 报告代传跨角色闭环 | health.report.proxyClosedLoop | 家长/规划师代传→归属校验 | 全链路 |
+
+## 建议能力键去重
+
+- `admin.reportParse.selfLearn`
+- `admin.reportParse.typeList`
+- `coach.growthReport.ask`
+- `coach.growthReport.interpret`
+- `dan.assessment.uploadReport`
+- `dan.assessment.viewReport`
+- `dan.assessment.viewResult`
+- `health.report.closedLoop`
+- `health.report.compare`
+- `health.report.dietRecommend`
+- `health.report.proxyClosedLoop`
+- `health.report.proxyUpload`
+- `health.report.refreshFiveDim`
+- `health.report.share`
+- `health.report.trend`
+- `health.report.trendClosedLoop`
+- `health.report.view`
+- `misc.globalSearch`
+- `provider.reportParse.connect`
+
+## 开工步骤
+1. 定契约:核对上述接口路径/请求响应契约(API_REFERENCE.md,缺则补接口文档)。
+2. 契约合入 origin/cfclub → 记录 sha。
+3. 映射能力键:--add-task <key> --requirement <SC> --design <sha>。
+4. 巡检派发 → 实现/测试 → 三类流证据 → 台账标已跑通。
+
+## 前置/风险
+- SC-B-04/B-11 依赖 LangGraph 报告解读 graph(本地 9000 服务),契约在 cfc-langgraph。
+- SC-X-02/10/13 是跨角色全链路,需多角色协作,放本批最后。
+- SC-P-91 依赖五维引擎(dimension/energy 线),与本批解耦,可并行。

+ 152 - 0
docs/tdd/orchestration/report-dev-2026-11-06-2122.md

@@ -0,0 +1,152 @@
+# 研发负责人工作汇报
+
+## 基本信息
+
+| 项目 | 内容 |
+|------|------|
+| 汇报人 | 研发负责人1(自动化 ce26ad68) |
+| 汇报周期 | 2026-11-06 12:31 ~ 21:22(第 35 轮,文件名时间戳 2122) |
+| 负责模块/单元范围 | 全量(cfc-backend / cfc-frontend / cfc-web / danshop / cfc-langgraph) |
+
+---
+
+## 一、本轮工作数据汇总
+
+### 1.1 问题接收与处置
+
+| 指标 | 数量 | 说明 |
+|------|------|------|
+| 收到的测试反馈问题数 | 1 类(账本滞后:3 RED 键实现/测试已推远端但状态机未收口;sleep.config.tags yellow_sha 误配) | 源自 `--inspect` 状态机核查 + 2117 槽位汇报 |
+| 已解决问题数 | 3 个(task.history.view / growth.history.view / achievement.grid.fiveCol 由 RED→YELLOW 收口) | 实现 sha 已在 origin/cfclub 链上 |
+| 待解决研发问题数 | 0(研发侧已闭环;剩余 8 YELLOW 待**测试侧** mark-green) | 优先级见 §二 |
+
+### 1.2 任务分发与会话管理
+
+| 指标 | 数量 | 说明 |
+|------|------|------|
+| 分派任务数 | 0 | 任务池 0 pending(账本 32 条 = 31 done + 1 failed S-cfc-20),无新任务可派 |
+| 恢复智能体会话数 | 0 | 无中断/超时/swallowed/wedged 存量 |
+| 当前在用会话数 | 250 会话全 idle | 5 智能体各 50 会话,busy=0 idle=50 interrupted=0,配额占用 0/3 |
+| 会话平均利用率 | ~0%(本轮) | 任务池枯竭 + opencode 黑窗 ACTIVE(429 家族至 11-07 08:00)→ 零派发 |
+
+### 1.2b 各会话当前工作状态列表
+
+| 会话标签 | 会话 ID 规模 | 当前状态 | 当前任务 | 静默/空闲时长 | 工作目录 | 备注 |
+|----------|--------------|----------|----------|---------------|----------|------|
+| lan-189 | 50 | idle | — | 本轮全部空闲 | 不干净(主工作树 124 处他人 WIP,非本节点) | 配额剩余=3 |
+| lan-204 | 50 | idle | — | 同上 | 同上 | 配额剩余=3 |
+| local-lan-4090 | 50 | idle | — | 同上 | 同上 | 配额剩余=3 |
+| mes-local-45278 | 50 | idle | — | 同上 | 同上 | 配额剩余=3 |
+| pub-iwintrue | 50 | idle | — | 同上 | 同上 | 配额剩余=3 |
+
+> 注:250 会话全 idle(`--inspect` 21:26 快照);prod-etotem 未在本轮注册清单(expired,沿用 2117 槽位口径)。主工作树 `--clean-check` 退出 1(124 处未提交,他人 WIP,禁 add -A,未代清理)。
+
+### 1.3 变更感知与新任务建立
+
+| 指标 | 数量 | 说明 |
+|------|------|------|
+| 感知需求/设计变更数 | ≥66 测试用例 / ~38 需求+设计文档(近 1 天总数) | `--changes --days 1`:3d3cb183 pre-test 合并 + 设计/需求文档更新为主,无实质新契约 |
+| 新增入池任务数 | 0 | `--changes` 检出**无新增能力键(0→0)** → 无 `--add-task`(新任务溯源铁律:无新键不入池) |
+| 既有键状态流转数 | 3 次(RED→YELLOW×3) | 见附录 B |
+
+### 1.4 本轮 git 提交与推送证据(真理证据)
+
+| 提交 sha | 关联任务/能力键 | 阶段 | 触及文件类型 | 目标分支 | 已推送远端 | 备注 |
+|----------|-----------------|------|--------------|----------|------------|------|
+| ed8f1c347d98 | task.history.view(S-cfc-29) | YELLOW | 实现(cfc-frontend/pages/*.vue) | cfclub | 是(merge-base ✓) | 本轮登记 |
+| da2727f53b64 | growth.history.view(S-cfc-30) | YELLOW | 实现(cfc-frontend/pages/*.vue) | cfclub | 是(merge-base ✓) | 本轮登记 |
+| e205656ee4b9 | achievement.grid.fiveCol(S-cfc-32) | YELLOW | 实现(cfc-frontend/pages/*.vue) | cfclub | 是(merge-base ✓) | 本轮登记 |
+| 4adb7895c53c / a73cfa4e26aa / 7ca946b32c24 | task.history.view / growth.history.view / achievement.grid.fiveCol | RED(补记参考) | 契约测试 | cfclub | 是 | 历史登记缺 red_sha,已在链(TR-6 已标注) |
+| 93aad0152 / f8b145d3a / 4734bcf45 | sleep.config.tags | YELLOW(纠偏依据) | 实现 | cfclub | 是(merge-base ✓) | yellow_sha=04d87cfd1 系误配,真实实现 3 sha 已核验 |
+
+### 1.5 状态机阶段分布与部署状态
+
+| 阶段 | 键数 | 备注 |
+|------|------|------|
+| UNTRACKED | 0 | 目标池 0 键 |
+| RED | 0 | 本轮 3 键已收口(上轮 3 → 本轮 0) |
+| YELLOW | 8 | admin.auth.login / health.report.upload / health.report.createReport / dan.assessment.getActiveMaterial / sleep.config.tags / task.history.view / growth.history.view / achievement.grid.fiveCol |
+| GREEN | 0 | 待测试侧 mark-green(TR-6 已登记) |
+| DONE | 12 | 无变化 |
+
+| 部署项 | 值 | 说明 |
+|--------|-----|------|
+| 本轮部署次数 | 0 | 无新实现可部署(8 YELLOW 均为已推远端实现,部署缺口待部署侧确认) |
+| 最新 last_deployed | 292087771 | .workbuddy/tasks.json |
+| GREEN 部署链验证 | 不涉及 | 本轮无 GREEN 闭环 |
+
+### 1.6 数据源健康度
+
+| 数据源 | 读取键数 | 是否正常 | 备注 |
+|--------|----------|----------|------|
+| 需求侧(⏳ wish) | 0 | 正常(无 ⏳ 未实现键) | 目标池 0 键 |
+| 契约常量(contract) | 0 | 正常 | 标注用,非入池门槛 |
+| 测试用例引用(test_case_map) | 0 | 正常 | 用例引用 ∩ ⏳ = 0 |
+| 执行结果回填(case_results) | 0 | 正常 | 无部署后回验队列 |
+
+---
+
+## 二、下一步需要研发处理的事项
+
+| 序号 | 事项描述 | 依赖/前置条件 | 预估完成时间 | 优先级 | 状态 |
+|------|----------|---------------|--------------|--------|------|
+| 1 | 8 个 YELLOW 键由测试侧 mark-green 收口(TR-6 已登记,证据链齐备) | 测试侧复验(注意 pom.xml:28 skipTests=false) | 2026-11-07 | P1 | 待启动(测试侧) |
+| 2 | sleep.config.tags yellow_sha 纠偏落地(04d87cfd1→93aad0152 之一) | 主理人/登记人授权改写本地 account(编排侧本地事实源) | 2026-11-07 | P1 | 待启动 |
+| 3 | 黑窗(11-07 08:00)结束后按池派发;池空则从测试台账 B-1/B-5 复验真实性后设计新任务 | opencode 429 黑窗解除 | 2026-11-07 08:00 后 | P2 | 待启动 |
+| 4 | make_green_task 模板单模块错配(S-cfc-19/20 根因)模板修正 | 编排器维护(非本机业务) | 2026-11-07 | P2 | 待启动 |
+
+---
+
+## 三、阻塞与风险
+
+| 阻塞项 | 影响范围 | 阻塞类型 | 处置进展 | 需要协调 |
+|--------|----------|----------|----------|----------|
+| 部署缺口 3 条(895e500e1/30ae86d7d/def9c83a3)真缺口 | testing 功能可见性(商品标签、引导浮层按账号记录) | 研发/部署 | 2117 槽位已复核确认真缺口(292087771 后 main diff 含 GuideConfig 5 文件 264 插入);本轮延续 | 部署侧确认 |
+| O-3 工作目录门禁 | 主工作树 124 处他人 WIP | 流程 | `--clean-check` 恒 1;本轮全程 hash-object 单文件入库未触碰主工作树 index | 主理人协调收口责任人 |
+| **commit_kind/git_evidence 前导斜杠 bug(本轮发现+修复)** | **纯前端实现键 YELLOW 无法登记(曾被误判 other → 卡 RED)** | 研发/编排器 | 已修复:`git show --name-only` 返回无前导斜杠相对路径,原 `"/cfc-frontend/pages/"` 前缀匹配恒 False → 已去前导斜杠(cfc-frontend/cfc-web/danshop 路径),py_compile ✓ + 6 提交定向验证判定正确(3 main / 3 test) | 无(本地 skill 脚本修复,已记录) |
+| 黑窗(opencode 429) | 派发能力 | 外部 | ACTIVE 至 11-07 08:00(opencode_blackout_until_ms=1794009600000,reason=429);本轮任务池空+黑窗双因素零派发 | 无 |
+
+---
+
+## 四、下轮工作规划
+
+| 计划项 | 预计完成时间 | 前置依赖 | 涉及会话标签 | 备注 |
+|--------|--------------|----------|--------------|------|
+| 黑窗解除后检查池/台账 B-1(surefire 13 红)、B-5(49 REAL_ERR)真实性,复验后设计新任务入池派发 | 2026-11-07 08:00 后 | 黑窗解除 + 台账复验 | lan-189/lan-204/pub-iwintrue | 池空不收手,按需设计 |
+| 跟踪测试侧 TR-6 收口 8 YELLOW | 2026-11-07 | 测试侧复验 | — | mark-green 为测试职责 |
+
+---
+
+## 附录
+
+### 附录 A:收到的测试反馈问题明细
+
+| 问题 ID | 能力键/任务号 | 问题类型 | 来源 | 接收时间 | 处置状态 | 关联 sha |
+|---------|---------------|----------|------|----------|----------|----------|
+| 账本滞后 1 | task.history.view / growth.history.view / achievement.grid.fiveCol | 实现已推未收口 | 状态机核查 | 2026-11-06 21:22 | 已解决(RED→YELLOW) | ed8f1c347 / da2727f53 / e205656ee |
+| 账本滞后 2 | sleep.config.tags | yellow_sha 登记误配 | 2117 槽位 + 本机复核 | 2026-11-06 21:22 | 解决中(真实实现 3 sha 已核验,纠偏待授权) | 93aad0152 / f8b145d3a / 4734bcf45 |
+
+### 附录 B:任务分派与会话恢复明细
+
+| 任务号 | 目标会话标签 | 任务类型 | 分派时间 | 当前状态 | 恢复会话标签 | 恢复原因 | 恢复时间 |
+|--------|--------------|----------|----------|----------|--------------|----------|----------|
+| S-cfc-29/30/32(历史派发) | — | GREEN 实现 | 早前轮 | done(会话产出) | 无 | 无 | 无 |
+
+> 本轮零派发、零恢复;实质性动作 = 3 键状态机收口 + 脚本缺陷修复 + TR-6 登记(均为编排侧职责,业务代码零改动)。
+
+### 附录 C:新增入池任务明细
+
+| 任务号 | 能力键 | 需求溯源 | 设计溯源 | 创建时间 | 状态 |
+|--------|--------|----------|----------|----------|------|
+| (无新增) | — | — | — | — | — |
+
+### 附录 D:变更感知明细(来自 `--changes`)
+
+| 变更文档 | 文档类型 | 变更日期 | 新增能力键 | 是否已入池 |
+|----------|----------|----------|------------|------------|
+| 需求/设计文档 ~38 份(docs/10、docs/superpowers、specs/T28 等) | 需求/设计 | 2026-11-06 | 0 | — |
+| 测试用例文档 66 份(自动化运行报告为主) | 用例 | 2026-11-06 | 0 | — |
+
+---
+
+**本轮结论**:零派发(任务池 0 pending + 黑窗 ACTIVE)、零恢复、0 新增能力键。核心增量:① **修复 commit_kind/git_evidence 前导斜杠 bug**(纯前端实现键 YELLOW 登记被误判 other 的编排器缺陷,主理人 15:20 裁决「前端 src 归入 main」落地不完整);② **3 键 RED→YELLOW 收口**(task/growth/achievement 历史页+成就五列,实现 sha 全部在链);③ **TR-6 登记**(8 YELLOW 证据链齐备,请求测试侧 mark-green)。瓶颈延续「任务池枯竭 + 黑窗至 11-07 08:00」;部署缺口 3 条与 O-3 门禁待主理人/部署侧协调。与 21:17 槽位并发,后端本轮仅 1 份汇报入库。

+ 155 - 0
docs/tdd/orchestration/report-dev-2026-11-06-2150.md

@@ -0,0 +1,155 @@
+# 研发负责人工作汇报(第 39 轮 · 错峰03 自动化)
+
+> 汇报人:研发负责人(错峰03 自动化第 39 轮)
+> 汇报周期:2026-11-06 21:47 ~ 21:50(第 39 轮)
+> 负责模块/单元范围:CFC 全域 TDD 编排(发现/跟踪 + 红黄绿闭环调度)
+
+---
+
+## 一、本轮工作数据汇总
+
+### 1.1 问题接收与处置
+
+| 指标 | 数量 | 填写说明 |
+|------|------|----------|
+| **收到的测试反馈问题数** | 0 个 | 本轮无新 blocker;B-26/O-5(主工作区 WIP 阻断 testCompile)已由测试侧登记(19:10/20:20),属裁决通道项,非本轮新增研发问题 |
+| **已解决问题数** | 0 个 | 本轮无研发侧缺陷闭环(8 YELLOW 收口待测试 `--mark-green`,TR-6 已发 21:35,非研发动作) |
+| **待解决研发问题数** | 2 个 | P1:dispatch.py `_git_evidence_sha` 证据误配缺陷(→ O-6 已裁决,待主理人派发脚本修订);P2:sleep.config.tags `yellow_sha` 登记误配(`04d87cfd1` 系术语重构,实现已落地——34 轮确证,登记 sha 待回填) |
+
+### 1.2 任务分发与会话管理
+
+| 指标 | 数量 | 填写说明 |
+|------|------|----------|
+| **分派任务数** | 0 个 | 任务池空(`--changes` 近 2 天 0 新键),无 pending 可派发 |
+| **恢复智能体会话数** | 0 个 | 无中断会话;S-cfc-20 failed 为历史会话(admin.auth.login GREEN 启动失败),其实现已由 `6c7e09fe8` 确证落地,无需重派 |
+| **当前在用会话数** | 0 个 | 账本静态判定:tasks.json 32 条(31 done + 1 failed),无 in-progress/dispatched |
+| **会话平均利用率** | 不适用 | 本轮零派发(池空) |
+
+### 1.2b 各会话当前工作状态列表
+
+> 本轮 `--inspect` 被角色隔离拒绝(仅测试角色可执行),实时心跳无法取,以下按账本静态判定(tasks.json + state.json)。
+
+| 会话标签 | 会话 ID | 当前状态 | 当前任务 | 静默/空闲时长 | 工作目录 | 备注 |
+|----------|---------|----------|----------|---------------|----------|------|
+| 无活跃会话 | — | idle | — | — | 不干净(125 处他人 WIP) | 全部 31 done / 1 failed(S-cfc-20),无在途;5 实例配额占用 0/3(38 轮口径) |
+
+### 1.3 变更感知与新任务建立
+
+| 指标 | 数量 | 填写说明 |
+|------|------|----------|
+| **感知需求/设计变更数** | 3223 文件 | `--changes --days 2`:设计 93 / 测试用例 68 / 其他 3062 |
+| **新增入池任务数** | 0 个 | 无新增能力键(0→0,变化集中于既有键),无需 `--add-task` |
+| **既有键状态流转数** | 0 次 | 本轮无 `--mark-*` 登记(8 YELLOW 均待测试收口) |
+
+### 1.4 本轮 git 提交与推送证据(真理证据)
+
+| 提交 sha | 关联任务/能力键 | 阶段 | 触及文件类型 | 目标分支 | 已推送远端 | 备注 |
+|----------|-----------------|------|--------------|----------|------------|------|
+| (入库后回填) | O-5/O-6 裁决 + 第39轮汇报 | 裁决/汇报 | docs | cfclub | 是(hash-object 单文件入库) | 本轮实质产出 |
+| 8 YELLOW 证据 sha | 见 1.5 | YELLOW | 实现 | cfclub | 是(全部 merge-base 复核 IN CHAIN ✓) | 非本轮新增,复核确认 |
+
+### 1.5 状态机阶段分布与部署状态
+
+| 阶段 | 键数 | 备注 |
+|------|------|------|
+| UNTRACKED | 0 | 已发现未入池 |
+| RED | 0 | 无待开发实现 |
+| YELLOW | 8 | admin.auth.login / health.report.upload / health.report.createReport / dan.assessment.getActiveMaterial / sleep.config.tags / task.history.view / growth.history.view / achievement.grid.fiveCol |
+| GREEN | 0 | — |
+| DONE | 12 | family.familyMembers.addMember / listMembers、guide.trainingPlan.getPlanList / getPlanDetail、dimension.registry.getTree / mapLegacyCode、auth.guest.wechatLogin / jwtGuard、family.parent.switchRole、task.parent.createTask / review、reward.cfEstimate.expectedCf |
+
+| 部署项 | 值 | 说明 |
+|--------|-----|------|
+| 本轮部署次数 | 0 次 | 无新部署(黑窗 + 无 YELLOW 收口) |
+| 最新 `last_deployed` | 6481a995e | 38 轮 confirmed 基线 |
+| GREEN 部署链验证 | 不通过(无 GREEN 本轮) | 8 YELLOW 未收口,无部署链闭环 |
+
+**8 个 YELLOW 证据 sha 逐一 git 真理复核(本轮)**:
+
+| 能力键 | yellow_sha | merge-base IN origin/cfclub | 备注 |
+|--------|-----------|------------------------------|------|
+| admin.auth.login | 6c7e09fe8 | ✓ | 15:20 主理人裁决回填 |
+| health.report.upload | 78b72c14f | ✓ | 15:20 主理人裁决回填 |
+| health.report.createReport | 1767d4414 | ✓ | — |
+| dan.assessment.getActiveMaterial | c3e32460a | ✓ | — |
+| sleep.config.tags | 04d87cfd1 | ✓ | ⚠ 登记 sha 误配(系术语重构,非 tags 实现;真实实现已落地,34 轮确证,登记待回填) |
+| task.history.view | ed8f1c347d98 | ✓ | — |
+| growth.history.view | da2727f53b64 | ✓ | — |
+| achievement.grid.fiveCol | e205656ee4b9 | ✓ | — |
+
+### 1.6 数据源健康度
+
+| 数据源 | 读取键数 | 是否正常 | 备注 |
+|--------|----------|----------|------|
+| 需求侧(⏳ wish) | 0 | 正常(空) | 目标池真实为空:无新 ⏳ ∩ 用例引用,非脚本故障 |
+| 契约常量(contract) | 0 | 正常(空) | — |
+| 测试用例引用(test_case_map) | 0 | 正常(空) | — |
+| 执行结果回填(case_results) | 0 | 正常(空) | — |
+
+---
+
+## 二、下一步需要研发处理的事项
+
+| 序号 | 事项描述 | 依赖/前置条件 | 预估完成时间 | 优先级 | 状态 |
+|------|----------|---------------|--------------|--------|------|
+| 1 | 8 个 YELLOW 键待测试 `--mark-green` 收口(TR-6 已发 21:35) | 测试侧复验通过 | 2026-11-07 | P0 | 待启动(测试侧职责) |
+| 2 | dispatch.py `_git_evidence_sha` 证据误配缺陷修复(O-6 已裁决) | 主理人派发脚本修订 | 2026-11-07 | P1 | 待启动(主理人通道) |
+| 3 | sleep.config.tags `yellow_sha` 回填真实实现 sha | 脚本修复或手工回填 | 2026-11-07 | P2 | 待启动 |
+| 4 | 黑窗解除后评估新派发(池空但需按需求/设计/测试进展补充) | opencode 黑窗至 11-07 08:00 解除 | 2026-11-07 08:00 后 | P1 | 待启动 |
+
+---
+
+## 三、阻塞与风险
+
+| 阻塞项 | 影响范围 | 阻塞类型 | 处置进展 | 需要协调 |
+|--------|----------|----------|----------|----------|
+| opencode 429 黑窗(`opencode_blackout_until_ms`=11-07 08:00) | 派发走非 opencode fallback(axonhub/deepseek) | 测试/研发 | 黑窗 ACTIVE(`opencode_last_429_at`=12:05:43,fix_free_limit lan-248) | 无(自动 fallback) |
+| 主工作树 125 处他人 WIP(`--clean-check` 不干净) | 纪律④:不代提交;SC 跑通按 O-3 判据口径不计入 | 研发 | 只读列示,未触碰 | 产生 WIP 的会话自行收口 |
+| O-6 待主理人派发脚本修订 | 未来派发+backfill 仍可能误配证据 | 研发 | 已裁决给出方向,待派发 | 主理人 |
+
+---
+
+## 四、下轮工作规划
+
+| 计划项 | 预计完成时间 | 前置依赖 | 涉及会话标签 | 备注 |
+|--------|--------------|----------|--------------|------|
+| 跟进 8 YELLOW 收口(测试 mark-green) | 2026-11-07 | 测试侧复验 | 测试 | TR-6 已发 |
+| 黑窗解除后评估新派发/新键 | 2026-11-07 08:00 后 | 黑窗解除 + --changes | 研发 | 池空不放松 |
+| dispatch.py 修复回归核验 | 2026-11-07 | O-6 派发 | 主理人 | S-cfc-21~26 证据回正 |
+
+---
+
+## 附录
+
+### 附录 A:收到的测试反馈问题明细
+
+| 问题 ID | 能力键/任务号 | 问题类型 | 来源 | 接收时间 | 处置状态 | 关联 sha |
+|---------|---------------|----------|------|----------|----------|----------|
+| B-26(O-5) | 主工作区 testCompile | 测试环境/WIP | 测试负责人 | 2026-11-06 19:10 | 已裁决推进(研发收口方向) | e4ce9f80a(干净基线) |
+
+### 附录 B:任务分派与会话恢复明细
+
+| 任务号 | 目标会话标签 | 任务类型 | 分派时间 | 当前状态 | 恢复会话标签 | 恢复原因 | 恢复时间 |
+|--------|--------------|----------|----------|----------|--------------|----------|----------|
+| —(本轮零派发) | — | — | — | — | — | — | — |
+
+### 附录 C:新增入池任务明细
+
+| 任务号 | 能力键 | 需求溯源 | 设计溯源 | 创建时间 | 状态 |
+|--------|--------|----------|----------|----------|------|
+| —(本轮零新增) | — | — | — | — | — |
+
+### 附录 D:变更感知明细(来自 `--changes`)
+
+| 变更文档 | 文档类型 | 变更日期 | 新增能力键 | 是否已入池 |
+|----------|----------|----------|------------|------------|
+| 3223 文件(设计 93/用例 68/其他 3062) | 设计/用例/其他 | 2026-11-05~11-06 | 0(无新增) | 不适用 |
+
+---
+
+## 本轮要点总结
+
+1. **稳态核查轮**:任务池空(`--changes` 0 新键)、无中断会话、零派发;状态机 20 键 = DONE 12 / YELLOW 8 / RED 0。
+2. **主理人裁决落地(本轮新增 2 项)**:O-5(B-26 主工作区 WIP 阻断 testCompile)已裁决——非主线回归(干净 worktree 旁路 231 类/93.50% 已证),按 O-3 判据口径不计入 SC 跑通,11 文件收口归产生 WIP 会话;O-6(dispatch.py 证据误配缺陷)已裁决——`_git_evidence_sha` 须校验触及文件类型、docs/ 跳过,待主理人派发脚本修订。
+3. **8 个 YELLOW 证据 sha 全部 IN CHAIN ✓**(含 admin.auth.login `6c7e09fe8` / health.report.upload `78b72c14f` 已回正);待测试 `--mark-green` 收口(TR-6 21:35 已发)。
+4. **遗留**:sleep.config.tags `yellow_sha` 登记误配(实现已落地,登记待回填);opencode 黑窗至 11-07 08:00;主工作树 125 处他人 WIP(纪律④不代提交)。

+ 175 - 0
docs/tdd/orchestration/report-dev-2026-11-06-2205.md

@@ -0,0 +1,175 @@
+# 研发负责人工作汇报(第 40 轮 · 闭环巡检)
+
+> **说明**:本轮为定时闭环巡检(错峰03 · 第 40 轮),按研发负责人铁律①用标准模板如实填写,数据来源依次为 `--status` / `--inspect` / `--clean-check` / `git log` / `--changes`。
+
+---
+
+## 基本信息
+
+| 项目 | 内容 |
+|------|------|
+| 汇报人 | 研发负责人(闭环巡检自动化 · 第 40 轮) |
+| 汇报周期 | 2026-11-06 21:50 ~ 22:05(第 40 轮) |
+| 负责模块/单元范围 | cfc 全量(cfc-backend / cfc-frontend / cfc-web / dan / cfc-langgraph) |
+
+---
+
+## 一、本轮工作数据汇总
+
+### 1.1 问题接收与处置
+
+| 指标 | 数量 | 填写说明 |
+|------|------|----------|
+| **收到的测试反馈问题数*** | 0 个 | 本轮无新增 `--mark-blocked` 登记;`--inspect` 显示「当前无已登记阻塞」;B-18/19/20/22/23/24/25 为既有测试侧/环境类台账(测试侧自处置),B-21 已解除 |
+| **已解决问题数*** | 0 个 | 本轮无 RED→YELLOW→GREEN 新闭环(8 个 YELLOW 键待测试侧 mark-green 收口,见 TR-6) |
+| **待解决研发问题数** | 0 个 | 无 P0/P1 研发侧实现阻塞;8 个 YELLOW 键属「测试校验收口」环节(证据已齐,非研发阻塞) |
+
+### 1.2 任务分发与会话管理
+
+| 指标 | 数量 | 填写说明 |
+|------|------|----------|
+| **分派任务数*** | 0 个 | 任务池 0 pending(32 条 = 31 done + 1 failed),无任务可分派 |
+| **恢复智能体会话数*** | 0 个 | 5 节点全 idle(busy=0 / interrupted=0),无中断会话需恢复 |
+| **当前在用会话数** | 0 个 | 本周期末无活跃会话(5 节点 × 50 会话全部 idle) |
+| **会话平均利用率** | 0% | 无在途任务;空闲位充足但无 pending 可派(池空稳态) |
+
+### 1.2b 各会话当前工作状态列表
+
+| 会话标签 | 会话 ID | 当前状态 | 当前任务 | 静默/空闲时长 | 工作目录 | 备注 |
+|----------|---------|----------|----------|---------------|----------|------|
+| lan-189 | — | idle | — | — | — | 会话=50,busy=0,配额占用=0,剩余=3 |
+| lan-204 | — | idle | — | — | — | 会话=50,busy=0,配额占用=0,剩余=3 |
+| local-lan-4090 | — | idle | — | — | — | 会话=50,busy=0,配额占用=0,剩余=3 |
+| mes-local-45278 | — | idle | — | — | — | 会话=50,busy=0,配额占用=0,剩余=3 |
+| pub-iwintrue | — | idle | — | — | — | 会话=50,busy=0,配额占用=0,剩余=3 |
+
+> 所有会话当前均无在途任务(idle),符合主理人 R2「不留空闲」的前提是任务池有待派任务;当前池空,属稳态。
+
+### 1.3 变更感知与新任务建立
+
+| 指标 | 数量 | 填写说明 |
+|------|------|----------|
+| **感知需求/设计变更数*** | 0 次 | `--changes --days 7` 检出 200 个提交 / 3223 文件,但**无新增能力键**(0 → 0),变化集中在既有键 |
+| **新增入池任务数*** | 0 个 | 无新增能力键 → 无新任务可建(`--add-task` 溯源铁律:须带 `--requirement`+`--design`,无真契约缺口) |
+| **既有键状态流转数** | 0 次 | 本轮无阶段流转(8 YELLOW 待测试侧 mark-green) |
+
+### 1.4 本轮 git 提交与推送证据(真理证据)
+
+| 提交 sha | 关联任务/能力键 | 阶段 | 触及文件类型 | 目标分支 | 已推送远端 | 备注 |
+|----------|-----------------|------|--------------|----------|------------|------|
+| 1767d4414 | health.report.createReport | YELLOW | 实现(后端 main) | cfclub | 是 | IN-CHAIN ✓ |
+| c3e32460a | dan.assessment.getActiveMaterial | YELLOW | 实现(后端 main) | cfclub | 是 | IN-CHAIN ✓ |
+| 6c7e09fe8 | admin.auth.login | YELLOW | 实现(后端 main) | cfclub | 是 | IN-CHAIN ✓ |
+| 78b72c14f | health.report.upload | YELLOW | 实现(后端 main) | cfclub | 是 | IN-CHAIN ✓ |
+| ed8f1c347 | task.history.view | YELLOW | 实现(前端 main) | cfclub | 是 | IN-CHAIN ✓ |
+| da2727f53 | growth.history.view | YELLOW | 实现(前端 main) | cfclub | 是 | IN-CHAIN ✓ |
+| 04d87cfd1 | sleep.config.tags | YELLOW | 实现(后端 main) | cfclub | 是 | IN-CHAIN ✓ |
+| e205656ee | achievement.grid.fiveCol | YELLOW | 实现(前端 main) | cfclub | 是 | IN-CHAIN ✓ |
+
+> 本轮研发侧核心复核结论:**8 个 YELLOW 键实现 sha 全部 `git merge-base --is-ancestor origin/cfclub` ✓(非浅克隆,无假阴性),且全部触及 main 实现文件(6 后端 `cfc-backend/src/main` + 2 前端 `cfc-frontend/src`)**。研发侧实现已全部落地,待测试侧按 TR-6 mark-green 收口。
+
+### 1.5 状态机阶段分布与部署状态
+
+| 阶段 | 键数 | 备注 |
+|------|------|------|
+| UNTRACKED | 0 | 已发现未入池 |
+| RED | 0 | 待开发实现 |
+| YELLOW | 8 | 待测试校验(实现证据已齐,见 1.4) |
+| GREEN | 0 | 待部署验证 |
+| DONE | 12 | 闭环归档 |
+
+| 部署项 | 值 | 说明 |
+|--------|-----|------|
+| 本轮部署次数 | 0 次 | 无新部署(pending 1 条已 done=true,confirmed 20 条) |
+| 最新 `last_deployed` | 292087771 | 已部署到的 commit sha(testing,done_at 2026-11-06 19:22) |
+| GREEN 部署链验证 | 不通过(无 GREEN 闭环) | 本轮无键到达 GREEN |
+
+### 1.6 数据源健康度
+
+| 数据源 | 读取键数 | 是否正常 | 备注 |
+|--------|----------|----------|------|
+| 需求侧(⏳ wish) | 0 | 正常 | CFC 非 Ops 风格;无「未实现且被用例引用」的需求键 |
+| 契约常量(contract) | 0 | 正常 | `**/*Ops.java` 无匹配(CFC 为 Controller 风格,非 mes Ops 能力键模式) |
+| 测试用例引用(test_case_map) | 0 | 正常 | 用例引用 ∩ ⏳ = 0 |
+| 执行结果回填(case_results) | 0 | 正常 | 无新执行结果回填 |
+
+> 数据源口径说明:CFC 当前启用「发现/跟踪」模式 + 状态机驱动,`ops_file` 匹配的 action 常量为 0 属 CFC 架构特征(非 mes 的 `*Ops.java` 能力键模式);⏳=0 表示需求侧无未实现且被测试用例引用的键,与 20 键全部 DONE/YELLOW 一致。
+
+---
+
+## 二、下一步需要研发处理的事项
+
+| 序号 | 事项描述 | 依赖/前置条件 | 预估完成时间 | 优先级 | 状态 |
+|------|----------|---------------|--------------|--------|------|
+| 1 | 8 个 YELLOW 键待测试侧 mark-green 收口(TR-6 已发,研发证据已齐:sha 全 IN CHAIN + 触及 main) | 测试侧复验 → `--mark-green` | 待测试侧反馈 | P1 | 待测试处理 |
+| 2 | O-5:主工作区 11 个 integration 测试文件收口(含 ArticleControllerTest:201/215/226 Mockito 误用,按正确写法 `when(x.method()).thenReturn()`) | 归研发负责人1,按纪律④不代提交他人 WIP | 待主理人确认后 | P1 | 待主理人确认 |
+| 3 | O-6:dispatch.py `_git_evidence_sha()` 证据误配修复(grep 命中后须校验触及文件类型,docs/ 跳过) | 属工具脚本层,待主理人派发 | 待主理人派发 | P1 | 待主理人派发 |
+
+---
+
+## 三、阻塞与风险
+
+| 阻塞项 | 影响范围 | 阻塞类型 | 处置进展 | 需要协调 |
+|--------|----------|----------|----------|----------|
+| 主工作区 WIP 不干净(大量 AD/MM 未提交) | cfc-backend / cfc-frontend / cfc-web 多文件 | 测试(O-5 已裁决归研发负责人1) | 已裁决推进(O-5,21:50);本自动化轮按纪律④不代提交他人 WIP | 主理人确认 + 研发负责人1 收口 |
+| B-18/19/20/22/23/24/25 测试侧/环境类台账 | 全量测试度量 | 测试(测试侧自处置) | 待处理(测试侧) | 无(测试侧职责) |
+| 8 YELLOW 键 GREEN 收口缺口 | 状态机 YELLOW 8 键 | 测试(校验环节) | 待测试侧 mark-green(TR-6) | 测试侧 |
+
+> 本轮无 P0 研发侧实现阻塞;主工作区 WIP 为 O-5 已裁决事项(归研发负责人1),研发负责人闭环巡检轮不代提交。
+
+---
+
+## 四、下轮工作规划
+
+| 计划项 | 预计完成时间 | 前置依赖 | 涉及会话标签 | 备注 |
+|--------|--------------|----------|--------------|------|
+| 复核 8 YELLOW 键 mark-green 收口进展 | 下轮巡检 | 测试侧复验 | — | 若测试侧已收口则状态机转 GREEN/DONE |
+| 复核 O-5/O-6 主理人裁决落地 | 下轮巡检 | 主理人确认 + 派发 | — | 检查 11 文件收口与脚本修订 |
+| 继续 SC 覆盖矩阵推进 | 持续 | 测试侧三类流执行证据 | — | 目标 236,已跑通 5,未跑通 231 |
+
+---
+
+## 附录 A:收到的测试反馈问题明细
+
+| 问题 ID | 能力键/任务号 | 问题类型 | 来源 | 接收时间 | 处置状态 | 关联 sha |
+|---------|---------------|----------|------|----------|----------|----------|
+| (无) | — | — | — | — | — | — |
+
+> 本轮无新增测试反馈问题。
+
+## 附录 B:任务分派与会话恢复明细
+
+| 任务号 | 目标会话标签 | 任务类型 | 分派时间 | 当前状态 | 恢复会话标签 | 恢复原因 | 恢复时间 |
+|--------|--------------|----------|----------|----------|--------------|----------|----------|
+| (无) | — | — | — | idle | — | — | — |
+
+## 附录 C:新增入池任务明细
+
+| 任务号 | 能力键 | 需求溯源 | 设计溯源 | 创建时间 | 状态 |
+|--------|--------|----------|----------|----------|------|
+| (无) | — | — | — | — | — |
+
+## 附录 D:变更感知明细(来自 `--changes`)
+
+| 变更文档 | 文档类型 | 变更日期 | 新增能力键 | 是否已入池 |
+|----------|----------|----------|------------|------------|
+| (无新增能力键) | — | — | 0 | — |
+
+---
+
+## 场景覆盖矩阵(必填)
+
+| 指标 | 值 |
+|------|-----|
+| 场景总数 | 236 |
+| 累计已跑通 | 5(SC-G-02 / SC-G-06 / SC-P-03 / SC-P-10 / SC-P-11) |
+| 本轮新增跑通 | 0 |
+| 失败 | 0 |
+| 阻塞 | 0 |
+| 未跟踪 | 231(236 − 5) |
+
+> 计数来源:`docs/tdd/orchestration/sc-key-map.md`(唯一「SC 跑通」计数来源);判据:三类流实际执行证据 + 实现/用例已推 origin/cfclub + SC 关联提交级干净(O-3 收口 ffafdb214 裁决)。本轮未新增跑通——8 个 YELLOW 键对应 SC 的三类流证据与 mark-green 收口在测试侧(TR-6),待其完成后转正。
+
+---
+
+**模板版本**:v1.1 | **适用对象**:研发负责人 | 汇报轮次:第 40 轮(2026-11-06 22:05)

+ 175 - 0
docs/tdd/orchestration/report-dev-2026-11-06-2231.md

@@ -0,0 +1,175 @@
+# 研发负责人工作汇报(第 41 轮 · 闭环巡检)
+
+> **说明**:本轮为定时闭环巡检(错峰03 · 第 41 轮),按研发负责人铁律①用标准模板如实填写,数据来源依次为 `--status` / `--inspect` / `--clean-check` / `git log` / `--changes`。
+
+---
+
+## 基本信息
+
+| 项目 | 内容 |
+|------|------|
+| 汇报人 | 研发负责人(闭环巡检自动化 · 第 41 轮) |
+| 汇报周期 | 2026-11-06 22:05 ~ 22:31(第 41 轮) |
+| 负责模块/单元范围 | cfc 全量(cfc-backend / cfc-frontend / cfc-web / dan / cfc-langgraph) |
+
+---
+
+## 一、本轮工作数据汇总
+
+### 1.1 问题接收与处置
+
+| 指标 | 数量 | 填写说明 |
+|------|------|----------|
+| **收到的测试反馈问题数*** | 0 个 | 本轮无新增 `--mark-blocked` 登记;`--inspect` 显示「当前无已登记阻塞」;B-18/19/20/22/23/24/25 为既有测试侧/环境类台账(测试侧自处置),B-21 已解除 |
+| **已解决问题数*** | 0 个 | 本轮无 RED→YELLOW→GREEN 新闭环(8 个 YELLOW 键待测试侧 mark-green 收口,见 TR-6) |
+| **待解决研发问题数** | 0 个 | 无 P0/P1 研发侧实现阻塞;8 个 YELLOW 键属「测试校验收口」环节(证据已齐,非研发阻塞) |
+
+### 1.2 任务分发与会话管理
+
+| 指标 | 数量 | 填写说明 |
+|------|------|----------|
+| **分派任务数*** | 0 个 | 任务池 0 pending(32 条 = 31 done + 1 failed),无任务可分派 |
+| **恢复智能体会话数*** | 0 个 | 5 节点全 idle(busy=0 / interrupted=0),无中断会话需恢复 |
+| **当前在用会话数** | 0 个 | 本周期末无活跃会话(5 节点 × 50 会话全部 idle) |
+| **会话平均利用率** | 0% | 无在途任务;空闲位充足但无 pending 可派(池空稳态) |
+
+### 1.2b 各会话当前工作状态列表
+
+| 会话标签 | 会话 ID | 当前状态 | 当前任务 | 静默/空闲时长 | 工作目录 | 备注 |
+|----------|---------|----------|----------|---------------|----------|------|
+| lan-189 | — | idle | — | — | — | 会话=50,busy=0,配额占用=0,剩余=3 |
+| lan-204 | — | idle | — | — | — | 会话=50,busy=0,配额占用=0,剩余=3 |
+| local-lan-4090 | — | idle | — | — | — | 会话=50,busy=0,配额占用=0,剩余=3 |
+| mes-local-45278 | — | idle | — | — | — | 会话=50,busy=0,配额占用=0,剩余=3 |
+| pub-iwintrue | — | idle | — | — | — | 会话=50,busy=0,配额占用=0,剩余=3 |
+
+> 所有会话当前均无在途任务(idle),符合主理人 R2「不留空闲」的前提是任务池有待派任务;当前池空,属稳态。
+
+### 1.3 变更感知与新任务建立
+
+| 指标 | 数量 | 填写说明 |
+|------|------|----------|
+| **感知需求/设计变更数*** | 0 次 | `--changes --days 7` 检出 200 个提交 / 3223 文件,但**无新增能力键**(0 → 0),变化集中在既有键 |
+| **新增入池任务数*** | 0 个 | 无新增能力键 → 无新任务可建(`--add-task` 溯源铁律:须带 `--requirement`+`--design`,无真契约缺口) |
+| **既有键状态流转数** | 0 次 | 本轮无阶段流转(8 YELLOW 待测试侧 mark-green) |
+
+### 1.4 本轮 git 提交与推送证据(真理证据)
+
+| 提交 sha | 关联任务/能力键 | 阶段 | 触及文件类型 | 目标分支 | 已推送远端 | 备注 |
+|----------|-----------------|------|--------------|----------|------------|------|
+| 6c7e09fe8 | admin.auth.login | YELLOW | 实现(后端 main) | cfclub | 是 | IN-CHAIN ✓ |
+| 78b72c14f | health.report.upload | YELLOW | 实现(后端 main) | cfclub | 是 | IN-CHAIN ✓ |
+| 1767d4414 | health.report.createReport | YELLOW | 实现(后端 main) | cfclub | 是 | IN-CHAIN ✓ |
+| c3e32460a | dan.assessment.getActiveMaterial | YELLOW | 实现(后端 main) | cfclub | 是 | IN-CHAIN ✓ |
+| 04d87cfd1 | sleep.config.tags | YELLOW | 实现(后端 main) | cfclub | 是 | IN-CHAIN ✓ |
+| ed8f1c347 | task.history.view | YELLOW | 实现(前端 main) | cfclub | 是 | IN-CHAIN ✓ |
+| da2727f53 | growth.history.view | YELLOW | 实现(前端 main) | cfclub | 是 | IN-CHAIN ✓ |
+| e205656ee | achievement.grid.fiveCol | YELLOW | 实现(前端 main) | cfclub | 是 | IN-CHAIN ✓ |
+
+> 本轮研发侧核心复核结论(逐条 `git merge-base --is-ancestor` + `git show --name-only`):**8 个 YELLOW 键实现 sha 全部在 origin/cfclub 祖先链上 ✓(IN CHAIN,非浅克隆假阴性),且全部触及 main 实现文件——5 个后端(`cfc-backend/src/main`:6c7e09fe8/78b72c14f/1767d4414/c3e32460a/04d87cfd1)+ 3 个前端(`cfc-frontend`:ed8f1c347/da2727f53/e205656ee)**。研发侧实现已全部落地,待测试侧按 TR-6 mark-green 收口。
+
+### 1.5 状态机阶段分布与部署状态
+
+| 阶段 | 键数 | 备注 |
+|------|------|------|
+| UNTRACKED | 0 | 已发现未入池 |
+| RED | 0 | 待开发实现 |
+| YELLOW | 8 | 待测试校验(实现证据已齐,见 1.4) |
+| GREEN | 0 | 待部署验证 |
+| DONE | 12 | 闭环归档 |
+
+| 部署项 | 值 | 说明 |
+|--------|-----|------|
+| 本轮部署次数 | 0 次 | 无新部署(pending 0 条,confirmed 20 条) |
+| 最新 `last_deployed` | 292087771 | 已部署到的 commit sha(testing,done_at 2026-11-06 19:22) |
+| GREEN 部署链验证 | 不通过(无 GREEN 闭环) | 本轮无键到达 GREEN |
+
+### 1.6 数据源健康度
+
+| 数据源 | 读取键数 | 是否正常 | 备注 |
+|--------|----------|----------|------|
+| 需求侧(⏳ wish) | 0 | 正常 | CFC 非 Ops 风格;无「未实现且被用例引用」的需求键 |
+| 契约常量(contract) | 0 | 正常 | `**/*Ops.java` 无匹配(CFC 为 Controller 风格,非 mes Ops 能力键模式) |
+| 测试用例引用(test_case_map) | 0 | 正常 | 用例引用 ∩ ⏳ = 0 |
+| 执行结果回填(case_results) | 0 | 正常 | 无新执行结果回填 |
+
+> 数据源口径说明:CFC 当前启用「发现/跟踪」模式 + 状态机驱动,`ops_file` 匹配的 action 常量为 0 属 CFC 架构特征(非 mes 的 `*Ops.java` 能力键模式);⏳=0 表示需求侧无未实现且被测试用例引用的键,与 20 键全部 DONE/YELLOW 一致。
+
+---
+
+## 二、下一步需要研发处理的事项
+
+| 序号 | 事项描述 | 依赖/前置条件 | 预估完成时间 | 优先级 | 状态 |
+|------|----------|---------------|--------------|--------|------|
+| 1 | 8 个 YELLOW 键待测试侧 mark-green 收口(TR-6 已发,研发证据已齐:sha 全 IN CHAIN + 触及 main) | 测试侧复验 → `--mark-green` | 待测试侧反馈 | P1 | 待测试处理 |
+| 2 | O-5:主工作区 11 个 integration 测试文件收口(含 ArticleControllerTest:201/215/226 Mockito 误用,按正确写法 `when(x.method()).thenReturn()`) | 归研发负责人1,按纪律④不代提交他人 WIP | 待主理人确认后 | P1 | 待主理人确认 |
+| 3 | O-6:dispatch.py `_git_evidence_sha()` 证据误配修复(grep 命中后须校验触及文件类型,docs/ 跳过) | 属工具脚本层,待主理人派发 | 待主理人派发 | P1 | 待主理人派发 |
+
+---
+
+## 三、阻塞与风险
+
+| 阻塞项 | 影响范围 | 阻塞类型 | 处置进展 | 需要协调 |
+|--------|----------|----------|----------|----------|
+| 主工作区 WIP 不干净(大量 AD/MM 未提交) | cfc-backend / cfc-frontend / cfc-web 多文件 | 测试(O-5 已裁决归研发负责人1) | 已裁决推进(O-5,21:50);本自动化轮按纪律④不代提交他人 WIP | 主理人确认 + 研发负责人1 收口 |
+| B-18/19/20/22/23/24/25 测试侧/环境类台账 | 全量测试度量 | 测试(测试侧自处置) | 待处理(测试侧) | 无(测试侧职责) |
+| 8 YELLOW 键 GREEN 收口缺口 | 状态机 YELLOW 8 键 | 测试(校验环节) | 待测试侧 mark-green(TR-6) | 测试侧 |
+
+> 本轮无 P0 研发侧实现阻塞;主工作区 WIP 为 O-5 已裁决事项(归研发负责人1),研发负责人闭环巡检轮不代提交。
+
+---
+
+## 四、下轮工作规划
+
+| 计划项 | 预计完成时间 | 前置依赖 | 涉及会话标签 | 备注 |
+|--------|--------------|----------|--------------|------|
+| 复核 8 YELLOW 键 mark-green 收口进展 | 下轮巡检 | 测试侧复验 | — | 若测试侧已收口则状态机转 GREEN/DONE |
+| 复核 O-5/O-6 主理人裁决落地 | 下轮巡检 | 主理人确认 + 派发 | — | 检查 11 文件收口与脚本修订 |
+| 继续 SC 覆盖矩阵推进 | 持续 | 测试侧三类流执行证据 | — | 目标 236,已跑通 5,未跑通 231 |
+
+---
+
+## 附录 A:收到的测试反馈问题明细
+
+| 问题 ID | 能力键/任务号 | 问题类型 | 来源 | 接收时间 | 处置状态 | 关联 sha |
+|---------|---------------|----------|------|----------|----------|----------|
+| (无) | — | — | — | — | — | — |
+
+> 本轮无新增测试反馈问题。
+
+## 附录 B:任务分派与会话恢复明细
+
+| 任务号 | 目标会话标签 | 任务类型 | 分派时间 | 当前状态 | 恢复会话标签 | 恢复原因 | 恢复时间 |
+|--------|--------------|----------|----------|----------|--------------|----------|----------|
+| (无) | — | — | — | idle | — | — | — |
+
+## 附录 C:新增入池任务明细
+
+| 任务号 | 能力键 | 需求溯源 | 设计溯源 | 创建时间 | 状态 |
+|--------|--------|----------|----------|----------|------|
+| (无) | — | — | — | — | — |
+
+## 附录 D:变更感知明细(来自 `--changes`)
+
+| 变更文档 | 文档类型 | 变更日期 | 新增能力键 | 是否已入池 |
+|----------|----------|----------|------------|------------|
+| (无新增能力键) | — | — | 0 | — |
+
+---
+
+## 场景覆盖矩阵(必填)
+
+| 指标 | 值 |
+|------|-----|
+| 场景总数 | 236 |
+| 累计已跑通 | 5(SC-G-02 / SC-G-06 / SC-P-03 / SC-P-10 / SC-P-11) |
+| 本轮新增跑通 | 0 |
+| 失败 | 0 |
+| 阻塞 | 0 |
+| 未跟踪 | 231(236 − 5) |
+
+> 计数来源:`docs/tdd/orchestration/sc-key-map.md`(唯一「SC 跑通」计数来源);判据:三类流实际执行证据 + 实现/用例已推 origin/cfclub + SC 关联提交级干净(O-3 收口 ffafdb214 裁决)。本轮未新增跑通——8 个 YELLOW 键对应 SC 的三类流证据与 mark-green 收口在测试侧(TR-6),待其完成后转正。
+
+---
+
+**模板版本**:v1.1 | **适用对象**:研发负责人 | 汇报轮次:第 41 轮(2026-11-06 22:31)

+ 183 - 0
docs/tdd/orchestration/report-dev-2026-11-06-2234.md

@@ -0,0 +1,183 @@
+# 研发负责人工作汇报(第 42 轮 · 闭环巡检)
+
+> **说明**:本轮为定时闭环巡检(错峰03 · 第 42 轮,续 研发负责人1 第 41 轮 · 22:31),按研发负责人铁律①用标准模板如实填写,数据来源依次为 `--status` / `--inspect` / `--clean-check` / `git log` / `--changes`;git 真理逐条 `merge-base --is-ancestor` + `git show --name-only` 核验。巡检数据截至 2026-11-06 22:41。
+
+---
+
+## 基本信息
+
+| 项目 | 内容 |
+|------|------|
+| 汇报人 | 研发负责人(闭环巡检自动化 · 第 42 轮) |
+| 汇报周期 | 2026-11-06 22:34 触发 ~ 22:41(第 42 轮) |
+| 负责模块/单元范围 | cfc 全量(cfc-backend / cfc-frontend / cfc-web / dan / cfc-langgraph) |
+
+---
+
+## 一、本轮工作数据汇总
+
+### 1.1 问题接收与处置
+
+| 指标 | 数量 | 填写说明 |
+|------|------|----------|
+| **收到的测试反馈问题数*** | 0 个 | 本轮无新增 `--mark-blocked` 登记;`--inspect` 显示「当前无已登记阻塞」;B-18/19/20/22/23/24/25 为既有测试侧/环境类台账(测试侧自处置),B-21 已解除 |
+| **已解决问题数*** | 0 个 | 本轮无 RED→YELLOW→GREEN 新闭环(8 个 YELLOW 键待测试侧 mark-green 收口,见 TR-6) |
+| **待解决研发问题数** | 0 个 | 无 P0/P1 研发侧实现阻塞;8 个 YELLOW 键属「测试校验收口」环节(证据已齐,非研发阻塞) |
+
+### 1.2 任务分发与会话管理
+
+| 指标 | 数量 | 填写说明 |
+|------|------|----------|
+| **分派任务数*** | 0 个 | 任务池 0 pending(32 条 = 31 done + 1 failed),无任务可分派;**216 SC 派发前置阻塞见 1.3/二.2** |
+| **恢复智能体会话数*** | 0 个 | 5 节点全 idle(busy=0 / interrupted=0),无中断会话需恢复 |
+| **当前在用会话数** | 0 个 | 本周期末无活跃会话(5 节点 × 50 会话全部 idle) |
+| **会话平均利用率** | 0% | 无在途任务;空闲位充足但无 pending 可派(池空稳态 + 契约前置阻塞) |
+
+### 1.2b 各会话当前工作状态列表
+
+| 会话标签 | 会话 ID | 当前状态 | 当前任务 | 静默/空闲时长 | 工作目录 | 备注 |
+|----------|---------|----------|----------|---------------|----------|------|
+| lan-189 | — | idle | — | — | — | 会话=50,busy=0,配额占用=0,剩余=3 |
+| lan-204 | — | idle | — | — | — | 会话=50,busy=0,配额占用=0,剩余=3 |
+| local-lan-4090 | — | idle | — | — | — | 会话=50,busy=0,配额占用=0,剩余=3 |
+| mes-local-45278 | — | idle | — | — | — | 会话=50,busy=0,配额占用=0,剩余=3 |
+| pub-iwintrue | — | idle | — | — | — | 会话=50,busy=0,配额占用=0,剩余=3 |
+
+> 所有会话当前均无在途任务(idle)。**关于「确保会话都分派开发任务」**:池空 + 216 SC 契约前置阻塞(见二.2)是会话空闲的根因,非 R2「不留空闲」可解——无契约则 `--add-task` 溯源铁律不满足,强行派发会触发 GREEN 阶段指令错配(冗余/有害)。
+
+### 1.3 变更感知与新任务建立
+
+| 指标 | 数量 | 填写说明 |
+|------|------|----------|
+| **感知需求/设计变更数*** | 0 次 | `--changes --days 7` 检出大量提交(设计/用例/其他),但**无新增能力键**(0 → 0),变化集中在既有键 |
+| **新增入池任务数*** | 0 个 | 无新增能力键 → 无新任务可建;**216 SC 开工包已落 origin/cfclub 但 0 契约已合入**,`--design` 锚点缺失 → 仍无法 `--add-task` |
+| **既有键状态流转数** | 0 次 | 本轮无阶段流转(8 YELLOW 待测试侧 mark-green) |
+
+> **新 initiative(本轮重点,回答「研发目标=实现全部 SRS/设计/用户场景」)**:`origin/cfclub` 已合入三份规划文档——`contract-plan-20261106.md`(**216 个待契约 SC 契约补建计划,15 业务线/P0-P2 分批**)、`dan-plan-kickoff-20261106.md`(**43 SC 测评-方案开工包,含 44 个建议能力键 + 精确端点/Controller 映射**)、`report-closedloop-kickoff-20261106.md`(**23 SC 报告闭环开工包,含 20 个建议能力键**)。**这把「236 场景全部跑通」的目标拆成了可派发的批**——但**落地路径第 1 步「定契约并合入 origin/cfclub」尚未执行(0 契约 sha 已落地),故 0 键可入池**。这是「会话空闲 / 池空」的真正前置阻塞,非研发侧无活干。
+
+### 1.4 本轮 git 提交与推送证据(真理证据)
+
+| 提交 sha | 关联任务/能力键 | 阶段 | 触及文件类型 | 目标分支 | 已推送远端 | 备注 |
+|----------|-----------------|------|--------------|----------|------------|------|
+| 6c7e09fe8 | admin.auth.login | YELLOW | 实现(后端 main) | cfclub | 是 | IN-CHAIN ✓(触及 cfc-backend/src/main) |
+| 78b72c14f | health.report.upload | YELLOW | 实现(后端 main) | cfclub | 是 | IN-CHAIN ✓ |
+| 1767d4414 | health.report.createReport | YELLOW | 实现(后端 main) | cfclub | 是 | IN-CHAIN ✓ |
+| c3e32460a | dan.assessment.getActiveMaterial | YELLOW | 实现(后端 main) | cfclub | 是 | IN-CHAIN ✓ |
+| ed8f1c347 | task.history.view | YELLOW | 实现(前端 main) | cfclub | 是 | IN-CHAIN ✓(cfc-frontend/src) |
+| da2727f53 | growth.history.view | YELLOW | 实现(前端 main) | cfclub | 是 | IN-CHAIN ✓ |
+| e205656ee | achievement.grid.fiveCol | YELLOW | 实现(前端 main) | cfclub | 是 | IN-CHAIN ✓ |
+| 04d87cfd1 | sleep.config.tags | YELLOW | ⚠ 证据误配 | cfclub | 是 | IN-CHAIN 但**非 tags 实现**:系 10-26 术语重构提交,`git show origin/cfclub:HealthSleepController.java \| grep tags` 无 tags 方法 → 状态机可信度存疑,待交真实实现 sha 或回退 RED |
+
+> 本轮 git 真理核验(逐条 `merge-base --is-ancestor` + `git show --name-only`):**7 个 YELLOW 键实现 sha 全部在 origin/cfclub 祖先链上 ✓ 且触及 main 实现文件**(4 后端 `cfc-backend/src/main`:6c7e09fe8/78b72c14f/1767d4414/c3e32460a + 3 前端 `cfc-frontend/src`:ed8f1c347/da2727f53/e205656ee);`sleep.config.tags` 的 yellow_sha=04d87cfd1 为**术语重构误配**(承袭自 11-05 实证,O-6 类证据缺陷),研发实现真相缺 1 步。
+
+### 1.5 状态机阶段分布与部署状态
+
+| 阶段 | 键数 | 备注 |
+|------|------|------|
+| UNTRACKED | 0 | 已发现未入池 |
+| RED | 0 | 待开发实现 |
+| YELLOW | 8 | 待测试校验(7 键实现证据已齐 + 1 键证据误配,见 1.4) |
+| GREEN | 0 | 待部署验证 |
+| DONE | 12 | 闭环归档 |
+
+| 部署项 | 值 | 说明 |
+|--------|-----|------|
+| 本轮部署次数 | 0 次 | 无新部署(pending 0 条,confirmed 20 条) |
+| 最新 `last_deployed` | 292087771 | 已部署到的 commit sha(testing,done_at 2026-11-06 19:22) |
+| GREEN 部署链验证 | 不通过(无 GREEN 闭环) | 本轮无键到达 GREEN |
+
+### 1.6 数据源健康度
+
+| 数据源 | 读取键数 | 是否正常 | 备注 |
+|--------|----------|----------|------|
+| 需求侧(⏳ wish) | 0 | 正常 | CFC 非 Ops 风格;无「未实现且被用例引用」的需求键 |
+| 契约常量(contract) | 0 | 正常 | `**/*Ops.java` 无匹配(CFC 为 Controller 风格) |
+| 测试用例引用(test_case_map) | 0 | 正常 | 用例引用 ∩ ⏳ = 0 |
+| 执行结果回填(case_results) | 0 | 正常 | 无新执行结果回填 |
+
+---
+
+## 二、下一步需要研发处理的事项
+
+| 序号 | 事项描述 | 依赖/前置条件 | 预估完成时间 | 优先级 | 状态 |
+|------|----------|---------------|--------------|--------|------|
+| 1 | 8 个 YELLOW 键待测试侧 mark-green 收口(TR-6 已发,研发证据已齐:7 键 sha 全 IN CHAIN + 触及 main;sleep.config.tags 待交真实实现 sha) | 测试侧复验 → `--mark-green` | 待测试侧反馈 | P1 | 待测试处理 |
+| 2 | **【核心阻塞】216 SC 契约补建工作流启动**:`contract-plan-20261106.md` + 两个开工包已落 origin/cfclub,但 **0 契约已合入** → 0 键可 `--add-task` 入池派发。须先按 dan-plan-kickoff 四组(A 测评 / B 方案 / C 规划师侧 / D 孩子·AI)与 report-closedloop 批次**定契约(接口路径/请求响应)并合入 origin/cfclub**,再逐组 `--add-task <合法键> --requirement <SC编号> --design <契约sha>`。**建议主理人授权启动「契约补建 · 派发」工作流**(建议 O-7 协调项) | 主理人授权 + 契约作者(架构师/研发)定契约 | 契约合入后即可分批派发 | P0 | 待主理人授权 |
+| 3 | O-5:主工作区 11 个 integration 测试文件收口(含 ArticleControllerTest:201/215/226 Mockito 误用,按正确写法 `when(x.method()).thenReturn()`) | 归研发负责人1,按纪律④不代提交他人 WIP | 待主理人确认后 | P1 | 待主理人确认 |
+| 4 | O-6:dispatch.py `_git_evidence_sha()` 证据误配修复(grep 命中后须校验触及文件类型,docs/ 跳过;修复 sleep.config.tags 等误配根因) | 属工具脚本层,待主理人派发 | 待主理人派发 | P1 | 待主理人派发 |
+| 5 | sleep.config.tags 证据误配处置:交真实实现 sha 回填 yellow_sha,或回退 RED(避免状态机账本领先实现真相) | 研发负责人5 交真实 sha / 或研发负责人回退 | 下轮巡检前 | P1 | 待研发处理 |
+
+---
+
+## 三、阻塞与风险
+
+| 阻塞项 | 影响范围 | 阻塞类型 | 处置进展 | 需要协调 |
+|--------|----------|----------|----------|----------|
+| **216 SC 派发前置阻塞:契约未定/未合入** | 全部 216 待契约 SC(占 236 总量的 91%) | 研发/设计(契约=设计交付物) | 规划已落地 origin/cfclub(contract-plan + 2 开工包),**定契约步骤 0 启动** | **主理人授权启动契约补建工作流(建议 O-7)** |
+| 主工作区 WIP 不干净(129 处未提交) | cfc-backend / cfc-frontend / cfc-web 多文件 | 测试(O-5 已裁决归研发负责人1) | 已裁决推进(O-5,21:50);本自动化轮按纪律④不代提交他人 WIP | 主理人确认 + 研发负责人1 收口 |
+| B-18/19/20/22/23/24/25 测试侧/环境类台账 | 全量测试度量 | 测试(测试侧自处置) | 待处理(测试侧) | 无(测试侧职责) |
+| 8 YELLOW 键 GREEN 收口缺口 | 状态机 YELLOW 8 键 | 测试(校验环节) | 待测试侧 mark-green(TR-6) | 测试侧 |
+| sleep.config.tags 证据误配 | 状态机 1 键可信度 | 研发(O-6 类缺陷) | 待交真实 sha / 回退 | 研发负责人5 / 主理人 |
+
+> 本轮无 P0 研发侧实现阻塞;主工作区 WIP 为 O-5 已裁决事项(归研发负责人1),研发负责人闭环巡检轮不代提交。
+
+---
+
+## 四、下轮工作规划
+
+| 计划项 | 预计完成时间 | 前置依赖 | 涉及会话标签 | 备注 |
+|--------|--------------|----------|--------------|------|
+| 复核 8 YELLOW 键 mark-green 收口进展(含 sleep.config.tags 误配处置) | 下轮巡检 | 测试侧复验 + 研发交 sha | — | 若测试侧已收口则状态机转 GREEN/DONE |
+| 复核 O-5/O-6 主理人裁决落地 | 下轮巡检 | 主理人确认 + 派发 | — | 检查 11 文件收口与脚本修订 |
+| **跟踪契约补建工作流授权与首批准入池**(O-7) | 主理人授权后 | 主理人授权 + 契约合入 | — | 解锁 216 SC 派发,是「确保会话都分派任务」的关键 |
+| 继续 SC 覆盖矩阵推进 | 持续 | 测试侧三类流执行证据 + 契约/实现派发 | — | 目标 236,已跑通 5,未跑通 231 |
+
+---
+
+## 附录 A:收到的测试反馈问题明细
+
+| 问题 ID | 能力键/任务号 | 问题类型 | 来源 | 接收时间 | 处置状态 | 关联 sha |
+|---------|---------------|----------|------|----------|----------|----------|
+| (无) | — | — | — | — | — | — |
+
+> 本轮无新增测试反馈问题。
+
+## 附录 B:任务分派与会话恢复明细
+
+| 任务号 | 目标会话标签 | 任务类型 | 分派时间 | 当前状态 | 恢复会话标签 | 恢复原因 | 恢复时间 |
+|--------|--------------|----------|----------|----------|--------------|----------|----------|
+| (无) | — | — | — | idle | — | — | — |
+
+## 附录 C:新增入池任务明细
+
+| 任务号 | 能力键 | 需求溯源 | 设计溯源 | 创建时间 | 状态 |
+|--------|--------|----------|----------|----------|------|
+| (无) | — | — | — | — | — |
+
+## 附录 D:变更感知明细(来自 `--changes`)
+
+| 变更文档 | 文档类型 | 变更日期 | 新增能力键 | 是否已入池 |
+|----------|----------|----------|------------|------------|
+| `contract-plan-20261106.md`(216 SC 契约补建计划) | 设计规划 | 2026-11-06 21:56 | 0(规划,未定契约) | 待定契约后入池 |
+| `dan-plan-kickoff-20261106.md`(43 SC 开工包) | 设计规划 | 2026-11-06 22:30 | 0(44 建议键,契约未合入) | 待定契约后入池 |
+| `report-closedloop-kickoff-20261106.md`(23 SC 开工包) | 设计规划 | 2026-11-06 22:11 | 0(20 建议键,契约未合入) | 待定契约后入池 |
+| (其余:既有键设计/用例演进) | — | — | 0 | — |
+
+---
+
+## 场景覆盖矩阵(必填)
+
+| 指标 | 值 |
+|------|-----|
+| 场景总数 | 236 |
+| 累计已跑通 | 5(SC-G-02 / SC-G-06 / SC-P-03 / SC-P-10 / SC-P-11) |
+| 本轮新增跑通 | 0 |
+| 失败 | 0 |
+| 阻塞 | 0(231 未跑通中:8 键 YELLOW 待测试 mark-green + 216 键待契约补建后派发) |
+| 未跟踪 | 231(236 − 5) |
+
+> 计数来源:`docs/tdd/orchestration/sc-key-map.md`(唯一「SC 跑通」计数来源);判据:三类流实际执行证据 + 实现/用例已推 origin/cfclub + SC 关联提交级干净(O-3 收口 ffafdb214 裁决)。**测试侧协同状态(回答「与远程测试团队一起确保测试用例通过」)**:测试负责人第 61 轮(50a453ba1)干净基线定向契约复验 15类/176例/172绿(97.73%)、4 红承袭、testCompile 232源0错、5 证据 sha 全 IN CHAIN、G7 状态机 5 键 GREEN 维持第 4 轮;第 60 轮全量实跑 231类/1847例/1727绿(93.50%),红类 36/红例 116 承袭(A 类/B 类/C 类/契约类/待核实),场景溯源 149/244=61.1%、可执行仅 5/244。即用例通过率 93.50%、未达 100%,116 红例为承袭待修,SC 端到端可执行 5/236——研发侧已交付 8 YELLOW 待测试 mark-green 收口,契约补建后 216 SC 派发将驱动剩余覆盖率。
+
+---
+
+**模板版本**:v1.1 | **适用对象**:研发负责人 | 汇报轮次:第 42 轮(2026-11-06 22:34 巡检触发 · 续 研发负责人1 第 41 轮 · 错峰03;数据核验截至 22:41)

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio