aps-agent/docs/adr/0003-data-scope-and-authori...

2.2 KiB
Raw Blame History

ADR-0003:数据作用域与权威数据源

  • 状态:已接受
  • 日期:2026-09-22
  • 决策人:技术负责人
  • 相关:任务表 A0.4(决策 D2);设计文档《实施设计》1.5

背景

引擎会在开发或部署期被替换,业务系统会被拆出去独立演进。数据归属如果跟着变,每次调整都要迁数据。所以要在重构开始前把两件事定死:会话的作用域怎么划分,以及每类数据的权威方是谁。

选项

选项 做法 代价 不选的理由
A 只做项目内共享 所有会话归属于项目 简单 个人临时提问、调研无处安放
B 个人与项目并存,都可写 两种作用域一视同仁 灵活 个人会话能发起写操作时,确认与审计缺少项目归属
C 并存但个人只读 个人会话用于查询与调研;写操作必须在项目会话内 多一条判定规则 选定

结论

选 C。理由:写操作要过确认、留审计、归集证据,这三件事都要求项目归属;只读的个人会话既保留便利,也不产生无归属的写操作。

同时定下权威数据源:

数据 权威方
会话与消息、上下文检查点 平台(应用服务)
执行记录、确认记录、审计 平台(Core)
引擎原生状态(内存上下文、线程) 对应引擎,仅用于同引擎恢复
客户端本地 JSONL 离线副本,冲突以服务端为准
业务数据(订单、主数据、排产结果) 业务系统(APS)

影响

  • 对代码:会话表加 scope 字段;权限判定收在单一入口,不在各处写 if
  • 对任务:A1.7 定义的事件模型是界面契约;A3.7 会话落库写明"平台检查点为权威、引擎原生状态只作同引擎恢复"
  • 对文档:设计文档《实施设计》1.5「谁是权威数据源」
  • 不这么做的后果:个人会话能写时,审计链缺主体归属;引擎原生状态若被当作业务真相,换引擎就要迁数据

遗留

  • APS 独立后要自带项目与租户概念(任务 B2)
  • 既有审批数据里有在途状态,处置方式见 ADR-0005