|
@@ -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**,避免重复建键。
|