docs: 记录 #154 根级部署编排验收

ila
2026-08-31 16:23:12 +08:00
parent f71d21296b
commit 77af1bb5a7
+23
@@ -351,3 +351,26 @@ v1 使用 HTTPS 上的 Ed25519 短期请求绑定 JWS。每个部署实例拥有
Sense/Bell 使用 Go 标准库 Ed25519,Brain 冻结 `cryptography==50.0.1`。固定跨语言向量证明 Go/Python 可互相验签。#151 只提供身份、注册表、传输策略及可注入 replay 接口;#152/#153 才注册业务 endpoint,并必须使用各产品独立的持久原子 replay store验证重启,不能共享数据库。
<!-- machine-identity-v1:end -->
<!-- coordination-deployment-v1:start -->
## 可选协调部署层
工单 #154 已于 2026-08-31 验收。根级协调部署层位于 `deploy/coordination/**` 与 `scripts/runtime/coordination/**`,它只负责声明、校验和调用三个独立产品入口:
```text
仓库外 coordination.json
├─ Sense 独立包 / env / DB / 端口 / 数据 / 日志 / 机器身份
├─ Brain 独立包 / env / 端口 / 数据 / 日志 / 机器身份
└─ Bell 独立包 / env / DB / 端口 / 数据 / 日志 / 机器身份
↓
coordination-common.ps1
├─ 封闭清单与隔离断言
├─ 单端或选择性组合 start/stop/status
├─ 健康检查、版本和清单摘要
└─ PID + 启动器 + 命令令牌归属保护
```
`coordination.schema.json` 定义版本 `yovision.coordination/v1`;`coordination.example.json` 只提供不可投产占位。公共实现 `coordination-common.ps1` 解析外部 env 数据但不执行其内容,校验产品命令位于各自包内、秘密路径位于仓库和包外,并拒绝路径、端口、数据库身份、JWT、Cookie 或机器身份复用。三个薄入口脚本分别调用公共实现,BAT 只透传参数和退出码。
协调层不拥有业务数据或契约,不共享用户表、JWT、Cookie、数据库内部模型、摄像头凭据或产品实现。它不替代 `contracts/**`,也不让任一产品成为另一产品的启动前置;connector 可关闭,三端核心能力继续独立运行。根级运行状态位于清单指定的 `runtime_root\state`,产品日志仍归各自日志目录和产品入口管理。
<!-- coordination-deployment-v1:end -->