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

8.6 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

  • 严重级别:高
  • 状态:开放
  • 现象: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. 阻塞解除顺序

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

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. 监督结论

当前状态保持:

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。

9. 2026-07-20 Controller 修复进展

  • BLK-CONTROLLER-LEGACY-GITEA-CHECK 已进入独立分支 patch/bugfix/controller-gitea-health-v2r1-20260720 修复;
  • 修复以 /data/aios-gitops/repo.git、配置的 Gitea 仓库路径和三条 V2R1 受控分支为输入;
  • 新状态合同区分本地状态、Gitea 状态、OID 一致性和聚合同步状态;
  • 分支测试、普通 Push、生产备份部署、重启与真实健康输出完成前,本 Blocker 仍保持未解决;
  • Gate A 仍不得启动,发布决策继续为 STOP_PREPRODUCTION。