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

32 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 PRICE``NIGHTS``NO_OF_ROOMS`
- 用户入口不得要求提交月报年份、月份或截止日期。
- 页面自动同步必须避免重叠请求;页面隐藏或离开月报页时停止轮询,恢复可见时立即重新读取。
## Last Reviewed
2026-08-06