Files
wyndham-ARR/.project-docs/00-brief/success-criteria.md
2026-08-06 22:40:18 +08:00

2.7 KiB
Raw Blame History

Success Criteria

Project Success

  • 未登录用户只能看到 ARR 登录页或无详情 readiness页面、API、上传、日志和下载均由服务端会话保护退出后立即失效。
  • XML 上传、确定性处理、完整结果验证和 Finance 提交不依赖 Agent/MCP并得到终态任务回执。
  • PRICE_UNMATCHED 上传得到 needs_review 而非失败初始阶段没有日报、Finance 版本、失败事件或月报事件;填写全部键后原 XML + 冻结清单的独立重放才可产生一次最终成功。
  • 用户上传 XML 后无需再提交月报参数;结构化结果成功入库会自动触发相应月报处理。
  • 生成的月报包含 TOTAL PRICE 字段,并在每个数据行使用 REAL PRICE × NIGHTS × NO_OF_ROOMS 的 Excel 公式。
  • 月报发布完成后,打开的月报页面自动出现新版本,不要求用户点击刷新。

Task Completion Standard

  • 行为改动必须同时覆盖触发链、内部参数推导、工作簿公式和失败/重试边界。
  • 仅更新记忆的任务必须清楚标注哪些旧说法已失效,以及产品代码仍存在哪些差异。

Quality Checks

  • 测试必须覆盖错误/正确登录、尝试限流、安全回跳、CSRF 退出、会话撤销、桌面/H5 会话过期处理,以及 375/768/1024/1440 响应式无横向溢出。
  • 测试必须证明月报触发发生在数据库成功提交之后,且失败提交不会触发。
  • 测试必须覆盖合并重复价格键、候选价、整数格式、显式 0(冻结清单规范化为 0.00、未完成禁止确认、revision 冲突、重复最终化、技术重试、取消留痕、认证/CSRF和隐私字段隔离。
  • 待人工处理 状态与复核进度必须作为同一个操作入口,点击或键盘激活后定位并聚焦人工价格面板,不能误开任务日志;复核面板、动态消息、确认弹窗和安全 API 错误必须完整支持中文、英文和泰文。
  • 人工确认请求在途时,上传卡片必须显示本地化的“日报生成中”;请求结束后按成功、仍在生成或可重试复核状态收敛,不能继续显示过期的“等待人工定价”。
  • 最终人工成功必须证明日报行序/数值可重放、Finance 只有一个 active 版本、manual_review 行数和冻结清单 SHA-256 可追踪、月报事件仅一次。
  • 重新打开生成的 XLSX确认 TOTAL PRICE 为公式单元格并逐行引用同一行的 REAL PRICENIGHTSNO_OF_ROOMS
  • 用户入口不得要求提交月报年份、月份或截止日期。
  • 页面自动同步必须避免重叠请求;页面隐藏或离开月报页时停止轮询,恢复可见时立即重新读取。

Last Reviewed

2026-08-06