feat: prepare ARR for controlled public deployment

This commit is contained in:
Wyndham ARR
2026-07-29 16:38:05 +08:00
commit a701de9f0e
271 changed files with 48472 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
# Project Positioning
## One-line Positioning
ARR 是一个面向酒店 Finance 的 Opera XML 数据接入、验证入库与报表自动化系统。
## Primary Goal
用户只需上传 Opera XMLAgent 处理后提交结构化结果,业务系统验证并写入数据库,再由后台自动触发月报等下游处理程序。
## Target Users / Consumers
- 酒店 Finance 操作员
- 消费已验证数据库事实的月报、渠道分析和公司报表程序
## Non-goals
- 不要求业务用户为月报提交年份、月份、截止日期或其他内部控制参数。
- 月报程序不重复执行 XML 解析、白名单、去重、定价或公司匹配。
## Core Constraints
- 只有 Agent 结构化结果成功验证并提交数据库后,才允许触发下游月报程序。
- 月报所需的年月和截止范围由业务系统内部推导;内部审计字段不得变成用户输入要求。
- 工作簿必须保留 `TOTAL PRICE` 字段,其数据行公式为 `REAL PRICE × NIGHTS × NO_OF_ROOMS`
- 数据处理应确定、可追溯、隐私最小化并支持安全重试。
## Quality Bar
正确实现应让上传、Agent 回写、数据库提交和报表触发形成可验证的完整链路,并通过自动化测试证明字段、公式与触发边界。
## Last Reviewed
2026-07-29

View File

@@ -0,0 +1,21 @@
# Success Criteria
## Project Success
- 用户上传 XML 后无需再提交月报参数;结构化结果成功入库会自动触发相应月报处理。
- 生成的月报包含 `TOTAL PRICE` 字段,并在每个数据行使用 `REAL PRICE × NIGHTS × NO_OF_ROOMS` 的 Excel 公式。
## Task Completion Standard
- 行为改动必须同时覆盖触发链、内部参数推导、工作簿公式和失败/重试边界。
- 仅更新记忆的任务必须清楚标注哪些旧说法已失效,以及产品代码仍存在哪些差异。
## Quality Checks
- 测试必须证明月报触发发生在数据库成功提交之后,且失败提交不会触发。
- 重新打开生成的 XLSX确认 `TOTAL PRICE` 为公式单元格并逐行引用同一行的 `REAL PRICE``NIGHTS``NO_OF_ROOMS`
- 用户入口不得要求提交月报年份、月份或截止日期。
## Last Reviewed
2026-07-29