2.4 KiB
2.4 KiB
06 — 交付通知保留清理与失败可观测闭环
What to build: 系统可以按通知场景计算展示期限和数据保留期限,并在低峰按稳定主键和时间分批删除已超过保留期的通知。无接收人、模板错误、系统告警生成和投递失败具有可追踪、有限重试和安全摘要,既不会无限重试,也不会影响已经提交的资金、审批、套餐或其他业务事实。
Blocked by:
- 01 — 向明确后台账号可靠投递首条站内通知
.scratch/tech-global-audit/issues/01-audit-event-write-loop.md— 01 — 交付不可变 Audit Event 写入闭环.scratch/tech-global-audit/issues/02-integration-log-attempt-loop.md— 02 — 交付可恢复的 Integration Log 尝试闭环
Status: ready-for-agent
架构通道: 主通道为 Infrastructure,辅助通道为简单写 Application。
完整业务边界: 本票收口通知展示期限、数据保留、分批清理、失败分类和统一审计/外部集成可观测接缝。明确不删除 Audit Event、Integration Log、领域流水或 Outbox,不提供用户删除接口,不建设管理员查看他人消息入口,也不改变公共 Relay 的租约算法。
- 套餐临期、审批结果、同步异常和系统告警按约定计算展示与保留期限,审批结果不自动过期,系统告警展示期限不超过允许上限。
- 清理任务按时间和稳定主键小批量删除超过数据保留期限的通知,可中断重跑且只清理通知事实,不级联业务资源或审计记录。
- 暂无接收人记录
no_recipient后成功结束;数据库、队列等瞬时错误按有限策略重试;模板永久缺失达到最大重试后进入失败监控且不写残缺正文。 - 系统告警直接入队时必须携带预先生成的稳定事件 ID,重复执行仍由通知唯一键防重。
- 模板或接收人解析失败、系统告警生成和管理性排查写入统一 Audit/Integration 接缝;普通通知读取和已读只进入 Access Log。
- 日志、监控和审计只记录事件 ID、通知类型、失败类别、计数及安全资源标识,不记录敏感模板数据、完整回调、Token、Secret 或任意长期 URL。
- 测试覆盖各类期限边界、分批清理可重入、无接收人、瞬时失败、永久模板失败、最大重试、系统告警重复入队和业务事实不回滚。