Files
msgexchange-v2/docs/README.md
T
windyboy 50e0e7f389 docs: 修复跨文档冲突与外部规范口径
不动代码、配置与迁移,只收敛文档口径。

- 登记两项外部冲突:Q13 日计划缺失可选字段(SIS §3.16 注释 4 要求删除本地值,
  与现行"未携带字段保留"相反)、Q14 主/共享删除顺序与 EROR 回报义务
  (SIS §1.6.1-1.d / §4.8);航班级"缺席不删"补 SIS §3.16 注释 1 依据。
- flight-state §3.3 补主/共享关联按 FLID 值比较的规则。
- message-lifecycle:§11 水位不变量与 §5.1 空洞老化自洽;删除过期的 updatedAt
  判据,统一为 PROCESSING_STARTED_AT + 可注入 Clock;§5.1/§6 补 SIS 480 分钟
  Expiry 与 legacy 1 天保留窗,作为 Q2/Q6/Q7 的取值参照。
- architecture/design:明细表口径统一为 8 张资源明细表 + FLIGHT_ROUTE_POINT;
  Oracle 11g 断言收敛为待适配验证;配置键按 application.yml 实际名称加 msgx. 前缀。
- user-stories:Q2/Q6/Q11 补外部锚点并收窄 Q11 到重置周期 + SNDR 值域;
  新增 Q13/Q14 并挂入 US-05/06/08 前置;五个独立事实改为引用 message-lifecycle §1。
- README/legacy:文档基线改为代码基线 eea1120 + git log 指引;补"外部协议冲突以
  SIS 为准"的维护规则;修正 /all/flights 过滤措辞;术语统一为「回填意图」。

验证:文档间章节引用 0 缺失、markdown 0 断链、SIS 引用小节全部存在、
Q1–Q14 正文与 Q 表双向可解析、代码块配对正常。
2026-09-10 20:54:01 +08:00

17 lines
1.8 KiB
Markdown

# 设计文档入口
当前实现核对日期:2026-09-10(代码基线 `eea1120`)。文档哈希不在此行回填,以 `git log -- docs/` 为准。文档中的目标能力不等于已实现;测试通过不等于现场已发布。
| 文档 | 唯一职责 |
|---|---|
| [architecture.md](architecture.md) | 系统边界、模块职责、FIFO、单写者、数据库归属。 |
| [design.md](design.md) | 管道流程、处理/投递状态、恢复与运行配置。 |
| [message-lifecycle.md](message-lifecycle.md) | 信箱消息全生命周期的唯一现行规范:五事实、状态、水位、回填与清除。 |
| [flight-state.md](flight-state.md) | 航班设计的唯一现行规范:当前态、表关系、事务流程和开放问题。 |
| [user-stories.md](user-stories.md) | US/OPS 验收目标,不能用“当前基础”替代完成证据。 |
| [旧系统行为基线](legacy/msgexchange-api-legacy-user-stories.md) | msgexchange-api 现役行为基线与 KEEP/FIX 来源,Q8 对拍参考;不作为 v2 设计依据。 |
| [legacy/decision-flight-state-history.md](legacy/decision-flight-state-history.md) | 已撤销方案的存档说明;现行规则仍以 `flight-state.md` 为准。 |
| [SIS 规范](legacy/SIS_AODB_RMS-V0.1.md) / [XSD](legacy/unisysaodbsis.xsd) | 外部协议事实;即使在 legacy 目录仍是兼容依据。 |
维护规则:架构写约束,设计写机制,规范(`flight-state.md``message-lifecycle.md`)写唯一规则,故事写目标,Plane 跟踪工作。不要在多份文档复制阶段清单;同一规则只允许一处定义,其他文档引用章节号。外部协议事实([SIS 规范](legacy/SIS_AODB_RMS-V0.1.md)、[XSD](legacy/unisysaodbsis.xsd))与现行文档冲突时以 SIS 为准;legacy 行为基线只描述现役行为。