Files
th-hotel-simple/docs/project/ai-nses-project-overlay.md
2026-07-24 10:05:28 +07:00

163 lines
9.2 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.

# TH Hotel AI-NSES 项目级补充规则
## 文档信息
| 项 | 内容 |
| --- | --- |
| 状态 | 当前有效 |
| 日期 | 2026-07-24 |
| 适用范围 | TH Hotel Simple 当前项目的需求、文档、前后端协作、测试和多 agent 交接 |
| 不适用范围 | 可复制到其它项目的通用 AI-NSES 标准本体 |
## 1. 文档定位
本文是 TH Hotel Simple 对 AI-NSES 的项目级 Overlay。
通用 AI-NSES 只定义文档分层、Feature 生命周期、Ready / Done、Change Request、Traceability 和 Agent Handoff 的通用机制。本文补充本项目特有的硬规则,尤其用于守住 Reservation V4 中的订单、订单任务、任务卡、SourceMessage、S10/S99 来源通知、SuperAgent 入站、前后端接口边界、权限、审计和酒店隔离。
如本文与 `docs/import/reusable/ai-native-software-engineering-standard.md` 冲突,以本文作为本项目补充执行;如本文与具体业务契约冲突,以 `docs/project/README.md` 标记的当前有效或权威契约为准,并更新本文或对应契约消除冲突。
## 2. 文档层级
本项目当前不整体搬迁旧文档目录。AI-NSES 角色与本项目路径映射如下:
| 层级 | 本项目路径 | 用途 |
| --- | --- | --- |
| Agent 工作规则 | `AGENTS.md` | 规定所有 agent 的基础工作方式 |
| 长期上下文 | `CONTEXT.md` | 保存产品目标、系统组成、业务领域和外部系统边界 |
| 当前状态 | `PROJECT_STATE.md` | 保存当前 checkpoint、已完成、未完成和下一步 |
| 项目文档索引 | `docs/project/README.md` | 指向当前有效和权威契约 |
| 项目级 Overlay | `docs/project/ai-nses-project-overlay.md` | 本项目需求门禁、概念守门和 agent 交接规则 |
| 当前项目需求 / Spec | `docs/project/requirements/` | 当前阶段保存功能需求、Spec、设计和 Change Request |
| 前后端协作 | `docs/project/frontend-backend/` | 保存接口消费、字段白名单和前后端待办 |
| 安全边界 | `docs/project/security-access-control-boundary.md` | 保存接口分类、权限、酒店隔离、审计和敏感数据边界 |
| 第三方契约 | `docs/project/integrations/` | 保存 SuperAgent、AgentBus、MCP 等机器接口契约 |
## 3. 需求门禁
以下情况必须先形成或更新模板化 Spec / Change Request再安排后端、前端或测试 agent 开发:
- 新增或改变 Reservation V4 业务卡类型、卡片字段、字段可编辑性、确认或复核规则。
- 新增或改变 SuperAgent 入站 JSON、MCP submit、AgentBus dispatch、Debug EML V4 profile 或 SourceMessage 读取边界。
- 新增或改变订单、订单任务、任务卡、SourceMessage、S10/S99 来源通知之间的关系。
- 新增或改变前端普通酒店员工页面的主流程、按钮、默认文案、折叠策略、错误态或空态。
- 新增或改变接口、权限码、酒店隔离、审计、敏感数据返回、附件 URL、邮件正文或 AI payload 脱敏规则。
- 新增或改变测试机 smoke 样例、允许写操作、数据清理或开发阶段兼容策略。
以下情况可以不新建完整 Spec但仍要在任务说明或原文档变更记录中说明范围和验证
- 不改变业务行为的拼写、链接、目录索引或说明性文字修正。
- 只修复已明确的实现 bug且不改变接口、数据模型、用户流程、安全或验收口径。
- 只补测试数据或测试说明,且不改变业务规则。
## 4. V4 Spec 最小结构
Reservation V4 相关 Spec / Change Request 至少包含:
1. 背景:这次需求为什么出现,解决哪个业务或联调问题。
2. 目标:本次必须完成什么。
3. 非目标:明确不做真实 PMS / OPERA / OHIP、旧 V2/V3 兼容、生产迁移或其它后置事项。
4. 用户与场景普通酒店员工、测试人员、SuperAgent 对接方或系统管理员分别如何使用。
5. 核心概念守门:说明本需求涉及的 Order、Order Task、Task Card、SourceMessage、S10/S99、SuperAgent 入站边界,避免混用。
6. 后端契约:接口、状态、字段白名单、目录校验、确认 / 复核、审计、权限和酒店隔离。
7. 前端契约:页面定位、字段展示、可编辑字段、按钮位置、错误态、空态、普通用户文案和技术信息折叠。
8. 测试与 smoke需要造哪些数据允许哪些写操作哪些安全扫描必须通过。
9. 需求追踪表:列出每个需求项的后端、前端、测试和文档状态。
10. 未确认问题:开发前仍需用户确认的问题。
## 5. 核心概念守门
后续所有 V4 文档和 agent 提示词必须使用以下口径:
| 概念 | 正确含义 | 禁止混淆 |
| --- | --- | --- |
| Order | 本系统本地订单投影,用于订单总览、订单归属和同订单队列 | 不等同一封邮件,不等同 V4 order task不等同 PMS 最终订单 |
| Order Task | 同一 `source_message + order_ref` 形成的 V4 业务处理聚合 | 不等同旧 `workflow_reservation_task`,不直接代表单张卡 |
| Task Card | Order Task 下可独立确认 / 复核 / 锁定的卡片 | 不等同整个订单,也不等同 SourceMessage |
| SourceMessage | 外部邮件或消息来源事实 | 不等同 SuperAgent 建议,不等同订单事实 |
| SourceMessage Display | 普通业务 Order Task 底部来源邮件展示卡 | 不是可确认业务卡,不直接改变订单状态 |
| S10/S99 Source Notification | V4 来源通知模型,只表示邮件需要查看或确认已处理 | 不创建订单,不创建业务 Order Task不阻塞订单队列 |
| SuperAgent 入站 | 外部 Agent 提交的建议、证据和结构化事件 | 不是最终业务事实,不能绕过人工确认、权限、审计和校验 |
| REVIEW_REQUIRED | 原业务卡的复核状态 | 不新增独立复核卡,不等于可以编辑所有字段 |
## 6. 前后端和测试追踪
每个 V4 Spec / Change Request 应维护追踪表:
| 需求项 | 后端状态 | 前端状态 | 测试状态 | 文档位置 | 当前状态 |
| --- | --- | --- | --- | --- | --- |
| 示例Payment 附件安全摘要 | Done / Pending / N/A | Done / Pending / N/A | Passed / Blocked / Not Covered | 需求文档和安全边界 | Draft / Approved / Implemented |
状态口径:
- `Pending`:尚未开始或未返回完成证据。
- `Done`:对应 agent 已完成并说明验证结果。
- `Passed`:测试 agent 已在目标环境通过。
- `Blocked`:存在外部前置条件或失败项。
- `N/A`:本需求不涉及该角色。
总揽 agent 盘点时,应优先从追踪表判断:
- 后端已做但前端未做。
- 前端需要但后端未做。
- 文档写了但代码未做。
- 代码做了但文档未写。
- 测试未覆盖或只能部分覆盖。
## 7. Agent 交接规则
给后端 agent 的提示词必须包含:
- checkpoint 名称。
- 必读 Spec / Change Request / 现有契约。
- 后端目标、边界和不做事项。
- 涉及接口、权限、酒店隔离、审计和脱敏要求。
- 需要补的测试范围。
- 输出要求:代码位置、测试命令和结果、文档更新清单、风险和未完成项。
给前端 agent 的提示词必须包含:
- 页面定位和目标用户,特别是普通酒店员工页面不得默认展示技术信息。
- 可展示字段、可编辑字段、按钮和错误态。
- 后端接口和字段白名单来源。
- 不得展示或提交的敏感字段、payload、邮件正文和附件 URL。
- 需要跑的类型检查、单测、lint 和 build。
给测试 agent 的提示词必须包含:
- checkpoint 名称。
- 目标环境和版本判断方式。
- 需要创建或复用的数据类型。
- 允许执行的写操作例如确认卡片、复核、ack 或只读验证。
- 必须记录的 ID、请求摘要、状态变化和安全扫描结果。
- 通过 / 部分通过 / 未通过的判定标准。
## 8. 文档同步规则
V4 新需求落地后,至少检查以下文档:
- `PROJECT_STATE.md`
- `docs/project/README.md`
- 对应 `docs/project/requirements/` Spec 或 Change Request
- `docs/project/frontend-backend/backend-to-frontend-notes.md`
- `docs/project/frontend-backend/frontend-to-backend-api-requests.md`
- `docs/project/security-access-control-boundary.md`
- `docs/project/integrations/superagent-api-contract.md`
如果某文档不需要更新,交付说明中应明确写 `No documentation changes required.` 并说明原因。涉及接口、安全、权限、审计、酒店隔离或第三方契约时,不能只更新 `PROJECT_STATE.md`
## 9. 当前补救口径
M002 V4 已有大量规则落在当前有效大文档中。短期不做大搬迁,避免打断开发和测试。
后续建议开 `M002-V4-requirement-spec-template-alignment` 文档 checkpoint把近期新增需求整理成模板化 Spec / Change Request包括
- Room Information 多房型、展示模型、Nights / Breakfast / Group Booking Status 和复核白名单。
- Payment 附件安全摘要和前端预览。
- Rooming List 轻量事项卡和确认自动 DEF。
- Trace 普通事项和 EXTRA_BED 字段契约。
- V4 工作台、订单详情和订单事项办理页普通酒店员工用户化展示。
- 单卡可操作态测试数据和 smoke 追踪表。
整理后的 Spec 作为需求入口;现有 M002 V4 大文档继续保留为字段、接口、安全和实现契约。