107 lines
7.1 KiB
Markdown
107 lines
7.1 KiB
Markdown
# A0-G 设计评审:材料包与议程
|
||
|
||
- **状态**:待评审
|
||
- **日期**:2026-09-23
|
||
- **评审对象**:A0 边界与选型冻结(里程碑)
|
||
- **对应分支**:`rewrite/platform`,含 ADR-0007(提交 `0981004`)
|
||
- **通过标准**:① 七份 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 | 遗留项清单 | 本文第 4 节 | 待逐条认领 |
|
||
| 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) |