26 KiB
需求与验收目标
本文件定义阶段 A 的范围、非目标与验收口径:需求定义要交付什么,验收标准定义怎样证明完成。以下事实以本文件为唯一出处:
US-01~US-15(三级标题定义)、OPS-1~OPS-4(注册表定义);- 需求覆盖与依赖关系。
代码入口与参数取值不在本文件:前者见 reference.md「模块与代码入口」,后者见其参数表。前提、不变量、契约与偏差见 specification.md;机制、航班域与静态参考数据见 implementation.md。工程纪律(工具链、测试设施、提交规范)以根 AGENTS.md 为唯一出处。
1. 范围与非目标
阶段 A 闭合:US-01~US-14、OPS-1~OPS-4。
本版本主要新增能力:从入站 SIS 消息解析、校验并发布静态参考数据(US-13),供 admin-api 从处理后的业务数据库读取(US-14)。
非目标:
- 航班当前态只存自有 PG;不引入 Redis、阶段 A 的 ES 投影、新业务库、并行主泵或分布式锁。
- 共享 MySQL 只做契约内读写与回填;不建表、不增列、不迁移、不写共享历史表(
C-14)。 - 生产保持单活动实例;不承诺端到端恰好一次、跨
FLID顺序或未经验证的 Oracle 11g 支持。 US-15未启用前遵守D1:历史写入未确认成功时航班清场删除 0 条。- 不生成上游业务报文,不替代 CIIMS/AODB,不提供 AODB 主数据编辑能力。
- 本网关不调用 admin-api,也不从 admin-api 拉取、补全或合并任何数据;admin-api 只从本网关处理后的 PostgreSQL(或通过适配验证的 Oracle)读取。
2. 阶段 A 用户故事
US-01 可靠采集共享信箱
目标:上游继续向 CMINMSGS 落信,本系统持续、可恢复地采集,不要求上游改投递方式。
验收标准
- 按配置周期、ID 升序、有限批次采集信箱行;扫描谓词以 implementation.md「收报与水位」为准(按 ID 区间,不以处理标记为谓词)。接收层只入队,不解析业务、不回填已处理标记。
- 按信箱 ID 幂等建立 PG
PENDING;重复扫描、并发兼容入队和进程重启都不能重置已有终态。 - 快路径用持久水位,本批 PG 入队全部确认后才推进水位。
- PG 不可用或批次中途失败时不改信箱标记;恢复后补建遗漏,记录失败次数与扫描进度。
- 较小 ID 迟提交、ID 有空洞、兼容入口先入队较大 ID 时,必须遵守经
Q2确认的发现与顺序协议;不能用「最终会重扫」冒充严格 FIFO。
前置:共享库读契约;Q2 决定严格顺序的端到端验收;水位与扫描谓词口径以 implementation.md「收报与水位」为准。
US-02 兼容 HTTP 注入报文(KEEP)
目标:联调工具通过 POST /cminmsgs/send 提交 XML,得到真实的信箱接收结果。
验收标准
- 支持
text/xml、application/xml、text/plain,默认 UTF-8;空报文、超过请求体上限(见C-28)的请求和畸形 XML 返回规范错误,不落信。XML 校验禁用 DTD、外部实体与外部资源访问。 - 信箱确认落信后返回 ID;PG 入队失败不把已落信伪装成未接收,由
US-01补建。信箱写入未确认时不返回成功。 - 目标为兼容
ResponseDto;固定成功/失败样例、HTTP 状态码、响应媒体类型和错误码表后加入契约测试,见Q3。成功只承诺信箱落信,不承诺业务处理或下游完成。 - 生产保持内网信任边界,由网关限制来源并审计;外露或跨网络必须先落实认证,不能把免密入口直接暴露。
目标响应体示例(数字和错误码仅作示例,错误码表见 Q3):
{"is_success": true, "body": 12345}
{"is_success": false, "err_code": "<code>", "err_msg": "<detail>"}
前置:US-01 补建能力;Q3。HTTP 基础格式校验不替代 US-03 的业务解码。
US-03 严格按序、幂等地执行管道
目标:报文失败和重试不造成航班状态倒序,也不重复产生副作用。
实施拆分:调度与时钟 → 安全解码及路由 → 身份绑定 → 状态应用与 PG 提交。先用假处理器验证管道,不等 US-05 全部实现。
验收标准
- 只取最小未完成 ID,
PENDING / FAILED均占队头;退避未到期不得越过。维护作业由独立线程执行,不参与消息 FIFO;作业必须有界,且不得因争用资源使已到期消息无限饥饿。 - 安全解码 XML,至少覆盖 META、SCHD、FLOP、参考应答与忽略类路由;合法但能力未支持是
UNSUPPORTED,不能一律归为非法报文。保留原文以支持诊断和回放。 - 解码后首次绑定
SNDR|TYPE|STYP|SEQN;冲突转SKIPPED并记录原 ID;自身重试保留绑定。生产按PARAM:msgx.identity.include-day-boundary配置(当前口径不含日期边界);更改算法须先确认Q11。 MALFORMED直接DEAD;CODEC_ERROR / UNSUPPORTED / INFRA按次数和退避处理,耗尽转DEAD(EXHAUSTED)。不能无限重试未实现类型,也不能立即当非法报文丢弃。- 终态判据只有尝试上限(
PARAM:msgx.pipeline.max-attempts),没有按时间的毒丸;调度判断注入Clock。人工重放的可重放范围以Q6决定的R_keep下界为准。 - 主泵在同一 PG 事务提交航班主表/明细、事件与处理结果;终态回填意图通过
US-09同事务保存。任一步失败整体回滚;提交后只重试外部回填,不重复生成业务事件。 - 决策、事务与落库的职责边界以 implementation.md「消息、身份与决策」与
INV-17为准;本条验收面是:失败只在持有消息上下文的边界落账,中断向上传递,不作为普通失败吞掉。 - 权威存储不可用或未完成恢复时停止业务处理;不能把「整个状态丢失」误判为「单航班不存在」而批量成功结束增量报文。
前置:US-01;Q1 已定单库方向,Q6 决定 R_keep 下界(重放窗口)。数据库迁移只落自有库。
US-04 明确忽略非业务报文(KEEP)
目标:无需处理的报文有可追踪的终结结果,不制造无效重试与死信。
验收标准
- 解码 META 后、处理器分派前,大小写不敏感匹配
TYPE-STYP或TYPE-*;基线为LDM-* / EROR-*,不混用ERROR。REGN与RSTA属US-13的参考数据入口,不得按忽略规则截断。转SKIPPED前必须已完成身份绑定(US-03、INV-9),忽略报文照常绑定身份。 - 命中后转
SKIPPED,记录ignored:<rule>和计数;不更新航班、不创建业务通知。 - 通过
US-09保存回填意图;命中、未命中、大小写和重扫均有测试。合法忽略报文不应因MsgKind尚不能表达它而先解码失败。
前置:US-03 解码/终态接口、US-09。
US-05 应用 ADFT 与 FLOP(KEEP + FIX)
目标:增量报文正确更新航班及主/共享关系,并生成符合现役语义的通知。
验收标准
- 动态子类型以 SIS
SIS:3.19~SIS:3.43的 25 类为权威;逐类字段、空标签、方向与处理例外见 implementation.md「动态运行事件」。SIS 未定义但 legacy 处理的类型只作待对拍候选,按Q8定案;RESP/DNLD 走US-06。 - 每个启用子类型必须有「输入与前态 → 目标状态 → 终态与事件」golden,并覆盖字段缺失、显式清空、重复报文和不存在/已删除航班。未知子类型必须按
UNSUPPORTED失败,不能进入通用合并。 - 对按 KEEP 规则需忽略的不存在航班,以
SUCCEEDED无副作用结束,并由US-09回填;ADFT 建航班等行为按各类型矩阵执行。航班当前态以自有 PG 为唯一权威,重启即恢复,不存在 Redis 全损后白名单无法找回的损坏路径。 - 共享航班更新与删除级联语义以 implementation.md「删除与重建」为规范(共享航班通知、主航班
MAFL更新、级联删除、原子变更;不出现主已删、子残留);本条目验收实现不偏离该规范,目标不存在时幂等成功。 - ADFT/FDEL 的值相等比较与半状态禁止规则见 implementation.md「删除与重建」。
- PSDT 只更新消息携带的机位分配;登机桥编码只按 SIS 消息中的
ABTM.ABDG处理,不从 admin-api 查询或派生。 - 方向、截断与未映射字段必须符合「动态运行事件」;当前实现偏差由
G-FLOP-DIRECTION、G-FLOP-UNMAPPED与G-FLOP-SEMANTICS统一登记,不得静默丢弃或误处理。
前置:US-03;Q1、Q8、Q14。
US-06 导入 RESP/DNLD 日计划快照
目标:主动下发和请求应答使用同一套全量计划处理,迟到应答不覆盖新状态。
| 报文 | 路由 | 请求状态 | 无匹配时 |
|---|---|---|---|
SCHD-DNLD |
ScheduleProcessor | 不更新请求 | 不要求开放请求 |
SCHD-RESP |
匹配守卫后进入 ScheduleProcessor | 成功提交时匹配 RQFD → DONE | SKIPPED、审计,禁止更新快照 |
SCHD-ADFT |
US-05 增量处理器 |
不更新请求 | 不适用 |
验收标准
- RESP/DNLD 共用流式解析、整包校验和规范化;校验失败不发布半包,旧快照保持可用。
- RESP 仅匹配未过期、已发送的开放 RQFD;
DTTM < SENT_AT、已过期、已被替代或无匹配时,不写业务状态,记录跳过原因。 - 在自有 PG 单事务内,批处理写入已校验的
FLIGHT_SCHD航班状态与资源明细;本次日计划中未出现的航班不因此被删除。 - 在同一 PG 事务中提交
FLIGHT_SCHD变更、MSG_EVENT待发通知与PROC_STATE(SUCCEEDED);匹配 RESP 同事务完成请求并置DONE;提交后信箱回填由扫描承接。 - 相同报文重放不二次写入或重复发事件;单事务崩溃整体回滚,重放幂等。
前置:US-03、US-08 请求登记/匹配基础;Q1、Q5、Q13。
US-07 可靠、有序地投递 Kafka
目标:状态应用完成后投递通知;重试可识别、不乱序、不静默丢失。
验收标准
KAFKA:msg按目标内EVENT_ID顺序发送,确认后才标SENT;队头退避时不跳过,发送有超时上限。KAFKA:schd只通过flushSchd聚合,聚合周期与批上限见 reference;同一 FLID 取批内最新状态,成功确认覆盖对应原事件,失败保持批次可恢复并退避,耗尽可见为DEAD。- 外部接收成功、本地确认失败或进程重启后允许重发;事件标识跨重发稳定,消费者有去重约定,不宣称端到端恰好一次。
- 当前
KAFKA:msg与KAFKA:schd的分区键均为FLID,schd 逐FLID发送最新状态,不再是 legacy 的多航班数组。msg是否需按SNDR分区、发送粒度与去重标识的放置以Q4定案为准;定案前不宣称单分区之外的顺序保证。 - 生产强制
D3的三项生产者约束(取值见 reference.md 参数表);Broker 支持幂等生产协议并完成实际验证,不允许非幂等降级通过验收。 - 普通/聚合发送失败、确认丢失、批次标记中断和目标阻塞均有测试;DEAD 保留记录并告警。
前置:US-03 事件提交;Q4、现网 Broker 验证。wire 不兼容的标识字段不能直接加到现役载荷。
US-08 发起并跟踪 15 类 AODB 请求
目标:区分请求登记、出站落信、等待、完成与超时,不把过期应答应用到新请求。
实施拆分:请求登记/出站补偿 → 匹配/超时 → 14 类参考应答;RQFD 快照效果由 US-06 集成验收。
验收标准
- 覆盖 14 类 RQRD 参考请求和 1 类 RQFD-NONE;逐类名称、编码和映射见
Q8。 - 先持久化
PENDING与出站意图;COUTMSGS 确认落信后关联其 ID 并标SENT,不宣称对方已发送。落信成功而 PG 未确认时可恢复,不能盲目重发。 - 同类开放请求最多一个,新请求使旧请求
EXPIRED,并发登记不产生两个开放请求。从确认落信的发送时间起算,超时值按Q5;PENDING/SENT均不得成为永不超时的死分支。 - 优先按已确认的 SEQN 回显匹配;无回显的降级匹配按
Q5明确风险,只接受已发送开放请求且DTTM ≥ SENT_AT。统一转换为可比较的时间,不能把报文日期数字直接与 epoch 毫秒比较。 - 迟到、无匹配或已关闭请求的应答不得更新数据,转
SKIPPED并审计。参考应答成功写入REF_MASTER后,与请求完成、处理终态和事件在 PG 边界内保持所需原子性。 POST /schd/sync复用请求入口,采用 24 小时制和非空/区间校验;响应明确已登记还是已落信,不承诺计划已更新。
前置:US-01、US-03;Q5、Q8、Q14、出站信箱去重契约。请求基础不依赖 US-06。
US-09 持久化补偿回填信箱
目标:本地处理终态最终反映到共享信箱,不因共享库故障回滚已完成业务。
验收标准
- PG 终态与回填意图同事务保存;所有终态路径都经过统一提交边界,不只覆盖成功路径。事务回滚时不得留下可执行回填意图。
- 提交后由后台执行回填,主泵不等待共享库;失败按持久记录退避,重启继续执行,不重新执行已完成业务。
- SUCCEEDED、规则忽略、身份重复、DEAD 均需回填处理时间;PENDING/FAILED 禁止回填。具体 STATUS 编码按
Q7确认,内部终态不能直接当作外部字段值。 - 重复补偿效果幂等,保留稳定的完成时间与审计;重放后的新处理结果不能被旧回填任务覆盖。非法报文缺 META 时也有明确回填方式。
- 影子模式禁写,双跑仅一个系统持有标记写权;暴露 PG 终态、回填状态、积压、最老年龄与持续失败告警。
前置:US-03 终态接口;Q7、共享库更新权限。覆盖四类终态、事务回滚、重复补偿和重放竞争;生命周期与超期补写以 implementation.md「中断恢复」「回填」为准,清除口径以 specification.md「契约」为准。
US-10 安全重放与故障处置
目标:运维能定位失败、限定恢复范围,并了解重放对当前航班状态的影响。
验收标准
- 按 ID、错误类、时间查询次数、错误、关联事件与回填状态;重放前预览范围,记录操作者、原因和逐项结果。
- 仅
CODEC_ERROR / UNSUPPORTED / INFRA / EXHAUSTED的 FAILED/DEAD 允许申请重放;MALFORMED 与其他不允许项不改状态,返回跳过原因。 - 重置 attempts/nextAttemptAt,保留身份、原始入队时间和错误审计;可重放范围受
Q6决定的R_keep下界(原文保留窗口)约束。重新入队仍按 ID 处理,但不承诺已执行过的后续消息自动撤销。 - DEAD 之后可能已有新状态,必须预检版本与覆盖风险;不安全时拒绝直接重放,改用经批准的隔离重建或恢复流程,禁止无保护的全量
replayAll生产入口。 - 操作有认证、授权、范围限制与审计;死信、持续补偿失败、队列年龄越界有告警和处理 Runbook。
前置:US-03、US-09 的恢复状态;Q6、OPS-1/OPS-2 的安全与可观测基础。
US-11 归档自有库终态记录
目标:控制自有 PG 在线表规模,不丢未完成工作、不破坏去重与恢复;不是清理共享信箱。
验收标准
- 终态记录在了结后经过的时间(
UPDATED_AT)达到PARAM:msgx.proc-state.archive-after时列为归档候选;PENDING/FAILED禁止归档,回填未了结的终态行不进入候选。 - 归档到自有 PG
PROC_STATE_HST,主表保留STATE='ARCHIVED'的去重影子行(仅IDENTITY_KEY与MSG_ID),使归档后同业务身份再次到达仍可去重;MSG_EVENT的历史目标与保留规则由投递清理独立处理,不构成归档判据。 - 归档写入与主行置
ARCHIVED在同一自有库事务内完成,按候选时的状态条件复查,影响 0 行即整体回滚;重复执行幂等,失败保留源记录并报告计数。 - 本系统不写共享 MySQL
CMINMSGS_HST、不清理外部信箱;由库方按Q9执行的清除与历史归档见 specification.md「契约」。原文可用性与重放保留期由Q6/Q7关联确认。
前置:US-03、US-09;US-07 提供事件终态规则,US-10 提供恢复保留要求。不依赖 US-15。自有记录归档见 implementation.md「生命周期与清除」。
US-12 查询实时航班(KEEP)
目标:调用方读取与当前权威状态一致的实时航班视图。
验收标准
- 保留
GET /all/flights,直接从自有 PostgreSQLFLIGHT_SCHD查询,排除共享航班(MAID != NULL,定义见 implementation.md「字段与集合」);不改写业务状态。 - 固定响应样例、空结果、排序、大小限制及一致性时点。现役未分页时不能无声改为只返回第一页;分页或响应结构变更按
Q3决定。 - 依赖异常不能伪装为空数组成功;影子只读影子状态,入口有约定的访问控制、限流与审计。
前置:Q1、Q3;所查询的 US-05/US-06 状态发布能力。
US-13 从 SIS 消息刷新静态参考数据
目标:消费 AODB 经共享信箱投递的 SIS 消息,形成业务可用的本地静态参考数据;刷新失败仍保留上次可用版本。
验收标准
- 通过
CMINMSGS消费 SISSIS:3.1~SIS:3.14的 13 类参考数据与资源状态消息;类别、RTYPE/RKEY与结构见 implementation.md「静态参考数据」。这是独立于US-08请求入口的消息处理能力,不另建「参考专用第二 PG」。 - 静态参考数据只能来自上述 SIS 消息,禁止从 admin-api 拉取、补全或合并;admin-api 仅作为处理结果的下游读取方。
- 按
(RTYPE,RKEY)幂等写REF_MASTER,记录消息来源、刷新时间和批次;单类完整校验后发布,失败不暴露半批。 - 一类失败不破坏其他类或该类旧版本;
DNLD/RESP的全量替换与ADD/UPD/DEL的增量合并严格按消息语义执行。 - 影子默认不主动刷新生产数据;需要参考样本时显式导入隔离副本。
SIS:3.1~SIS:3.13按STYP区分全量与增量;RSTA遵守SIS:3.14的单条DNLD与多条RESP语义,不把DNLD当作全量替换。参考数据的空标签表示「数据不可用」而非删除,不得套用航班动态的空标签合并规则。
前置:US-01、US-03、Q8。必须复用统一的入站消息管道、身份绑定和处理终态。
US-14 向 admin-api 提供数据库读取结果
目标:admin-api 从本网关处理后的业务数据库读取航班状态与静态参考数据,网关与 admin-api 之间不存在反向调用。
验收标准
- 数据流固定为「SIS 消息 → 本网关处理 → PostgreSQL / 经验证的 Oracle → admin-api 只读」;禁止实现 admin-api → 本网关的 HTTP、数据库或缓存取数路径。
- admin-api 只能读取已原子提交的航班状态与静态参考数据,不得看到参考数据半批,也不得成为网关处理成功的前置条件。
- 对 admin-api 的物理表、视图和查询契约按
Q8定案;不得据本需求改动共享 MySQL schema。
前置:US-13、Q1、Q8。
US-15 历史航班清场(DEFERRED,阶段 B)
历史存储确认成功后,才允许删除对应实时航班;逐条隔离坏数据,不能删除写历史失败的集合。判史规则与保留期、业务时区、历史写入与删除事件之间的恢复协议需在启用前完成 golden 对拍。
阶段 A 不依赖 ES,不启用 PROJECTION_REBUILD。历史清理作业在历史存储未接通(PARAM:msgx.history.history-store-enabled 关闭)时删除 0 条;红线见 implementation.md「生命周期」。
3. 运行与切流验收
| 编号 | 必须交付的能力 | 验证证据 |
|---|---|---|
| OPS-1 单写者与启动安全 | 生产缺真实适配器、误用 stub、未启用必需管道时拒启;第二活动写者不能启动,失去写权后不得继续写;中断与停机能正确退出。 | 配置拒启、双实例/失去写权及停机测试。单靠副本数配置不算运行期保护。 |
| OPS-2 可观测与安全 | 真实依赖健康、队列/队头年龄、投递/回填滞后、积压与最老未处理信龄、DEAD 和一致性异常有指标、告警与处理入口;敏感管理操作有访问控制,日志不泄漏口令或完整敏感报文。 | 故障注入触发真实告警,消息到事件可关联;日志出口断开不阻塞业务。 |
| OPS-3 影子隔离 | 自有数据库/schema、topic、服务注册身份隔离;输入只读水位或回放,禁生产回填、真实出站和误注册。 | 配置与集成测试证明生产信箱、状态、topic 未被影子修改。 |
| OPS-4 切流与恢复 | 对拍不少于 7 天,未解释业务字段差异为 0,DLQ 积压为 0,MSG_EVENT 最老滞留 < 5 秒;切流后 48 小时观察,24 小时内具备经演练的回滚能力。 |
明确负载与统计口径的对拍报告;Runbook 含停写、排空/水位、状态恢复、写权交接和失败回退,不能只回滚程序版本。 |
上述阈值沿用既有需求基线,需在真实环境提供证据。自有库备份、报文保留和完整状态重建需要恢复演练;本地事务不能承诺任意数据库灾难下 RPO=0,也不承诺未经演练的「一键无损回滚」。
4. 需求覆盖与依赖
4.1 覆盖矩阵
| 需求 | 必须闭合的能力 | 约束 / 偏差锚点 |
|---|---|---|
US-01 |
按 ID 有限采集、持久水位、幂等入队、空洞与中断恢复 | INV-2~INV-5、Q2 |
US-02 |
安全兼容注入,落信确认与业务完成分离 | C-28、Q3、G-COMPAT-HTTP |
US-03 |
严格 FIFO、安全解码、身份去重、事务提交与持久重试 | INV-3、INV-6~INV-10、INV-17、Q6、Q11、Q15 |
US-04 |
忽略报文在身份绑定后无业务副作用终结并回填 | INV-8、INV-9 |
US-05 |
ADFT、FDEL、SIS 25 类 FLOP、完整航班态及主/共享关系 | INV-11~INV-22、Q8、Q13、Q14、Q16、G-FLOP-IDEMPOTENT、G-FLOP-DIRECTION、G-FLOP-UNMAPPED、G-FLOP-SEMANTICS、G-MAFL、G-SRVT-VIPF |
US-06 |
DNLD/RESP 整包快照、请求守卫、迟到应答隔离 | INV-12、INV-15、INV-19、Q5、Q13、G-RESP-GUARD |
US-07 |
Kafka 至少一次投递、同 FLID 保序、schd 聚合、失败与清理 |
D3、INV-10、C-29、Q4 |
US-08 |
14 类 RQRD、1 类 RQFD、出站落信、开放请求唯一、匹配与超时 | C-23、C-24、Q3~Q5、Q8、Q10、Q14、G-REQ-TRACK、G-REQ-OPEN-UNIQUE、G-REQ-TRACK-RETENTION |
US-09 |
终态回填意图、后台补偿、四结果、放弃与人工恢复 | INV-7、INV-8、C-5~C-8、Q7、Q9;C-6 不成立时闭合 G-REPLAY-CHANNEL |
US-10 |
可查询、可预览、白名单重放、风险预检、授权与审计 | CLM-3、Q6 |
US-11 |
已了结终态归档、去重影子、竞态复查及独立保留期 | D4、C-14、C-16、G-PROC-HST、G-HST-RETENTION |
US-12 |
从 PG 权威态查询实时主航班,固定契约且依赖失败不伪装为空 | INV-11、Q3 |
US-13 |
SIS 消息中的 13 类参考数据与资源状态:完整校验、原子发布、失败保旧 | Q8、G-REF-DATA |
US-14 |
admin-api 从本网关处理后的 PG / 经验证 Oracle 只读消费,不形成反向依赖 | Q1、Q8、G-REF-DATA |
US-15 |
阶段 B 历史归档成功后清场及删除事件恢复 | D1、INV-18、Q9、G-FLIGHT-HIST-RETENTION |
OPS-1 |
真实适配器、配置与单写者拒启,失权停写,安全停机 | D2、PRE-5 |
OPS-2 |
真实健康、积压/失败指标、告警、受控处置与敏感信息保护 | reference.md |
OPS-3 |
影子数据库、topic、服务身份隔离并禁生产写 | PRE-1 |
OPS-4 |
对拍、切流观察、恢复演练及完整回退规程 | C-1~C-29 |
4.2 契约依赖索引
Q 的定义与完整表述只在本文件之外一处:specification.md「待确认事项台账」。此处只列与验收直接相关的依赖:
US-01/US-09的验收依赖Q2(发现完整性)与C-8(清除前提);US-06/US-13依赖Q8(逐类清单)与Q13(字段缺失语义);US-14依赖Q1与Q8(下游数据库读取契约);US-08依赖Q3(HTTP 契约)、Q4(Kafka wire)、Q5(请求匹配)、Q10(出站契约);US-10依赖重放白名单与CLM-3(重放安全);US-15依赖Q9(清除授权与 DDL)。
业务日期/日计划采用 Asia/Shanghai;持久化与比较使用明确的时间类型和转换规则,不靠服务器默认时区,也不直接比较不同单位的数字。
5. HTTP 工具边界
| 端点 | 范围 |
|---|---|
POST /cminmsgs/send |
US-02,保留接收兼容性。 |
POST /schd/sync |
US-08,保留并修正参数校验;不等同于同步完成快照。 |
GET /all/flights |
US-12,保留查询语义。 |
POST /kafka/topics/{name}/msgs |
不进生产;开发工具若保留,另行限制 topic allowlist。 |
GET /flights/migrate |
不做,属于 legacy 一次性迁移工具。 |