Просмотр исходного кода

docs(EVD-11): 平台运营25SC契约核对(端点实测回填+API增补4.60)

- 新增 docs/superpowers/specs/2026-11-07-admin-ops-contract.md:
  25 SC 端点核验表(防假 RED,grep 实测定位不假定包路径)
  重点回填 ⚠ 项:A-05勋章/B-08知识库/A-10迁移/A-15审计/A-22营养=端点存在;
  A-14监控/A-19工单/A-20限流=无端点载体;A-21舌诊=载体部分存在
  缺口5个(A-04/A-14/A-19/A-20/A-21)标注「无端点载体,需产品侧确认验收方式」
  建议能力键映射25条(admin.auth.login/sleep.config.tags已在状态机仅登记映射)
- API_REFERENCE.md 增补 4.60「平台运营能力」段落(管理端登录/统计/解析中台/
  文章审核/勋章/供应商/活动/知识库/维度/迁移/治理/订单/审核/审计/券/能量/睡眠+缺口)
- 本批仅文档,未改业务代码/测试/DB迁移;后端 mvn compile 通过
Sisyphus 5 дней назад
Родитель
Сommit
9abed8e115

+ 183 - 0
docs/superpowers/api/API_REFERENCE.md

@@ -2811,3 +2811,186 @@ W0.2 双配置中心合并:`product_config` 已并入 `service_config`(唯
 | `POST /api/health/report/refresh-dim` | **不存在** | SC-P-91 `health.report.refreshFiveDim` 无显式端点:五维能量重算在 `/report/confirm`、`/proxy-confirm`、`/report/reassign` 链内自动触发(`dimensionScoreService.refreshFromGutReport` + `refreshMemberIndicatorCurrent` + `recalculateForUser`);如需手动重算入口待实现 |
 
 *文档更新:2026-11-06(B-2 报告闭环开工包契约核对补全:4.59.1 报告解析中台 `/api/admin/report-parse/*` + `dan/reparse`;4.59.2 健康报告全链路;4.59.3 代传闭环 `proxy-parse`/`proxy-confirm`;4.59.4 报告权限/分享;4.59.5 DAN 报告模块;4.59.6 趋势与饮食推荐;4.59.7 报告类型链接/检测;4.59.8 报告摘要;4.59.9 LangGraph 依赖登记;4.59.10 契约缺口与等价物映射)*
+
+---
+
+### 4.60 平台运营能力(SC-A-01~22、A-25~27,EVD-11 契约核对增补)
+
+> 平台运营 = Web 管理端(`cfc-web`)与运营治理端点。以下为 2026-11-07 契约核对(EVD-11,开工包 `docs/tdd/orchestration/admin-ops-kickoff-20261107.md`)实测回填的端点存在性。完整核验表与实现缺口见 `docs/superpowers/specs/2026-11-07-admin-ops-contract.md`。
+> 约定:所有端点 `POST`;管理端端点需 `role=admin`(`JwtInterceptor` + 控制器内角色检查)。
+
+#### 4.60.1 管理端登录(`AdminAuthController`,类级前缀 `/api/admin-auth`)
+
+> ⚠ 注意:类级前缀是 `/api/admin-auth`,**不是** `/api/admin/auth`(开工包初核曾写后者,实测为准)。
+
+| 路径 | 说明 |
+|------|------|
+| `POST /api/admin-auth/login` | 账号密码登录(获取 JWT) |
+| `POST /api/admin-auth/login-by-password` | 密码登录(备选) |
+| `POST /api/admin-auth/send-code` | 发送验证码 |
+| `POST /api/admin-auth/info` | 当前管理员信息 |
+| `POST /api/admin-auth/change-password` | 修改密码 |
+| `POST /api/admin-auth/reset-password` | 重置密码 |
+| `POST /api/admin-auth/update-info` | 更新管理员信息 |
+| `POST /api/admin-auth/account-roles` | 账号角色列表 |
+| `POST /api/admin-auth/wechat-scan-qr` | 微信扫码登录二维码 |
+| `POST /api/admin-auth/wechat-scan-poll` | 微信扫码登录轮询 |
+
+#### 4.60.2 全局统计(`StatsController` `/api/stats`)
+
+| 路径 | 说明 |
+|------|------|
+| `POST /api/stats/dashboard`、`/overview`、`/trend`、`/revenue`、`/traffic`、`/membership` | 全局统计大盘(概览/趋势/营收/流量/会员) |
+| `POST /api/stats/family/summary` | 家庭维度汇总 |
+| `POST /api/stats/child/overview`、`/child-completion`、`/family-completion` | 孩子/家庭完成度 |
+| `POST /api/stats/points/ranking`、`/product-view` | 积分排行 / 商品浏览统计 |
+
+#### 4.60.3 报告解析中台(`ReportParseAdminController` `/api/admin/report-parse`,SC-A-02/A-16)
+
+> 类名注意:源码类名为 `ReportParseAdminController`(非 `AdminReportParseController`),前缀 `/api/admin/report-parse`。
+
+| 路径 | 说明 |
+|------|------|
+| `POST /api/admin/report-parse/list` | 解析任务列表 |
+| `POST /api/admin/report-parse/types`、`/types/save`、`/types/delete`、`/types/toggle` | 报告类型 CRUD |
+| `POST /api/admin/report-parse/unknown-clusters`、`/unknown-uploads`、`/generate-type` | 未知类型聚类 / 待标注 / 生成类型(自学习) |
+| `POST /api/admin/report-parse/fingerprints/list`、`/save`、`/delete` | 指纹管理 |
+| `POST /api/admin/report-parse/imports`、`/imports/import`、`/imports/approve`、`/imports/reject`、`/retry` | 解析导入审批链(SC-A-16 标注链) |
+| `POST /api/admin/report-parse/dan/reparse`、`/backfill-food` | DAN 重解析 / 食物回填 |
+
+#### 4.60.4 文章发布-审核(`AdminArticleController` `/api/admin/articles`,SC-A-03)
+
+| 路径 | 说明 |
+|------|------|
+| `POST /api/admin/articles/list`、`/detail`、`/create`、`/update`、`/delete`、`/move` | 文章 CRUD + 排序 |
+| `POST /api/admin/articles/publish`、`/{id}/publish`、`/submit-review`、`/audit`、`/withdraw`、`/re-draft` | 发布-审核流 |
+| `POST /api/admin/articles/categories/list`、`/create`、`/update`、`/delete` | 文章分类管理 |
+| `POST /api/admin/articles/comments/list`、`/reading-records` | 评论/阅读记录 |
+| `POST /api/admin/articles/upload/image`、`/upload/video`、`/toggle-featured`、`/backfill-tags` | 素材上传 / 精选 / 标签回填 |
+
+#### 4.60.5 勋章配置 CRUD(`BadgeController` `/api/badges` + `AdminChallengeScoreConfigController`,SC-A-05)
+
+| 路径 | 说明 |
+|------|------|
+| `POST /api/badges/all`、`/list`、`/detail`、`/create`、`/update`、`/delete` | 勋章字典 CRUD |
+| `POST /api/badges/grant`、`/statistics/member`、`/member/list`、`/ranking/family`、`/favorite` | 发放 / 统计 / 成员视角 / 排行 / 收藏 |
+| `POST /api/admin/challenge-score-config/list`、`/update` | 挑战分规则配置 |
+
+#### 4.60.6 供应商管理(`SupplyManageController` `/api/admin/supply-manage` + `SupplyHierarchyController` `/api/admin/supply-hierarchy` + `AdminSupplierController` `/api/admin/supplier`,SC-A-06)
+
+| 路径 | 说明 |
+|------|------|
+| `POST /api/admin/supply-manage/list`、`/detail`、`/create`、`/update`、`/delete`、`/add-role`、`/remove-role`、`/adjust-tier` | 供应商 CRUD + 角色/层级调整 |
+| `POST /api/admin/supply-hierarchy/tree`、`/my`、`/parent`、`/parent-chain`、`/direct-children`、`/all-children`、`/set`、`/remove` | 供应层级树 |
+| `POST /api/admin/supply-hierarchy/change/apply`、`/change-requests`、`/change/review` | 层级变更审批 |
+| `POST /api/admin/supplier/list`、`/save`、`/update`、`/delete` | 供应商主体管理 |
+
+#### 4.60.7 活动配置(`AdminActivityController` `/api/admin/activity` + `AdminActivityCheckinController`,SC-A-07)
+
+| 路径 | 说明 |
+|------|------|
+| `POST /api/admin/activity/list`、`/detail`、`/audit`、`/review`、`/submit-review`、`/withdraw`、`/re-draft`、`/backfill-tags` | 活动审核流 |
+| `POST /api/admin/activity-checkins/list`、`/add`、`/review`、`/export` | 活动打卡配置与审核 |
+
+#### 4.60.8 知识库管理(`KnowledgeBaseController` `/api/admin/knowledge-base`,SC-A-08)
+
+> 载体为 `KnowledgeBaseController`(非开工包猜测的 `AdminKnowledgeController`)。
+
+| 路径 | 说明 |
+|------|------|
+| `POST /api/admin/knowledge-base/list`、`/get`、`/save`、`/delete`、`/upload-file`、`/fetch-url` | 知识条目 CRUD / 导入 |
+| `POST /api/admin/knowledge-base/bind-tags`、`/bind-dimensions`、`/backfill-tags` | 标签/维度关联 |
+| `POST /api/admin/knowledge-base/vector/documents`、`/stats`、`/sync`、`/delete-source`、`/update-document` | 向量库管理(`KnowledgeBaseVectorController`) |
+| `POST /api/admin/knowledge-tag/list`、`/save`、`/delete` | 知识标签字典(`KnowledgeTagController`) |
+| `POST /api/admin/knowledge-base/unified/overview`、`/section`、`/update`、`/reset` | 统一知识库(`AdminUnifiedKnowledgeController`) |
+
+#### 4.60.9 维度配置与维度注册(`DimensionAdminController` `/api/admin/dimension` + `DimensionConfigController` + `DimensionRegistryController`,SC-A-09/A-25)
+
+| 路径 | 说明 |
+|------|------|
+| `POST /api/admin/dimension/data-source/list`、`/save`、`/delete`、`/detail` | 维度数据源配置 |
+| `POST /api/admin/dimension/norm/list`、`/save`、`/delete` | 维度参考标准配置 |
+| `POST /api/admin/dimension-config/list`、`/get`、`/save`、`/delete`、`/tree` | 维度配置 CRUD + 树 |
+| `POST /api/dimension-registry/*` | 维度注册表查询(`DimensionRegistryController`) |
+
+#### 4.60.10 数据迁移 / 参数校验(`DataMigrationController` `/api/migration` + `MigrationController` + `SysConfigController`,SC-A-10)
+
+| 路径 | 说明 |
+|------|------|
+| `POST /api/migration/run` | 手动触发数据迁移(`DataMigrationController`) |
+| `POST /api/migrate/guide-packages`、`/migrate/knowledge-base-to-articles` | 专项迁移(`MigrationController`) |
+| `POST /api/admin/config/list`、`/update`、`/all` | 系统参数/配置校验与维护(`SysConfigController`) |
+
+> 补充载体:`DatabaseInitializer` 为启动期自动迁移(非 HTTP),report-parse 参数校验在内置校验逻辑内。
+
+#### 4.60.11 用户/家庭查询治理(`AdminController` `/api/admin` + `AdminOrgMemberController`,SC-A-11)
+
+| 路径 | 说明 |
+|------|------|
+| `POST /api/admin/users`、`/users/create`、`/user/search`、`/users/{id}`、`/users/{id}/update`、`/users/{id}/delete`、`/users/{id}/reset-password` | 用户治理 |
+| `POST /api/admin/families`、`/families/{id}`、`/families/{id}/update`、`/families/{id}/delete`、`/families/{id}/members`、`/families/{id}/members/set-admin` | 家庭治理 |
+| `POST /api/admin/children`、`/children/{id}`、`/children/{id}/update`、`/children/{id}/adjust-points` | 孩子视角管理 |
+| `POST /api/admin/org/member/list`、`/add`、`/remove`、`/change-type` | 组织成员治理(`AdminOrgMemberController`) |
+| `POST /api/admin/families/{id}/overview`、`/families/{id}/tasks` | 家庭概览(`AdminFamilyOverviewController`) |
+
+#### 4.60.12 订单/退款人工处理(`AdminProductOrderController` `/api/admin/product/order`,SC-A-12)
+
+| 路径 | 说明 |
+|------|------|
+| `POST /api/admin/product/order/list`、`/detail`、`/ship`、`/update-express`、`/close` | 订单人工处理 |
+| `POST /api/admin/product/order/refund/approve`、`/refund/reject` | 退款人工审批 |
+
+#### 4.60.13 内容安全审核(`ReviewCenterController` `/api/admin/review-center` + 业务 audit 端点,SC-A-13/A-18)
+
+| 路径 | 说明 |
+|------|------|
+| `POST /api/admin/review-center/summary` | 待审聚合队列(13 类:文章/商品/规划师/服务商/管家/套餐/活动/报名/提现/退款/层级变更/营养师/知识) |
+| `POST /api/admin/articles/audit`、`/api/admin/activity/audit` | 文章 / 活动审核动作 |
+| `POST /api/admin/articles/comments/list` | 评论审核列表 |
+
+#### 4.60.14 操作审计日志(`OperationLogController` `/api/admin/logs` + `AdminAuditController`,SC-A-15)
+
+| 路径 | 说明 |
+|------|------|
+| `POST /api/admin/logs/operations` | 操作日志分页查询(按用户/类型/日期过滤) |
+| `POST /api/admin/logs/recent` | 近期操作日志 |
+| `POST /api/admin/audit/list` | 审计列表(`AdminAuditController`) |
+
+#### 4.60.15 优惠券/活动配置管理(`AdminCouponController` `/api/admin/coupon`,SC-A-17)
+
+| 路径 | 说明 |
+|------|------|
+| `POST /api/admin/coupon/list`、`/create`、`/update`、`/delete`、`/toggle-status` | 券模板 CRUD |
+| `POST /api/admin/coupon/issue`、`/issue-family` | 发放(个人 / 家庭) |
+| `POST /api/admin/coupon/grant-log`、`/grant-user`、`/family-coupons`、`/family-coupon-usage`、`/gift-transfers` | 发放记录 / 家庭券 / 转赠 |
+
+#### 4.60.16 能量配置治理(`AdminEnergyConfigController` `/api/admin/energy-config` + `AdminEnergyRuleController` `/api/admin/energy-rule`,SC-A-25/A-26)
+
+| 路径 | 说明 |
+|------|------|
+| `POST /api/admin/energy-config/overview`、`/daily-limits`、`/daily-limit-save` | 每日上限配置 |
+| `POST /api/admin/energy-config/source-list`、`/source-save`、`/source-delete` | 能量来源比例配置(SC-A-26) |
+| `POST /api/admin/energy-rule/list`、`/dimensions`、`/create`、`/update`、`/delete`、`/toggle` | 归因权重规则(SC-A-26) |
+| `POST /api/admin/dimension-weight/list`、`/save` | 维度权重配置(`DimensionWeightController`,SC-A-25) |
+
+#### 4.60.17 睡眠选项维护(`SysConfigController` + `PublicConfigController` + `HealthSleepController`,SC-A-27)
+
+| 路径 | 说明 |
+|------|------|
+| `POST /api/admin/config/list`、`/update`、`/all` | 管理端维护 `sleep.config.tags`(状态机键 `sleep.config.tags`,YELLOW) |
+| `POST /api/config/public/value` | 小程序端拉取 `sleep.quality.tags`(`PublicConfigController`) |
+| `POST /api/health/sleep/list`、`/create` | 睡眠记录(C 端,`HealthSleepController`) |
+
+> SC-A-27 已在状态机(YELLOW),本批只登记映射不新建任务(见契约文档 §2)。
+
+#### 4.60.18 契约缺口(无端点载体,需产品侧确认验收方式)
+
+| SC | 场景 | 现状 | 处置 |
+|----|------|------|------|
+| SC-A-04 | 关系类型 CRUD | 无 `/api/admin/relationship-types`;`relationship_types` 表已废弃 DROP,关系由 `family_relationships`(`/api/family/member/add|update` + `FamilyRelationshipService`)承载 | 无端点载体,需产品侧确认 |
+| SC-A-14 | 系统监控/告警 | 仅 `POST /api/system/health`(JVM/内存/CPU 探活),无告警规则/记录端点 | 无端点载体,需产品侧确认 |
+| SC-A-19 | 账号注销/数据导出工单处理 | 无运营工单端点;用户侧自助 `POST /api/user/deactivate`、`POST /api/user/data-export` 已实现 | 无端点载体,需产品侧确认 |
+| SC-A-20 | 限流/熔断配置 | 无 HTTP 配置端点;`RateLimitInterceptor`(Redis 滑动窗口)+ `AiGateway` 熔断为代码内置 | 无端点载体,需产品侧确认 |
+| SC-A-21 | 舌诊/情绪模型管理 | `POST /api/admin/innate-portrait-config/{list,update,invalidate}` + `POST /api/mind/emotion/{analyze,analyze-url}` 存在;舌诊模型无独立 admin 端点(内联报告解析链) | 端点载体部分存在,需产品侧确认 |
+
+*文档更新:2026-11-07(EVD-11 平台运营 25 SC 契约核对增补「平台运营能力」段落 4.60:管理端登录 / 统计 / 报告解析中台 / 文章审核 / 勋章 / 供应商 / 活动 / 知识库 / 维度 / 迁移 / 用户家庭治理 / 订单退款 / 审核队列 / 审计日志 / 优惠券 / 能量配置 / 睡眠选项 + 契约缺口。完整核验表见 `docs/superpowers/specs/2026-11-07-admin-ops-contract.md`)*

+ 243 - 0
docs/superpowers/specs/2026-11-07-admin-ops-contract.md

@@ -0,0 +1,243 @@
+# 平台运营批次 · 契约核对结论(25 SC · 防假 RED)
+
+> 归属:契约补建计划 P0「平台运营(Web 管理端 / 运营治理)」· 核对时间 2026-11-07(EVD-11)
+> 开工包:`docs/tdd/orchestration/admin-ops-kickoff-20261107.md`(origin/cfclub @ 802cbbce4)
+> 核对对象:origin/cfclub `cfc-backend` controller 源码(工作树 HEAD = origin/cfclub)
+> 核对方法:类级 `@RequestMapping` + 方法级 `@PostMapping` 逐一比对(`grep -rn '@RequestMapping|@PostMapping' cfc-backend/src/main/java/com/etotem/cfc/controller/` 实测定位,不假定包路径),逐端点记录存在性;对字面路径缺失者定位等价实现(防假 RED:契约声明的接口范围必须能在真实源码中找到实现)
+
+## 0. 结论摘要
+
+- **25 个 SC 中 21 个存在可用 HTTP 端点载体**(其中 16 个端点齐全、5 个端点存在但控制器归属/路径与开工包初核不同,已完成实测回填)。
+- **4 个 SC 无完整 HTTP 端点载体**:SC-A-04(关系类型 CRUD,`relationship_types` 表已废弃,无独立 admin 端点)、SC-A-14(系统监控/告警,仅 `/api/system/health` 状态探活,无告警管理端点)、SC-A-19(账号注销/数据导出工单处理,仅用户侧 `/api/user/deactivate`、`/api/user/data-export`,无运营工单处理端点)、SC-A-20(限流/熔断配置,`RateLimitInterceptor` 为代码内置,无 HTTP 配置端点)。**以上 4 个按 O-7 标注「无端点载体,需产品侧确认验收方式」。**
+- 端点核对范围内 **无「假 RED」**:凡开工包标注 ⚠ 待核实的 9 项(A-05/A-08/A-10/A-14/A-15/A-19/A-20/A-21/A-22),逐一实测回填,其中 5 项确认端点存在(A-05/A-08/A-10/A-15/A-22),4 项无完整载体(A-14/A-19/A-20/A-21 部分)。
+- 无新增 DB 迁移、未改动业务代码与测试文件(本批次仅新增本核对文档 + API_REFERENCE 增补段落)。
+
+---
+
+## 1. 端点存在性核对(按 SC 清单,25 个)
+
+> 列:SC → 开工包候选载体 → 实测源码端点(`@RequestMapping` 类级 + `@PostMapping` 方法级)→ 结论。
+
+### 1.1 SC-A-01 管理端登录 + 全局统计
+
+| 开工包候选 | 实测端点 | 结论 |
+|---|---|---|
+| `AdminAuthController /api/admin/auth/*` | 实际类级前缀 **`/api/admin-auth`**(非 `/api/admin/auth`):`POST /api/admin-auth/login`、`/login-by-password`、`/send-code`、`/info`、`/change-password`、`/reset-password`、`/update-info`、`/account-roles`、`/wechat-scan-qr`、`/wechat-scan-poll` | ✅ 端点齐全(1 处前缀差异见 §3) |
+| `StatsController /api/stats/*` | `/api/stats`:`dashboard`、`overview`、`trend`、`revenue`、`traffic`、`membership`、`family/summary`、`child/overview`、`child-completion`、`family-completion`、`points/ranking`、`product-view` | ✅ 端点齐全 |
+
+### 1.2 SC-A-02 报告解析中台(类型/聚类)
+
+| 开工包候选 | 实测端点 | 结论 |
+|---|---|---|
+| `AdminReportParseController /api/admin/report-parse/*` | 实际类名 **`ReportParseAdminController`**:`/api/admin/report-parse`:`list`、`types`、`types/save`、`types/delete`、`types/toggle`、`unknown-clusters`、`unknown-uploads`、`generate-type`、`fingerprints/list`、`fingerprints/save`、`fingerprints/delete`、`imports`、`imports/import`、`imports/approve`、`imports/reject`、`retry`、`dan/reparse`、`backfill-food` | ✅ 端点齐全(类名差异,非能力缺口) |
+
+### 1.3 SC-A-03 文章发布-审核
+
+| 开工包候选 | 实测端点 | 结论 |
+|---|---|---|
+| `AdminArticleController /api/admin/articles/*` | `/api/admin/articles`:`list`、`detail`、`create`、`update`、`delete`、`publish`、`{id}/publish`、`submit-review`、`audit`、`withdraw`、`re-draft`、`move`、`toggle-featured`、`backfill-tags`、`categories/list`、`categories/create`、`categories/update`、`categories/delete`、`comments/list`、`reading-records`、`upload/image`、`upload/video` | ✅ 端点齐全 |
+
+### 1.4 SC-A-04 关系类型 CRUD ⚠
+
+| 开工包候选 | 实测结论 | 结论 |
+|---|---|---|
+| `AdminRelationshipTypeController /api/admin/relationship-types/*` | **无此 Controller、无 `/api/admin/relationship-types` 路由**。`relationship_types` 表已在迁移中 DROP(DatabaseInitializer 迁移 169),关系语义改由 `family_relationships` 表(迁移 41)承载,成员关系编辑走 `FamilyMembersController /api/family/member/{add,update}` + `FamilyRelationshipService`,无独立运营 CRUD 端点 | ⚠ **无端点载体,需产品侧确认验收方式**(member add/update 可承载关系写入,但无类型字典 CRUD) |
+
+### 1.5 SC-A-05 勋章配置 CRUD ⚠(回填:已存在)
+
+| 开工包候选 | 实测端点 | 结论 |
+|---|---|---|
+| 「勋章/成就 admin 端点(须实测定位)」 | `BadgeController /api/badges`:`create`、`update`、`delete`、`all`、`list`、`detail`、`member/list`、`ranking/family`、`grant`、`favorite`、`statistics/member`;`AdminChallengeScoreConfigController /api/admin/challenge-score-config`:`list`、`update` | ✅ **确认存在**(勋章 CRUD + 挑战分配置,与任务-激励批 SC-A-05 核验一致) |
+
+### 1.6 SC-A-06 供应商管理
+
+| 开工包候选 | 实测端点 | 结论 |
+|---|---|---|
+| `AdminSupplyManageController`;`/api/admin/supply-hierarchy/*` | `SupplyManageController /api/admin/supply-manage`:`list`、`detail`、`create`、`update`、`delete`、`add-role`、`remove-role`、`adjust-tier`;`SupplyHierarchyController /api/admin/supply-hierarchy`:`tree`、`my`、`parent`、`parent-chain`、`direct-children`、`all-children`、`set`、`remove`、`change/apply`、`change-requests`、`change/review`;另 `AdminSupplierController /api/admin/supplier`:`list`、`save`、`update`、`delete` | ✅ 端点齐全 |
+
+### 1.7 SC-A-07 活动配置
+
+| 开工包候选 | 实测端点 | 结论 |
+|---|---|---|
+| 活动 admin 端点;`/api/admin/activity-checkins` | `AdminActivityController /api/admin/activity`:`list`、`detail`、`audit`、`review`、`submit-review`、`withdraw`、`re-draft`、`backfill-tags`;`AdminActivityCheckinController /api/admin/activity-checkins`:`list`、`add`、`review`、`export` | ✅ 端点齐全 |
+
+### 1.8 SC-A-08 知识库管理 ⚠(回填:已存在,控制器名不同)
+
+| 开工包候选 | 实测端点 | 结论 |
+|---|---|---|
+| `AdminKnowledgeController`(维度知识库) | **无 `AdminKnowledgeController`**;实际载体:`KnowledgeBaseController /api/admin/knowledge-base`(`list`、`get`、`save`、`delete`、`upload-file`、`fetch-url`、`backfill-tags`、`bind-tags`、`bind-dimensions`)+ `KnowledgeBaseVectorController /api/admin/knowledge-base/vector`(`documents`、`stats`、`sync`、`delete-source`、`update-document`)+ `KnowledgeTagController /api/admin/knowledge-tag`(`list`、`save`、`delete`)+ `AdminUnifiedKnowledgeController /api/admin/knowledge-base/unified`(`overview`、`section`、`update`、`reset`) | ✅ **确认存在**(载体为 KnowledgeBaseController 系,非开工包猜测类名) |
+
+### 1.9 SC-A-09 维度配置与知识库管理
+
+| 开工包候选 | 实测端点 | 结论 |
+|---|---|---|
+| `DimensionAdminController /api/admin/dimension/*`;`DimensionRegistryController /api/dimension-registry/*` | `DimensionAdminController /api/admin/dimension`:`data-source/list`、`data-source/save`、`data-source/delete`、`data-source/detail`、`norm/list`、`norm/save`、`norm/delete`;`DimensionRegistryController /api/dimension-registry`:注册表查询;`DimensionConfigController /api/admin/dimension-config`:`list`、`get`、`save`、`delete`、`tree` | ✅ 端点齐全 |
+
+### 1.10 SC-A-10 数据迁移 / 参数校验 ⚠(回填:已存在)
+
+| 开工包候选 | 实测端点 | 结论 |
+|---|---|---|
+| 迁移类端点 + `DatabaseInitializer`(非 HTTP,判载体) | `DataMigrationController /api/migration`:`run`;`MigrationController /api`:`migrate/guide-packages`、`migrate/knowledge-base-to-articles`;参数校验/动态配置载体 `SysConfigController /api/admin/config`:`list`、`update`、`all` | ✅ **确认存在**(HTTP 载体 = 两个迁移 Controller + SysConfig;`DatabaseInitializer` 为启动期自动迁移,非 HTTP,作为补充载体) |
+
+### 1.11 SC-A-11 用户/家庭查询治理
+
+| 开工包候选 | 实测端点 | 结论 |
+|---|---|---|
+| `AdminFamilyOverviewController`;`/api/admin/org/member/*` | `AdminFamilyOverviewController`(类级 `/api/admin`):`families/{id}/overview`、`families/{id}/tasks`;`AdminOrgMemberController /api/admin/org/member`:`list`、`add`、`remove`、`change-type`;`AdminController /api/admin`:`users`、`users/create`、`user/search`、`users/{id}`、`users/{id}/update`、`users/{id}/delete`、`users/{id}/reset-password`、`families`、`families/{id}`、`families/{id}/update`、`families/{id}/delete`、`families/{id}/members`、`families/{id}/members/set-admin`、`children`、`children/{id}`、`children/{id}/update`、`children/{id}/adjust-points`、`guide/applications` 等 | ✅ 端点齐全 |
+
+### 1.12 SC-A-12 订单/退款人工处理
+
+| 开工包候选 | 实测端点 | 结论 |
+|---|---|---|
+| `AdminProductOrderController /api/admin/product/order/*` | `/api/admin/product/order`:`list`、`detail`、`ship`、`update-express`、`refund/approve`、`refund/reject`、`close` | ✅ 端点齐全 |
+
+### 1.13 SC-A-13 内容安全审核
+
+| 开工包候选 | 实测端点 | 结论 |
+|---|---|---|
+| `AdminReviewCenterController /api/admin/review-center/*` | 实际类名 **`ReviewCenterController`**:`/api/admin/review-center/summary`(聚合待审计数:article/product/guide/vendor/butler/package/activity/registration/withdraw/refund/hierarchyChange/nutritionist/knowledge);文章审核走 `AdminArticleController.audit` + `comments/list`;活动审核走 `AdminActivityController.audit` | ✅ 端点齐全(类名差异,非能力缺口) |
+
+### 1.14 SC-A-14 系统监控/告警 ⚠
+
+| 开工包候选 | 实测端点 | 结论 |
+|---|---|---|
+| 监控端点(可能无 HTTP 载体 → 记缺口) | 唯一相关端点 `AdminSystemController /api/system/health`:JVM uptime / 内存 / CPU / OS 运行状态探活。**无告警规则管理、无监控大盘查询端点** | ⚠ **端点载体不完整**:仅状态探活(health),缺「告警配置/告警记录」类端点,需产品侧确认验收方式(是否以 health + 运维侧监控替代) |
+
+### 1.15 SC-A-15 操作审计日志 ⚠(回填:已存在,控制器为两个)
+
+| 开工包候选 | 实测端点 | 结论 |
+|---|---|---|
+| 审计端点(须实测) | `OperationLogController /api/admin/logs`:`operations`(分页查询操作日志)、`recent`;`AdminAuditController /api/admin/audit`:`list` | ✅ **确认存在** |
+
+### 1.16 SC-A-16 报告解析自学习/未知类型标注
+
+| 开工包候选 | 实测端点 | 结论 |
+|---|---|---|
+| `AdminReportParseController`(标注/学习链) | `ReportParseAdminController /api/admin/report-parse`:`types`、`types/save`、`types/delete`、`types/toggle`、`unknown-clusters`、`unknown-uploads`、`generate-type`、`fingerprints/list`、`fingerprints/save`、`fingerprints/delete`、`imports/import`、`imports/approve`、`imports/reject`、`retry`、`backfill-food`、`dan/reparse` | ✅ 端点齐全 |
+
+### 1.17 SC-A-17 优惠券/活动配置管理
+
+| 开工包候选 | 实测端点 | 结论 |
+|---|---|---|
+| `AdminCouponController /api/admin/coupon/*` | `/api/admin/coupon`:`list`、`create`、`update`、`delete`、`toggle-status`、`issue`、`issue-family`、`grant-log`、`grant-user`、`family-coupons`、`family-coupon-usage`、`gift-transfers` | ✅ 端点齐全 |
+
+### 1.18 SC-A-18 内容安全审核队列
+
+| 开工包候选 | 实测端点 | 结论 |
+|---|---|---|
+| `AdminReviewCenterController`(队列) | `ReviewCenterController /api/admin/review-center/summary`:待审计数队列(13 类待审聚合);具体队列列表由各业务 admin list 端点提供(`articles/list`、`activity/list`、`product/order/list`、`coupon/list` 等) | ✅ 端点齐全(队列计数 + 业务列表) |
+
+### 1.19 SC-A-19 账号注销/数据导出工单处理 ⚠
+
+| 开工包候选 | 实测端点 | 结论 |
+|---|---|---|
+| 工单端点(可能缺 → 记缺口) | **无运营工单处理端点**。仅有用户侧自助端点:`UserController`:`/api/user/deactivate`(注销账号,`AccountCleanupService.deactivateAccount`)、`/api/user/data-export`(数据导出,`AccountCleanupService.exportUserData`)。**无 admin 侧工单受理/审批/处理队列端点** | ⚠ **无端点载体,需产品侧确认验收方式**(用户自助注销/导出已实现,运营受理工单端点缺) |
+
+### 1.20 SC-A-20 限流/熔断配置 ⚠
+
+| 开工包候选 | 实测端点 | 结论 |
+|---|---|---|
+| 配置类端点(须实测) | **无 HTTP 配置端点**。限流为代码内置:`RateLimitInterceptor`(Redis 滑动窗口,高频 10 次/秒、验证码 1 次/60 秒)+ `WebConfig` 注册;熔断内置于 `AiGateway`(超时 + Fallback)。阈值不可通过管理端配置 | ⚠ **无端点载体,需产品侧确认验收方式**(限流/熔断已实现为代码内置,运营侧无可配置端点) |
+
+### 1.21 SC-A-21 舌诊/情绪模型管理 ⚠
+
+| 开工包候选 | 实测端点 | 结论 |
+|---|---|---|
+| `AdminInnatePortraitConfigController`;舌诊模型 admin | `InnatePortraitConfigController /api/admin/innate-portrait-config`:`list`、`update`、`invalidate`(先天画像来源权重配置);情绪模型 `EmotionRecognitionController /api/mind/emotion`:`analyze`、`analyze-url`(情绪识别,C 端调用);舌诊 `TongueDiagnosisService` 挂在 `HealthReportController`(`/api/health/report/*` 报告上传链内),**无独立舌诊模型管理端点** | ⚠ **端点载体部分存在**:先天画像配置/情绪识别端点有,但「舌诊模型管理」无独立 admin 端点(模型配置内联在报告解析链路),需产品侧确认验收方式(是否以 innate-portrait-config + 报告链替代) |
+
+### 1.22 SC-A-22 精准营养知识库管理 ⚠(回填:已存在,控制器归属不同)
+
+| 开工包候选 | 实测端点 | 结论 |
+|---|---|---|
+| 营养知识库 admin 端点 | 知识库数据载体 `HealthKnowledgeBaseController /api/health/knowledge`(**非 admin 前缀**,含 C 端查询 + 管理方法):`add`、`update`、`delete`、`list`、`import`、`unified/*`(`overview`、`section`、`bacteria/query`、`bacteria/batch-query`、`food/query`、`indicator/query`、`indicator/category`、`nutrient/query`、`nutrient-standard/get`、`species-info/query`、`species-desc/query`、`genus-food-mapping/list`、`health-score/get`、`unified/import`)、`v3/*`;管理侧补充 `AdminFoodController /api/admin/foods`:`list`、`create`、`update`、`delete`、`detail`、`saveMonths` | ✅ **确认存在**(知识库本体 + 食物管理双载体;注意知识库写入端点未挂在 `/api/admin` 下,权限粒度需测试侧核验) |
+
+### 1.23 SC-A-25 维度/权重/每日上限配置 CRUD 与生效
+
+| 开工包候选 | 实测端点 | 结论 |
+|---|---|---|
+| `DimensionWeightController /api/admin/dimension-weight/*`;`AdminEnergyConfigController /api/admin/energy-config/*` | `DimensionWeightController /api/admin/dimension-weight`:`list`、`save`;`AdminEnergyConfigController /api/admin/energy-config`:`overview`、`daily-limits`、`daily-limit-save`、`source-list`、`source-save`、`source-delete` | ✅ 端点齐全 |
+
+### 1.26 SC-A-26 能量来源比例与归因权重治理
+
+| 开工包候选 | 实测端点 | 结论 |
+|---|---|---|
+| `AdminEnergyConfigController /source-*`;`AdminEnergyRuleController /api/admin/energy-rule/*` | `AdminEnergyConfigController /api/admin/energy-config`:`source-list`、`source-save`、`source-delete`、`overview`、`daily-limits`、`daily-limit-save`;`AdminEnergyRuleController /api/admin/energy-rule`:`list`、`dimensions`、`create`、`update`、`delete`、`toggle` | ✅ 端点齐全 |
+
+### 1.27 SC-A-27 后台维护睡眠选项并同步小程序端(状态机内,仅登记映射)
+
+| 开工包候选 | 实测端点 | 结论 |
+|---|---|---|
+| `sleep.config.tags`(YELLOW,实现已在 origin/cfclub) | 配置载体 `SysConfigController /api/admin/config`:`list`、`update`、`all`(管理端维护 `sleep.config.tags`);分发载体 `PublicConfigController /api/config/public/value`(小程序端拉取 `sleep.quality.tags`);`HealthSleepController /api/health/sleep`:`list`、`create` | ✅ **已在状态机(YELLOW)**,本批只登记 SC↔键映射,不新建任务 |
+
+---
+
+## 2. 建议能力键映射(SC → 能力键,按 O-2 方案 A)
+
+| SC | 场景标题 | 建议能力键 | 端点核验结论 | 备注 |
+|---|---|---|---|---|
+| SC-A-01 | 管理端登录 + 全局统计 | `admin.auth.login` | ✅ 端点存在 | **登记映射,不新建任务**(已在状态机) |
+| SC-A-02 | 报告解析中台(类型/聚类) | `admin.reportParse.manage` | ✅ 端点存在 | 类名 `ReportParseAdminController` |
+| SC-A-03 | 文章发布-审核 | `admin.article.review` | ✅ 端点存在 | |
+| SC-A-04 | 关系类型 CRUD | `admin.relationshipType.crud` | ⚠ 无端点载体 | 需产品侧确认验收方式 |
+| SC-A-05 | 勋章配置 CRUD | `admin.medal.config` | ✅ 端点存在 | 勋章 CRUD + 挑战分配置 |
+| SC-A-06 | 供应商管理 | `admin.supplier.manage` | ✅ 端点存在 | 三 Controller 载体 |
+| SC-A-07 | 活动配置 | `admin.activity.config` | ✅ 端点存在 | |
+| SC-A-08 | 知识库管理 | `admin.knowledge.manage` | ✅ 端点存在 | 载体 `KnowledgeBaseController` 系 |
+| SC-A-09 | 维度配置与知识库管理 | `admin.dimension.config` | ✅ 端点存在 | |
+| SC-A-10 | 数据迁移 / 参数校验 | `admin.data.migrate` | ✅ 端点存在 | 迁移 + SysConfig 双载体 |
+| SC-A-11 | 用户/家庭查询治理 | `admin.userGovernance` | ✅ 端点存在 | |
+| SC-A-12 | 订单/退款人工处理 | `admin.order.manual` | ✅ 端点存在 | |
+| SC-A-13 | 内容安全审核 | `admin.content.audit` | ✅ 端点存在 | ReviewCenter + 业务 audit |
+| SC-A-14 | 系统监控/告警 | `admin.monitor.alarm` | ⚠ 端点载体不完整 | 仅 health 探活,无告警管理端点 |
+| SC-A-15 | 操作审计日志 | `admin.auditLog.view` | ✅ 端点存在 | logs/operations + audit/list |
+| SC-A-16 | 报告解析自学习/未知类型标注 | `admin.parse.label` | ✅ 端点存在 | |
+| SC-A-17 | 优惠券/活动配置管理 | `admin.coupon.config` | ✅ 端点存在 | |
+| SC-A-18 | 内容安全审核队列 | `admin.content.audit`(复用 A-13 键) | ✅ 端点存在 | 建议与 A-13 同键或建 `admin.content.auditQueue`,定稿时取舍 |
+| SC-A-19 | 账号注销/数据导出工单处理 | `admin.ticket.handle` | ⚠ 无端点载体 | 用户侧端点存在,运营工单端点缺 |
+| SC-A-20 | 限流/熔断配置 | `admin.ratelimit.config` | ⚠ 无端点载体 | 代码内置拦截器 |
+| SC-A-21 | 舌诊/情绪模型管理 | `admin.mind.model` | ⚠ 端点载体部分存在 | 先天画像配置/js识别有,舌诊模型独立端点缺 |
+| SC-A-22 | 精准营养知识库管理 | `admin.nutrition.kb` | ✅ 端点存在 | 知识库 + Foods 双载体 |
+| SC-A-25 | 维度/权重/每日上限配置 CRUD 与生效 | `energy.viewConfig` | ✅ 端点存在 | **同键勿重复**(与 EVD-5 五维能量批同键) |
+| SC-A-26 | 能量来源比例与归因权重治理 | `energy.viewConfig`(或 `energy.ruleConfig`,定稿时取舍) | ✅ 端点存在 | 与 A-25 同源配置面 |
+| SC-A-27 | 后台维护睡眠选项并同步小程序端 | `sleep.config.tags` | ✅ 已在状态机 | **登记映射,不新建任务**(已在状态机 YELLOW) |
+
+> ⚠ 键去重提示:`admin.auth.login`、`sleep.config.tags` 已在状态机,本批只登记映射不新建任务;`admin.content.audit` 若 A-13/A-18 合并用一键,则只建一个任务(建议 A-18 复用 A-13 键,审核队列为同一能力的视图)。
+
+---
+
+## 3. 字面路径/控制器归属差异清单(非能力缺口,实操对齐项)
+
+| # | 开工包声明 | 实际实现 | 影响 SC | 处置建议 |
+|---|---|---|---|---|
+| 1 | `AdminAuthController /api/admin/auth/*` | 类级前缀 **`/api/admin-auth/*`**(AdminAuthController) | SC-A-01 | 契约接口范围改用 `/api/admin-auth/*`(前端已按此调用,勿按开工包路径断言) |
+| 2 | `AdminReportParseController` | 实际类名 `ReportParseAdminController`(`/api/admin/report-parse`) | SC-A-02/A-16 | `--design` 标注真实类名 |
+| 3 | `AdminKnowledgeController` | 不存在;实际 `KnowledgeBaseController` + `KnowledgeBaseVectorController` + `KnowledgeTagController` + `AdminUnifiedKnowledgeController` | SC-A-08 | 契约接口范围对齐到 `/api/admin/knowledge-base/**` |
+| 4 | `AdminReviewCenterController` | 实际类名 `ReviewCenterController` | SC-A-13/A-18 | `--design` 标注真实类名 |
+| 5 | 营养知识库「admin 端点」 | 知识库本体在 `/api/health/knowledge`(非 admin 前缀);admin 侧仅 `AdminFoodController /api/admin/foods` | SC-A-22 | 契约接口范围明确双载体;知识库写入端点的权限粒度留待测试侧补权限流核验 |
+
+---
+
+## 4. 实现缺口清单(无端点载体 / 载体不完整,需产品侧确认)
+
+| # | SC | 场景标题 | 建议能力键 | 缺口描述 | 处置建议 |
+|---|---|---|---|---|---|
+| 1 | SC-A-04 | 关系类型 CRUD | `admin.relationshipType.crud` | `relationship_types` 表已废弃 DROP;无独立字典 CRUD 端点;关系语义由 `family_relationships` + `FamilyMembersController.update/add` 承载 | **无端点载体,需产品侧确认验收方式**:若需字典管理,新增 `AdminRelationshipTypeController`(先产品确认);或改以成员关系编辑验证 |
+| 2 | SC-A-14 | 系统监控/告警 | `admin.monitor.alarm` | 仅 `/api/system/health`(JVM/内存/CPU 探活),无告警规则/告警记录/监控大盘端点 | **无端点载体,需产品侧确认验收方式**:若仅需探活,health 可验收;若需告警治理,待实现 |
+| 3 | SC-A-19 | 账号注销/数据导出工单处理 | `admin.ticket.handle` | 用户侧自助注销/导出已有(`/api/user/deactivate`、`/api/user/data-export`),但**无运营工单受理/审批/处理队列 admin 端点** | **无端点载体,需产品侧确认验收方式**:先产品确认工单流程是否必须,若必须则新增 admin 工单端点 |
+| 4 | SC-A-20 | 限流/熔断配置 | `admin.ratelimit.config` | 限流为代码内置 `RateLimitInterceptor`(常量阈值),熔断内置于 `AiGateway`,均无可配置端点 | **无端点载体,需产品侧确认验收方式**:若阈值可接受硬编码则测试侧以现状验收;若需运营可调,待实现配置端点 |
+| 5 | SC-A-21 | 舌诊/情绪模型管理 | `admin.mind.model` | 先天画像配置 `/api/admin/innate-portrait-config`(list/update/invalidate)存在;情绪识别 `/api/mind/emotion` 存在;**舌诊模型无独立 admin 管理端点**(模型配置内联在报告解析链) | **端点载体部分存在**:产品侧确认验收方式——以先天画像配置 + 报告链验收,或补舌诊模型管理端点 |
+
+**缺口统计:5 个**(完整无载体 3 个:A-04/A-19/A-20;载体不完整 2 个:A-14/A-21;A-21 部分载体可议)。
+
+---
+
+## 5. 核对结论与后续动作
+
+1. **防假 RED 结论**:25 个 SC 中 **21 个端点存在(16 齐全 + 5 归属/路径差异已回填)**,**4 个无完整端点载体**(A-04/A-14/A-19/A-20;A-21 部分)。全部 ⚠ 待核实项已实测回填,无假定包路径结论。
+2. **定稿前置**:§3 的 5 处归属/路径差异,契约编写时直接采用真实端点;§4 的 5 个缺口按 O-7 标注「无端点载体,需产品侧确认验收方式」,不先行补实现。
+3. **能力键映射**:25 个 SC 建议键见 §2;`admin.auth.login`、`sleep.config.tags` 已在状态机,本批仅登记映射不新建任务;`energy.viewConfig` 与 EVD-5 批同键不重复;`admin.content.audit` A-13/A-18 建议同键合一。
+4. **台账回填**:本契约核对文档 + API_REFERENCE 增补段落合入 origin/cfclub 后,研发负责人登记 TR-13 转测试侧(补 admin 端点 MockMvc 契约 JUnit + 非 admin token → 403 权限流)。
+
+---
+
+*核对依据:origin/cfclub @ 802cbbce4(开工包 admin-ops-kickoff-20261107.md)+ 各 Controller 源码 @ 同 sha;核对人:TDD 契约核对会话 EVD-11(OpenCode)。本批仅新增契约文档(spec + API_REFERENCE 增补),未修改业务代码、测试文件、DB 迁移。*