aps-agent/docs/review/a0-gate-review.md

7.1 KiB
Raw Blame History

A0-G 设计评审:材料包与议程

  • 状态:待评审
  • 日期:2026-09-23
  • 评审对象:A0 边界与选型冻结(里程碑)
  • 对应分支:rewrite/platform,含 ADR-0007(提交 0981004)
  • 通过标准:① 七份 ADR 结论无异议,或有异议并已记录处置方式;② 遗留项清单每项有责任人与时限;③ 评审通过后可直接进入 A0.10(文档入库)与 A1(脚手架)

1 材料包清单

# 材料 位置 状态
1 架构设计 飞书文档 已发布,9 节
2 实施设计 飞书文档 已发布,10 节
3 ADR-0001 ~ 0007 docs/adr/ 已提交,7 份均为「已接受」
4 术语与边界一页纸 docs/glossary.md 已提交
5 资产盘点表 Base · A0.8 资产盘点 26 条,26/26 已确认
6 任务分解与状态 Base · 任务总表(113 条) 进行中
7 切换策略 ADR-0005 + 任务 A0.2 已定
8 决策台账 D1 ~ D11 Base · 任务总表 全部已完成
9 遗留项清单 本文第 4 节 待逐条认领
10 评审结论模板 docs/review/a0-gate-conclusion.md 待填

2 ADR 一览

编号 决定 状态
0001 原地重写 + 孤儿分支,提交历史从零开始 已接受
0002 首版 Provider 进程内运行,Core 按 execution 注入短期凭据 已接受
0003 个人会话只读,写操作必须在项目会话内;权威数据源分工 已接受
0004 桌面端 Electron + 本地能力边界 已接受
0005 直接切换,不并行、不迁移、不保留旧库 已接受
0006 两个引擎都以长驻子进程运行 已接受
0007 单机 SQLite + 服务端 PostgreSQL,七条写法约定 已接受

ADR 写完不再修改。评审上若有人不同意某条,处理方式是新写一份 ADR 取代,并在两份里互相标注取代关系(docs/adr/README.md 的约定),不改原文。

3 决策台账

# 结论 出处 影响到
D1 Provider 首版进程内运行,凭据由 Core 按 execution 注入 ADR-0002 A2、A5、B5
D2 个人会话只读,写操作必须在项目会话内 ADR-0003 A1.7、A3.7
D3 引擎在开发或部署期二选一,不中途切换 架构设计 5.2 A3.3、A3.10
D4 桌面端用 Electron,不投入 Tauri 评估 ADR-0004 A6、B6
D5 网页默认走系统浏览器;Agent 读网页走 web.fetch 能力 架构设计 7 A7
D6 Sub-agent 首版只做只读调研 实施设计 9 A8
D7 直接切换:不并行、不迁移、不保留旧库,旧代码留 legacy/main 供查证 ADR-0005 A0.2、B2
D8 平台用 TS/Node 从零重写;APS 保持 Python 搬迁适配 ADR-0001 A1 ~ B7
D9 权限归业务系统,身份映射与确认卡归平台;不做转派、委托、多人计数、角色策略 架构设计 4.1 A4、A4.4
D10 两个引擎都以长驻子进程运行,平台只认 AgentRuntime 接口 ADR-0006 A3.10、A3.11
D11 单机 SQLite、服务端 PostgreSQL,一套方言无关 schema + 七条写法约定 ADR-0007 A1.1、A3、B2

4 盘点结论摘要

26 条资产按口径分布:

分类 条数 含义
保留 2 设计与思路直接沿用(黄金测试、文档体系)
借鉴 15 思路可用、实现重写(权力矩阵、审计链、唯一执行入口、求解引擎、柔性排产、世界状态、知识库、外部集成、契约镜像、桌面壳…)
改写 7 逻辑对、实现要重做(网关、持久层、认证与租户、主流程编排、插件总线、客户端界面、桌面壳)
丢弃 2 不再需要(旧意图识别、合成数据生成器)

新系统落点:

落点 带走什么
平台 Core 策略与权力矩阵、唯一执行入口、审计链(对应 server/core 的策略、执行、审计三块)
平台应用与客户端 三栏布局与视图清单、桌面壳的进程守护与离线升级、契约与类型镜像
APS 侧(搬迁适配,保持 Python) 求解引擎、柔性排产、订单与主数据、世界状态与检查点、工艺路线模型、数据导入
不带走 旧意图识别器、合成数据集生成器、旧静态前端代码(页面清单留作 B6 范围参照)

两条需要拍板的已定:持久层拆成平台 7 张 / APS 6 张;工艺路线模型归 APS,平台不建模板库。

5 遗留项清单

# 遗留项 出处 建议责任人 时限 阻塞
1 Pi 扩展桥的鉴权细节(nonce 轮换周期、端口预留策略) ADR-0006 平台侧 A3 设计时 A3.11
2 引擎进程复用策略(一会话一进程,还是一进程多会话) ADR-0006 平台侧 观察实际进程数后 无(首版不做)
3 SQLite 驱动最终确认(better-sqlite3 与 node:sqlite 二者择一) ADR-0007 平台侧 A1.1 A1.1
4 单机版备份与导出入口 ADR-0007 客户端 A6 A6
5 APS 侧数据库选型 ADR-0007 APS 侧 B2 B2
6 跨进程 Provider 的启动条件 ADR-0002 平台侧 A8 或更晚 无
7 legacy/main 备份分支的创建与只读设置 ADR-0001 / A0.2 平台侧 切换前 强推动作
8 孤儿历史不减小仓库体积,是否另立仓库 ADR-0001 技术负责人 A0-G 当场 无
9 《实施设计》1.4 补 SQLite 文件路径与主键、时间约定 ADR-0007 平台侧 A0.10 A0.10

6 议程(60 分钟)

时段 内容 主讲 产出
0–5 目标与通过标准 主持人 确认议程
5–15 分层与边界(架构设计 1–4) 架构 无异议,或记录异议
15–25 引擎适配与 Provider 契约(架构设计 5–6;ADR-0002 / 0006 / 0007) 平台 同上
25–35 数据作用域与切换(ADR-0003 / 0005;盘点结论) 平台 同上
35–45 桌面端与存储(ADR-0004 / 0007) 客户端 同上
45–55 遗留项逐条认领 主持人 责任人 + 时限
55–60 结论与下一步 主持人 评审结论表

7 评审后动作

  1. 有异议的 ADR:新写一份取代,旧文标「已取代」,不改原文
  2. 结论写入任务总表的 A0-G 记录,并回填各 ADR 的「相关」栏
  3. A0.10:设计文档、ADR、术语表随分支首个提交入库,同时补《实施设计》1.4
  4. A1 启动:A1.1 脚手架(该工作包依赖 ADR-0001 与 ADR-0007)