Files
aios/docs/aios-v2/07-SUPERVISION-STATUS.md
T

9.2 KiB
Raw Blame History

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

  • 严重级别:高
  • 状态:已解决
  • 根因:旧插件只有进程内 runId -> sender Map,没有 Owner-signed Schema、持久 Store 和限定 Git Writer。
  • 修复:部署 aios-tenant-boundary rc2,增加 Ed25519 issuer/store、Run/Sender/OID/期限绑定、一次性 permit 与专用 aios_evidence_write。
  • 验证:Provenance openclaw-v2r1-20260721T031523Z 完成 Heartbeat 写入、Commit、普通 Push 和审计;README.md 越权请求被拒绝;Node 测试 9/9。

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:文档与设计 允许启动 五项高风险 Blocker 已解除,等待正式执行
Gate B:代码与测试 等待 Gate A 等待正式执行候选测试
Gate C:预发布 禁止 等待 Gate A、Gate B、离线全量验收和在线联调
Gate D:发布审查 STOP_PREPRODUCTION Codex 明确停止预发布
Gate E:生产发布 禁止 未满足任何生产 Gate

7. 阻塞解除顺序

必须按以下顺序处理,避免重复测试和错误放行:

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. 外部受信输入

五项高风险 Blocker 当前均不再需要新的外部受信输入。签名材料继续留在受保护边界,Provenance 仍须按 Run 由 Owner 限时签发,不得转化为长期通用权限。

9. 监督结论

当前状态保持:

PARTIAL
STOP_PREPRODUCTION

三分支已同步 Gitea,五项高风险 Blocker 已解除,允许执行 Gate A、Gate B 和离线全量验收;在三项正式结果与后续在线验收形成证据前,不进入预发布。

任何后续状态更新必须同步:

  • OpenClaw .agent/status.json、blockers.json、progress.json、result.json;
  • Codex 对应监督 Evidence;
  • 本文档;
  • 05-TRACEABILITY-MATRIX.md;
  • AIOS-V2R1-PRODUCTION-CANDIDATE.md;
  • 如涉及架构或发布语义,更新 ADR。

10. 2026-07-20 至 2026-07-21 Owner 修复实况

  • Worktree:OpenClaw 与 Codex 独立、目标分支唯一检出、无 lock、无 prunable;现有 Evidence 已先备份。
  • Candidate:ba7669c3b49f98cf3500af6ea966ba0db472ff3b 已普通 Push 到 Gitea,并以 --no-ff 合入 OpenClaw 任务分支。
  • Secrets:OpenClaw 原生 audit 从 3 项明文降为 plaintext=0、unresolved=0、shadowed=0、legacy=0;Gateway Token 已轮换,OneAPI 实际 agent 调用通过。
  • Signing:命令合同已从名实不符的 HMAC 改为真实 Ed25519;openclaw-v2r1-candidate-ed25519 材料由 Owner 在受保护边界生成,运行用户权限检查、sign/verify 和篡改拒绝通过。
  • Controller:修复分支 patch/bugfix/controller-gitea-health-v2r1-20260720 的 OID 6188da26453505dacde9d6d298191437164c8d27 已部署;12 项测试通过,active worktree detached + clean,gitea=true、branch_sync=true、oid_match=true、sync_status=fully_synced。
  • Provenance:插件 rc2 已声明原生工具合同并通过 runtime doctor;Owner-signed Store、一次性 permit、七路径 Writer、普通 Push、审计与越权拒绝均通过。首次部署检查脚本曾两次因读取错误 JSON 层级触发自动回滚,旧插件与配置均成功恢复,修正断言后部署成功。

因此当前结论仍为 STOP_PREPRODUCTION,但 Gate A 已允许启动;后续结论必须基于 Gate A、Gate B、离线 Acceptance、在线 Runtime、重启恢复和正式回滚演练的最新证据。