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

107 lines
7.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# A0-G 设计评审:材料包与议程
- **状态**:待评审
- **日期**:2026-09-23
- **评审对象**:A0 边界与选型冻结(里程碑)
- **对应分支**:`rewrite/platform`,含 ADR-0007(提交 `de8d044`)
- **通过标准**:① 七份 ADR 结论无异议,或有异议并已记录处置方式;② 遗留项清单每项有责任人与时限;③ 评审通过后可直接进入 A0.10(文档入库)与 A1(脚手架)
## 1 材料包清单
| # | 材料 | 位置 | 状态 |
| --- | --- | --- | --- |
| 1 | 架构设计 | [飞书文档](https://scneju2wtbd7.feishu.cn/docx/DPHSdeVtAo8bLExzbufcpRZ3nAb) | 已发布,9 节 |
| 2 | 实施设计 | [飞书文档](https://scneju2wtbd7.feishu.cn/docx/SNW8dLae7ozvBVxY7CDc2pLSnEe) | 已发布,10 节 |
| 3 | ADR-0001 ~ 0007 | `docs/adr/` | 已提交,7 份均为「已接受」 |
| 4 | 术语与边界一页纸 | `docs/glossary.md` | 已提交 |
| 5 | 资产盘点表 | [Base · A0.8 资产盘点](https://scneju2wtbd7.feishu.cn/base/UTkYbMacdaz6O1sxzsEcd3BTnne) | 26 条,**26/26 已确认** |
| 6 | 任务分解与状态 | Base · 任务总表(113 条) | 进行中 |
| 7 | 切换策略 | ADR-0005 + 任务 A0.2 | 已定 |
| 8 | 决策台账 D1 ~ D11 | Base · 任务总表 | 全部已完成 |
| 9 | 遗留项清单 | 本文第 5 节 | 待逐条认领 |
| 10 | 评审结论模板 | `docs/review/a0-gate-conclusion.md` | 待填 |
## 2 ADR 一览
| 编号 | 决定 | 状态 |
| --- | --- | --- |
| [0001](../adr/0001-tech-stack-and-repo.md) | 原地重写 + 孤儿分支,提交历史从零开始 | 已接受 |
| [0002](../adr/0002-engine-provider-deployment.md) | 首版 Provider 进程内运行,Core 按 execution 注入短期凭据 | 已接受 |
| [0003](../adr/0003-data-scope-and-authority.md) | 个人会话只读,写操作必须在项目会话内;权威数据源分工 | 已接受 |
| [0004](../adr/0004-desktop-and-local-capabilities.md) | 桌面端 Electron + 本地能力边界 | 已接受 |
| [0005](../adr/0005-cutover-strategy.md) | 直接切换,不并行、不迁移、不保留旧库 | 已接受 |
| [0006](../adr/0006-engine-as-subprocess.md) | 两个引擎都以长驻子进程运行 | 已接受 |
| [0007](../adr/0007-storage-and-consistency.md) | 单机 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)