[
  {
    "id": "UC-DWM-001",
    "name": "沿用现有入口发送图片",
    "source": "S01/S05",
    "page": "PAGE-DWM-01：现有AI运动营养师页面（本任务零改动，仅示意）",
    "api": "复用upload/image及现有消息发送；新增算法结果落餐契约需评审",
    "data": "既有File/Message/User/Meal关联",
    "pre": "已有登录/人员映射与项目访问权限；映射异常只进入异常处理，不正常人工选人。",
    "trigger": "受试者在已有AI问答、饮食或其他已具备图片能力的入口发送图片。",
    "main": [
      "M1 受试者使用现有AI运动营养师的图片入口，手机页面与操作不改。",
      "M2 沿用已有发送；用户可在文字中说明餐次与进食时间，已有饮食入口沿用mealId和selectDate上下文。",
      "M3 图片/消息成功后由后台自动触发识别，不再让用户进入独立采集页。",
      "M4 用户仍停留在原问答/饮食页面，显示现有回执及简洁处理状态。"
    ],
    "alt": [
      "A1@M2 AI问答入口没有餐次上下文时，使用明确消息语义；不必每次强填新表单。",
      "A2@M2 非饮食图片走原问答逻辑；用户上传锻炼/体检/其它照片不得一律记录成饮食。"
    ],
    "err": [
      "E1@M1 现有图片上传失败按原路径重试，不新增第二套上传器。",
      "E2@M3 识别失败保留已上传原图/消息，不能要求重新上传。"
    ],
    "recovery": [
      "R1@E1 复用上传失败反馈及重试。",
      "R2@E2 复用消息/图片ID重试识别；不重复新增餐记录。"
    ],
    "rules": [
      "BR-01 上传能力必须复用，入口位置未锁定；原型示例放现有AI问答。",
      "BR-02 客户端不重新实现识别，也不要求手动选人。",
      "BR-03 选择图片与真正发送不同；使用已发送消息/已提交饮食记录作为幂等识别事件，避免未发送草稿入账。"
    ],
    "ac": [
      "保持原首页/主导航/AI问答布局，在已有发送操作后自动处理。",
      "普通文字问答与非食物图片不生成饮食记录。",
      "重复事件/重试只更新同一记录；已有图片上传能力不新增重写。"
    ],
    "tests": [
      "E2E-DWM-V02-001 依上述AC验证现有界面与新增展示",
      "API-DWM-V02-001 服务端事件幂等、权限、归餐及落库契约（待真实实施）"
    ],
    "q": "Q01/Q03/Q04/Q05/Q06/Q07/Q08（按用例相关项评审）；v0.3补充跨系统人员映射P0"
  },
  {
    "id": "UC-DWM-002",
    "name": "后台自动识别并关联餐次",
    "source": "S02/S04",
    "page": "PAGE-DWM-02：PC饮食上传明细状态",
    "api": "沿用RunAgent/既有算法流程，增加后端事件接续与持久化；不要新建上传API",
    "data": "Message→Image→RecognitionResult→MealItem",
    "pre": "已有登录/人员映射与项目访问权限；映射异常只进入异常处理，不正常人工选人。",
    "trigger": "收到既有上传成功且消息发送成功/饮食记录提交成功事件。",
    "main": [
      "M1 接收现有图片/消息ID与可信账号/组织上下文，解析是不是饮食记录。",
      "M2 自动识别菜品、估计分量，匹配菜品库或食物成分库，产出四指标。",
      "M3 确定实际进食日、餐次组、正餐/加餐/零食子类型及时间，并记录归餐依据。",
      "M4 自动关联已有账号对应人员，保存原图引用、识别结果、状态及版本。",
      "M5 PC立即能查到记录和处理状态；识别完成后展示明细，无需逐条人工点启动。"
    ],
    "alt": [
      "A1@M2 菜品库未命中回退食物成分库；分量与营养成分不明确时标估算/缺失。",
      "A2@M3 前端1/2/3餐次组包含对应加餐；后端4仍为夜宵。零食/加餐作为子类型，不覆盖现有枚举。",
      "A3@M3 日期、餐次或食物是否实际摄入不明，进入待归餐/待补充；普通食物咨询不直接作为实际进食。"
    ],
    "err": [
      "E1@M2 算法超时失败，记录状态可见，保留原图与上传时间。",
      "E2@M4 账号没有唯一人员映射，进入身份异常；不能随便绑定A/B。",
      "E3@M3 “昨天/补记/仅图片”缺依据时不能只用上传时刻当实际用餐时刻。"
    ],
    "recovery": [
      "R1@E1 用同一事件重试识别并保留attempt版本。",
      "R2@E2 有权人员核对异常映射后恢复处理；常规数据不人工选人。",
      "R3@E3 后台异常修正日期/餐次/类型/时间，记录原因与前后值。"
    ],
    "rules": [
      "BR-04 用户确认四指标为能量、蛋白质、锌、镁；份量为估计时显式标识。",
      "BR-05 同餐多次上传、同次多图、多食物项分别留存关联，不能以最后一张覆盖。",
      "BR-06 不能把AI候选当实测，不能把缺失填0，不能把普通食物咨询当已吃记录。"
    ],
    "ac": [
      "发送后自动进入识别，无需手动启动；失败在PC仍可见原图。",
      "午餐+午加餐+午零食属于午餐组但为独立条目；夜宵仍为4。",
      "明确上下文优先；冲突或不明保留待归餐，不硬归早餐/午餐/晚餐。"
    ],
    "tests": [
      "E2E-DWM-V02-002 依上述AC验证现有界面与新增展示",
      "API-DWM-V02-002 服务端事件幂等、权限、归餐及落库契约（待真实实施）"
    ],
    "q": "Q01/Q03/Q04/Q05/Q06/Q07/Q08（按用例相关项评审）；v0.3补充跨系统人员映射P0"
  },
  {
    "id": "UC-DWM-003",
    "name": "复用体重与体成分既有链路",
    "source": "S03/S06/S07",
    "page": "PAGE-DWM-03：现有体重管理",
    "api": "复用user.userWeight/setWeight、wellandScale/add等已有入口，逐项验证",
    "data": "既有测量事件/人员映射",
    "pre": "已有登录/人员映射与项目访问权限；映射异常只进入异常处理，不正常人工选人。",
    "trigger": "受试者按既有方式测量/记录体重体成分。",
    "main": [
      "M1 从现有体重管理/设备链路录入或同步，不新建专题体测表单。",
      "M2 保留实际测量时间、来源、体重及设备实际提供的体成分。",
      "M3 按既有人员映射关联，在现有体测管理及后续导表查看。"
    ],
    "alt": [
      "A1@M2 仅体重秤不生成体脂；同周多次分别保留。"
    ],
    "err": [
      "E1@M2 设备断连或录入错误遵循既有恢复机制。"
    ],
    "recovery": [
      "R1@E1 现有界面重试/修正；未验证的设备接入不承诺可用。"
    ],
    "rules": [
      "BR-07 此轮改动重点是照片识别与PC展示，不扩大为体测重构。"
    ],
    "ac": [
      "现有体重入口与调用保持，独立专题体测页不再作为当前设计。",
      "未测体成分仍为空；每周频率不覆盖多次事件。",
      "真实设备接入仍需原项目验证。"
    ],
    "tests": [
      "E2E-DWM-V02-003 依上述AC验证现有界面与新增展示",
      "API-DWM-V02-003 服务端事件幂等、权限、归餐及落库契约（待真实实施）"
    ],
    "q": "Q01/Q03/Q04/Q05/Q06/Q07/Q08（按用例相关项评审）；v0.3补充跨系统人员映射P0"
  },
  {
    "id": "UC-DWM-004",
    "name": "PC按人员照片与三餐加餐查看上传明细",
    "source": "S08",
    "page": "PAGE-DWM-04：store 膳食监控→个体监控→查看分析→膳食记录（既有页局部补充）",
    "api": "复用/p/Ontoanalysis/StaffInfo与/p/Ontoanalysis/FoodRecord；新增明细契约保持原结构兼容",
    "data": "PersonnelPhoto + MealGroup + IntakeEvent + FoodItem",
    "pre": "已有登录/人员映射与项目访问权限；映射异常只进入异常处理，不正常人工选人。",
    "trigger": "项目人员打开现有人员工作台的饮食明细。",
    "main": [
      "M1 从store演示系统现有个体监控进入人员分析，复用staff_uuid、personInfo.head_img和日期上下文。",
      "M2 沿用膳食记录原图表和三餐卡片；在原页点击新增上传明细入口。",
      "M3 明细弹窗显示每次上传原图、时间、来源，餐次内区分正餐/加餐/零食，夜宵/待归餐另列。",
      "M4 查看各食物名称、估算份量、能量/蛋白质/锌/镁；点击原图放大。",
      "M5 按当前筛选查看/导出；异常重试可见，新的业务纠错写入不在本原型范围。"
    ],
    "alt": [
      "A1@M1 复用已存在的head_img；缺照片按原头像fallback显示，不新增头像上传。",
      "A2@M2 加餐/零食独立条目可筛选，不并成三条日汇总；同餐多次全部保留。"
    ],
    "err": [
      "E1@M1 无权限不展示该人员详情与图片；人物照片和食物照片独立校验权限。",
      "E2@M3 图片读取失败显示可重试状态，保留其它元信息。",
      "E3@M5 更正日期/餐次/类型须原因、原值、新值和版本，防并发覆盖。"
    ],
    "recovery": [
      "R1@E1 恢复明确授权后再加载。",
      "R2@E2 重新取得受控图片引用，不伪装图片已显示。",
      "R3@E3 重新读最新版本后修正；按正确日期重新查询可定位。"
    ],
    "rules": [
      "BR-08 常规人员关联来自账号/业务映射，不要求上传后人工挑人。",
      "BR-09 PC必须同时有人员照片位与对应上传原图；身份不是根据图片人脸判断。",
      "BR-10 已有页能满足则复用：不新建页面或侧栏菜单，仅补明细按钮和弹窗。"
    ],
    "ac": [
      "现有store膳食记录页保留头像、日期、三餐卡片；按人查看同一staff_uuid的原图明细。",
      "原页入口打开明细弹窗，多次加餐/零食及多张图不丢失；不新增页面和菜单。",
      "原图缺失、待归餐和识别失败保留可见；重试同记录，缺失值不填0。"
    ],
    "tests": [
      "E2E-DWM-V02-004 依上述AC验证现有界面与新增展示",
      "API-DWM-V02-004 服务端事件幂等、权限、归餐及落库契约（待真实实施）"
    ],
    "q": "Q01/Q03/Q04/Q05/Q06/Q07/Q08（按用例相关项评审）；v0.3补充跨系统人员映射P0"
  },
  {
    "id": "UC-DWM-005",
    "name": "导出按同一人员与餐次关联的饮食和体测数据",
    "source": "S03",
    "page": "PAGE-DWM-05：沿用PC饮食/体测导出",
    "api": "扩展现有导出/报表，禁止新建与原人员餐次脱节的结果表",
    "data": "同一人员、日期、上传记录和测量事件",
    "pre": "已有登录/人员映射与项目访问权限；映射异常只进入异常处理，不正常人工选人。",
    "trigger": "项目人员筛选阶段数据并导出。",
    "main": [
      "M1 使用当前人员、日期、餐次/类型筛选条件。",
      "M2 导出饮食上传明细，保留加餐/零食、原图引用、状态与四项指标。",
      "M3 按同一人员编号导出既有体测数据，两表可关联。"
    ],
    "alt": [
      "A1@M2 未识别/待归餐/缺分量不得静默丢失；导出保留状态，结果分析需按状态筛选。"
    ],
    "err": [
      "E1@M2 文件生成失败保留条件，禁止旧文件冒充。"
    ],
    "recovery": [
      "R1@E1 按同一快照条件重新生成，遵循权限和版本。"
    ],
    "rules": [
      "BR-11 正常自动识别结果即可展示，不以人工审核为PC可见或导出的前置条件。",
      "BR-12 CSV/XLSX空值不写0，公式注入防护与受控图权限仍适用。"
    ],
    "ac": [
      "当前PC饮食明细导出包含加餐/零食、上传时间、餐次和状态。",
      "未识别/待归餐不消失；非食物图片不计入饮食表。",
      "体测沿用既有导出能力评估，原型不伪称新增XLSX或设备实现。"
    ],
    "tests": [
      "E2E-DWM-V02-005 依上述AC验证现有界面与新增展示",
      "API-DWM-V02-005 服务端事件幂等、权限、归餐及落库契约（待真实实施）"
    ],
    "q": "Q01/Q03/Q04/Q05/Q06/Q07/Q08（按用例相关项评审）；v0.3补充跨系统人员映射P0"
  }
]
