docs/test(P19ERP2-5,P19ERP2-6): 收口采购ERP文档矩阵与回归

这个提交包含在:
2026-03-08 23:50:26 +08:00
父节点 69c831d578
当前提交 7fccfc0a4c
共修改 7 个文件,包含 471 行新增和 48 行删除
+12 -4
查看文件
@@ -1,8 +1,8 @@
# 集成边界冻结(P19 / P19+IM-1 / P19+ERP-1)
# 集成边界冻结(P19 / P19+IM-1 / P19+ERP-2)
**快照日期**:2026-03-08
**当前基线**:`P19+IM-1` 与 `P19+ERP-1` 已完成;当前运行时已落地企微群机器人 + 深链 + Outbox 异步派发的一期协同适配,以及 ERP 主数据 Pull / 报销付款凭证切片的一期桥接。
**目标**:在保持核心域稳定的前提下,冻结 ERP / IM / AI / MCP 的长期边界,并记录 IM 一期与 ERP 一期的已实现范围、禁入规则和后续扩展位。
**当前基线**:`P19+IM-1`、`P19+ERP-1` 与 `P19+ERP-2` 已完成;当前运行时已落地企微群机器人 + 深链 + Outbox 异步派发的一期协同适配,以及 ERP 主数据 Pull、报销付款凭证切片、采购双阶段 journal 与归档摘要出站。
**目标**:在保持核心域稳定的前提下,冻结 ERP / IM / AI / MCP 的长期边界,并记录 IM 一期与 ERP 两期的已实现范围、禁入规则和后续扩展位。
## 1. 总体原则
@@ -48,7 +48,7 @@
### 2.4 建议后续专项
- `P19+ERP-1`:主数据同步协议
- `P19+ERP-2`:采购审批结果导出 / 回写协议
- `P19+ERP-2`:采购双阶段 journal 与归档摘要出站
- `P19+ERP-3`:资产台账摘要导出协议
### 2.5 P19+ERP-1 已实现范围
@@ -58,6 +58,14 @@
- 已兼容保留历史 `erp.reimbursement.paid` 派发路径;成功导出后统一回写 `integration_bindings(provider=erp, entity_type=reimbursement_journal)`。
- 已明确 `ERP_SYNC_ENABLED` 与 `erp_sync` feature flag 共同构成 ERP 管理端总闸,任一关闭都必须阻断主数据同步与手动导出。
### 2.6 P19+ERP-2 已实现范围
- 已冻结采购双阶段财务语义:`purchase_request.approved` 自动生成 `purchase_request_commitment` journal,`purchase_order.archived` 首次归档自动生成 `purchase_order_accrual` journal。
- 已新增 `erp.procurement.export` 用于 `purchase_order_archive` 摘要出站;commitment / accrual 仍统一复用 `erp.journal.export`,避免额外拆分出站总线。
- 已为 `purchase_order_archive` 建立“同一条 outbox 覆盖同步”语义:当 `poNo` / `contractNo` / `archivedFiles` 变化时,仅重置 summary 对应 outbox 并覆盖 payload,不重复创建 accrual journal。
- 已在 `integration_bindings` 中落地采购映射:`purchase_request_commitment_journal`、`purchase_order_accrual_journal`、`purchase_order_po`、`purchase_order_contract`;成功派发后回写 ERP 外部编号与最近同步时间。
- 已明确 `IntegrationSyncState` 继续只表示资源级主数据同步状态,不承载采购单据级轨道;采购详情轨道只允许由 `IntegrationOutbox + IntegrationBinding + 当前单据事实` 推导。
- 已将采购 ERP 轨道挂件固定在采购详情 / 归档区:所有可读用户仅查看阶段状态,`integration.manage` 才能查看 ERP 外部编号并执行手动补发 / 重试。
## 3. IM / 协同适配边界
### 3.1 一期已实现能力(P19+IM-1)