Files
junhong_cmp_fiber/.scratch/tech-global-audit/issues/02-integration-log-attempt-loop.md
2026-07-22 15:58:28 +09:00

1.9 KiB
Raw Blame History

02 — 交付可恢复的 Integration Log 尝试闭环

What to build: 外部调用和未实际发出的同步尝试都能以稳定 Integration ID 建立可恢复事实,并通过受控条件更新进入明确终态。入站回调在业务处理前保存脱敏摘要和幂等标识,出站响应未知时保留未知结论而不伪装成普通失败。

Blocked by: .scratch/tech-public-foundation/issues/01-public-migration-ownership-and-gates.md — 01 — 建立公共迁移所有权与检查门禁

Status: ready-for-agent

架构通道: 主通道为 Infrastructure辅助通道为 Application + Port/Adapter。

完整业务边界: 本票收口 Integration Log 模型、Writer、执行态到终态的条件更新、入站摘要和未发送结果语义。明确不接管 Gateway、支付、企微或运营商的业务状态机不把外部交互记录作为业务权威状态。

  • Integration Log 支持 provider、方向、operation、外部单号、资源、触发来源/场景/序列/尝试、计划与开始时间、结果、渠道摘要、脱敏请求响应摘要、耗时、状态变化标志和关联 ID。
  • 方向固定为 inbound/outbound;公开终态至少覆盖成功、失败、未找到、无效载荷、忽略、合并、限频、提前完成和取消,并返回对应中文名称。
  • 实际外部调用前持久化稳定尝试身份,完成后使用预期状态条件更新;并发完成、重复回调或重复消费不能改写既有终态。
  • 请求已发出但响应未知时记录明确的未知结论和恢复策略,不自动把具有副作用的请求当成普通失败盲目重发。
  • 入站回调先保存脱敏摘要、内容哈希和幂等标识;原始密文、完整正文、签名、附件和密钥不进入普通记录。
  • PostgreSQL 集成测试覆盖出站成功、明确失败、响应未知、未发送终态、入站回调、重复回调、条件更新冲突和 Audit Event 关联。