docs(spec): 领域边界闭合 spec 与配套文档修正
新增 docs/spec-boundary-closure.md:自包含 spec,内联展开所有 PRE/INV/CLM/D/C/US/PARAM/Q/错误分类/表结构/时间常数序引用, 覆盖 G-KAFKA-D3 / G-IGNORE / G-EVENT-RETENTION / G-BACKFILL-BACKOFF / G-PROC-HST 五个缺口的实现决策、验收与测试决策。 同步修正 design.md(归档段落改条件 DELETE、ARCHIVED 影子行、 SENT_AT 描述)与 user-stories.md US-11(AC1 改 UPDATED_AT、 AC2 删投递判据、AC3 补条件回滚语义)。
This commit is contained in:
@@ -216,9 +216,9 @@
|
||||
|
||||
**验收标准**
|
||||
|
||||
1. 终态记录在入队后经过的时间(`ENQUEUED_AT`)达到 `PARAM:msgx.proc-state.archive-after` 时列为归档候选;PENDING/FAILED 禁止归档。
|
||||
2. 归档到自有 PG `PROC_STATE_HST`;关联 `MSG_EVENT` 的历史目标和保留规则一并设计。仍有未完成投递、回填或恢复依赖时,不移除所需记录。
|
||||
3. 迁移与删除在自有库事务内完成,重复执行幂等;失败保留源记录并报告计数。归档后同信箱 ID/业务身份再次到达,仍能按约定去重。
|
||||
1. 终态记录在**了结后**经过的时间(`UPDATED_AT`)达到 `PARAM:msgx.proc-state.archive-after` 时列为归档候选;`PENDING`/`FAILED` 禁止归档,回填未了结的终态行不进入候选。
|
||||
2. 归档到自有 PG `PROC_STATE_HST`,主表保留 `STATE='ARCHIVED'` 的去重影子行(仅 `IDENTITY_KEY` 与 `MSG_ID`),使归档后同业务身份再次到达仍可去重;`MSG_EVENT` 的历史目标与保留规则由 `G-EVENT-RETENTION` 独立处理,不构成归档判据。
|
||||
3. 归档写入与主行置 `ARCHIVED` 在同一自有库事务内完成,按候选时的状态条件复查,影响 0 行即整体回滚;重复执行幂等,失败保留源记录并报告计数。
|
||||
4. 本系统不写共享 MySQL `CMINMSGS_HST`、不清理外部信箱;由库方按 `Q9` 执行的清除与历史归档见 [contracts.md](contracts.md)「保留与清除」。原文可用性与重放保留期由 Q6/Q7 关联确认。
|
||||
|
||||
**当前基础与落点**:`PROC_STATE_HST` 未建表,也没有归档处理记录的作业;先确定去重记录保留与关联策略,再补迁移与归档中断测试。航班历史清理(`HistorySweepJob`,属 US-15 红线范围)与本文档处理记录归档不是同一件事,不能混为一谈。
|
||||
|
||||
Reference in New Issue
Block a user