docs(aios-v2): 更新监督状态与阻塞处置清单
This commit is contained in:
@@ -0,0 +1,224 @@
|
||||
# AIOS V2R1 监督状态与阻塞处置清单
|
||||
|
||||
- 文档版本:`V2R1C0-candidate`
|
||||
- 快照时间:`2026-07-20 17:03:53 CST`
|
||||
- 候选分支:`integration/aios-v2r1-cto-production-candidate-20260720`
|
||||
- 候选 OID:`634f6b164f5b20372ab9ec8144bbf76df97de335`
|
||||
- 当前决策:`STOP_PREPRODUCTION`
|
||||
- 当前状态:`BLOCKED`
|
||||
|
||||
## 1. 执行摘要
|
||||
|
||||
AIOS V2R1 的核心代码、完整中文文档、任务合同、部署资产和 GitOps 证据机制已经形成。OpenClaw 与 Codex 已经领取任务并向 Gitea 提交监督证据,三个关键分支的本地 OID 与 Gitea OID 已一致。
|
||||
|
||||
当前仍不允许进入预发布,原因不是主体功能缺失,而是安全、签名材料、Candidate 合并、执行来源证明和 Controller 健康检查五项高风险门禁未通过。
|
||||
|
||||
当前禁止:
|
||||
|
||||
- 进入 Gate A–D;
|
||||
- 执行在线 Runtime 联调;
|
||||
- 执行重启恢复和回滚演练;
|
||||
- 合并 `main`;
|
||||
- 创建 Tag;
|
||||
- 正式部署或切换流量。
|
||||
|
||||
## 2. 权威仓库与执行状态
|
||||
|
||||
| 项目 | 当前值 |
|
||||
|---|---|
|
||||
| 权威 Bare Repo | `/data/aios-gitops/repo.git` |
|
||||
| OpenClaw Worktree | 独立且 clean |
|
||||
| Codex Worktree | 独立且 clean |
|
||||
| Gitea Remote | `https://g.cnnetmkt.top/git/aios/aios.git` |
|
||||
| Candidate OID | `634f6b164f5b20372ab9ec8144bbf76df97de335` |
|
||||
| OpenClaw Task OID | `bd2784015d40c328d158cd52ebd8683b6e56b3ad` |
|
||||
| Codex Task OID | `e28245f411dd85ff9384ed595dacc53aab8a91ba` |
|
||||
| 三分支 Gitea 同步 | `local_oid == gitea_oid` |
|
||||
| OpenClaw 状态 | `blocked` |
|
||||
| OpenClaw Heartbeat | 有记录,但 `valid_for_running=false` |
|
||||
| Codex 状态 | `blocked` |
|
||||
| Codex Heartbeat | 新鲜 |
|
||||
| Codex 发布建议 | `STOP_PREPRODUCTION` |
|
||||
|
||||
## 3. 已完成的安全与运行修复
|
||||
|
||||
### 3.1 Gitea 凭据轮换
|
||||
|
||||
已完成:
|
||||
|
||||
- 旧 `owner/openclaw-deploy-cli`、`scope=all` 凭据 live count 为 `0`;
|
||||
- 新凭据:`gitops-bot/openclaw-deploy-cli-v2-20260720`;
|
||||
- 新凭据作用域:`write:repository`;
|
||||
- 凭据文件权限:`root:gitops 0640`;
|
||||
- 令牌值未进入 Git、日志、Evidence 或报告。
|
||||
|
||||
### 3.2 Gitea 与执行服务
|
||||
|
||||
已完成:
|
||||
|
||||
- 验证 Gitea SSH 指纹;
|
||||
- 备份并修复 `known_hosts`;
|
||||
- 恢复 `aios-agent-command-watcher`;
|
||||
- 恢复 `aios-autonomous-controller`;
|
||||
- 两项服务均为 `active`;
|
||||
- OpenClaw/One API 真实模型调用返回 HTTP 200;
|
||||
- OpenClaw/Codex claim、heartbeat、progress、blockers、result、status 已提交并同步 Gitea。
|
||||
|
||||
## 4. 当前开放阻塞
|
||||
|
||||
### 4.1 BLK-OPENCLAW-PLAINTEXT-SECRETS
|
||||
|
||||
- 严重级别:高
|
||||
- 状态:开放
|
||||
- 现象:OpenClaw 受管配置仍发现 3 处 `PLAINTEXT_FOUND`。
|
||||
- 风险:明文 Secret 可能进入配置、日志、命令参数或执行证据。
|
||||
- 解除条件:
|
||||
1. 三处明文内容全部迁移为 SecretRef、systemd Credential、只读 Secret Volume 或仓库外受保护文件;
|
||||
2. 旧值完成撤销和轮换;
|
||||
3. Secret Scanner 复验通过;
|
||||
4. Git 历史、日志和 Evidence 不包含明文。
|
||||
|
||||
### 4.2 BLK-AIOS-V2-SIGNING-MATERIAL-MISSING
|
||||
|
||||
- 严重级别:高
|
||||
- 状态:开放
|
||||
- 现象:`/etc/aios-v2/aios-v2.env` 已存在且权限合规,但 `/etc/aios-v2/openclaw-signing-material.bin` 不存在。
|
||||
- 风险:无法验证 OpenClaw 签名命令、Key ID 与真实 Runtime 身份链。
|
||||
- 外部受信输入:批准的签名材料。
|
||||
- 解除条件:
|
||||
1. 签名材料由批准的 Secret/Key 交付链安装到仓库外;
|
||||
2. 权限为 `0600` 或更严格;
|
||||
3. 运行用户可读;
|
||||
4. Key ID 与材料匹配;
|
||||
5. execute/status 路径完成真实签名验证;
|
||||
6. 不输出材料内容、Hash 或长度特征。
|
||||
|
||||
### 4.3 BLK-CANDIDATE-NOT-MERGED
|
||||
|
||||
- 严重级别:高
|
||||
- 状态:开放
|
||||
- 现象:OpenClaw Task 尚未包含当前 Candidate,`merge-base --is-ancestor` 未通过。
|
||||
- 风险:后续测试和部署不能证明当前 Candidate 可用。
|
||||
- 解除条件:
|
||||
1. 保护已有 `.agent/` Evidence;
|
||||
2. 普通 Merge 当前 Candidate 到 OpenClaw Task;
|
||||
3. 解决冲突并由 Codex 审查;
|
||||
4. 更新所有 Evidence 中的 `candidate_commit`;
|
||||
5. 本地与 Gitea OID 再次一致。
|
||||
|
||||
### 4.4 BLK-OPENCLAW-RUN-PROVENANCE-MISSING
|
||||
|
||||
- 严重级别:高
|
||||
- 状态:开放
|
||||
- 现象:OpenClaw 写工具被 `run_provenance_missing` 策略拒绝。
|
||||
- 风险:无法证明写操作来自已领取、已授权、可审计的执行会话。
|
||||
- 外部受信输入:允许七个 `.agent` JSON 写入的 OpenClaw Provenance 授权。
|
||||
- 解除条件:
|
||||
1. 创建带任务 ID、执行器实例、Claim OID、Candidate OID 和授权主体的 Run Provenance;
|
||||
2. Provenance 与七个 `.agent` JSON 写入范围绑定;
|
||||
3. 权限仅覆盖当前任务分支和 Evidence 路径;
|
||||
4. 由 Owner 或批准策略签发;
|
||||
5. 写入、Commit、Push 和审计链验证通过。
|
||||
|
||||
### 4.5 BLK-CONTROLLER-LEGACY-GITEA-CHECK
|
||||
|
||||
- 严重级别:高
|
||||
- 状态:开放
|
||||
- 现象:Controller 健康检查仍硬编码旧 `aios-v23`,并返回 `gitea=false`、`branch_sync=false`。
|
||||
- 风险:健康状态与当前 AIOS V2R1 仓库不一致,可能错误阻止或错误放行发布。
|
||||
- 解除条件:
|
||||
1. 移除旧仓库硬编码;
|
||||
2. 从配置读取权威仓库、Remote 和目标分支;
|
||||
3. 健康检查分别报告 `local_sync`、`gitea_sync` 和 `oid_match`;
|
||||
4. 不再把本地 Bare Repo 更新当作完全同步;
|
||||
5. 增加回归测试;
|
||||
6. 更新中文文档和追踪矩阵。
|
||||
|
||||
## 5. 模型审查策略修正
|
||||
|
||||
`gpt-5.3-codex-spark` 是子 Agent 审查的优先推荐模型,不是强制依赖。
|
||||
|
||||
执行规则:
|
||||
|
||||
1. Spark 可用时优先使用;
|
||||
2. Spark 不可用时,使用模型注册表中已批准、已启用且优先级最高的合适模型;
|
||||
3. 必须记录实际 `model_id`、模型名称和审查结果;
|
||||
4. 禁止冒充使用不存在的模型;
|
||||
5. 只有完全没有可用审查模型时,模型能力才构成阻塞。
|
||||
|
||||
当前五个 Spark 角色的独立结论一致为“禁止生产放行”,该结论作为已有审查证据保留;后续复验可使用任何满足上述规则的批准模型。
|
||||
|
||||
## 6. Gate 状态
|
||||
|
||||
| Gate | 当前状态 | 说明 |
|
||||
|---|---|---|
|
||||
| Gate A:文档与设计 | 未运行 | Candidate 未合并到任务,阻塞未解除 |
|
||||
| Gate B:代码与测试 | 未运行 | 不能基于不完整任务分支测试 |
|
||||
| Gate C:预发布 | 禁止 | Secret、签名、Provenance、Controller Health 未通过 |
|
||||
| Gate D:发布审查 | `STOP_PREPRODUCTION` | Codex 明确停止预发布 |
|
||||
| Gate E:生产发布 | 禁止 | 未满足任何生产 Gate |
|
||||
|
||||
## 7. 阻塞解除顺序
|
||||
|
||||
必须按以下顺序处理,避免重复测试和错误放行:
|
||||
|
||||
```text
|
||||
1. 清除 3 处明文 Secret
|
||||
↓
|
||||
2. 安装批准的签名材料
|
||||
↓
|
||||
3. 签发最小范围 Run Provenance
|
||||
↓
|
||||
4. 修复 Controller 旧仓库健康检查
|
||||
↓
|
||||
5. Merge 当前 Candidate 到 OpenClaw Task
|
||||
↓
|
||||
6. 校验 local_oid == gitea_oid
|
||||
↓
|
||||
7. 执行 Gate A:文档—代码检查
|
||||
↓
|
||||
8. 执行 Gate B:单元与集成测试
|
||||
↓
|
||||
9. 执行离线全量验收
|
||||
↓
|
||||
10. 执行在线 Runtime 联调
|
||||
↓
|
||||
11. 执行重启恢复与回滚
|
||||
↓
|
||||
12. Codex 重新审查并给出发布建议
|
||||
```
|
||||
|
||||
## 8. 外部受信输入
|
||||
|
||||
目前仅有两项确实需要外部受信输入:
|
||||
|
||||
1. **批准的签名材料**
|
||||
- 不得通过聊天、Git 或普通日志传递;
|
||||
- 必须通过批准的 Secret/Key 交付链安装。
|
||||
|
||||
2. **OpenClaw Run Provenance 授权**
|
||||
- 仅允许当前任务所需的七个 `.agent` JSON 写入;
|
||||
- 必须绑定任务、执行器实例、Claim、Candidate 和分支;
|
||||
- 不得授予通用生产写权限。
|
||||
|
||||
其余阻塞均可由 OpenClaw、Codex、Windows ChatGPT Owner 和 GitOps 运维流程处理。
|
||||
|
||||
## 9. 监督结论
|
||||
|
||||
当前状态保持:
|
||||
|
||||
```text
|
||||
BLOCKED
|
||||
STOP_PREPRODUCTION
|
||||
```
|
||||
|
||||
虽然三分支已经同步 Gitea、凭据已经最小权限轮换、执行服务已经恢复,但当前尚无足够证据允许执行 Gate A–D 或进入预发布。
|
||||
|
||||
任何后续状态更新必须同步:
|
||||
|
||||
- OpenClaw `.agent/status.json`、`blockers.json`、`progress.json`、`result.json`;
|
||||
- Codex 对应监督 Evidence;
|
||||
- 本文档;
|
||||
- `05-TRACEABILITY-MATRIX.md`;
|
||||
- `AIOS-V2R1-PRODUCTION-CANDIDATE.md`;
|
||||
- 如涉及架构或发布语义,更新 ADR。
|
||||
Reference in New Issue
Block a user