Files
aios/docs/autonomous-release/ARCHITECTURE.md
T

2.0 KiB
Raw Blame History

AIOS Autonomous Release Candidate 架构

本 Candidate 把规划、工作流、凭据引用、原生会话、证据和发布控制拆成独立边界。它只负责验证约束,不拥有生产授权。

信任边界

  • Owner Approval 的签名和撤销状态来自外部 HSM/KMS 或可信 Approval Plane。Candidate 只有 verifier,没有 signer。
  • Secret Manager V2 只返回 systemd-credential:* 或受控的 Candidate reference,不返回认证正文。
  • OpenClaw、Codex 和 Gitea provider 身份由管理面供应;模拟 provider 永远不能把原生 canary 标成已验证。
  • Writer 只写任务绑定分支和允许路径。生产 main、tag、baseline、registry 和部署不属于 Candidate 权限。

核心模块

  • models.py:TaskPlan、Approval、Credential、Result 和 ReleasePlan 强类型约束。
  • store.py:私有 SQLite、WAL、全同步、schema 检查、事务和原子 step transition。
  • workflow.py:依赖、claim、lease、retry、timeout recovery 和终态。
  • credential.py / secret_manager.py:reference-only 生命周期、补偿撤销、跨任务拒绝和 post-revocation 验证。
  • native_adapters.py:OpenClaw/Codex 原生 provider ID、parent/child tree、status、interrupt、close 和纯文本回执。
  • gitea_canary.py:仅通过 deploy-key provider 的 list/create/delete 操作完成 canary 与撤销验证。
  • evidence.py:落库的哈希链、重启回放、篡改检测和 required-event closure。
  • artifact.py:确定性 tar、逐文件哈希、package closure、链接/特殊文件/敏感标记拒绝。
  • release.py / release_gate.py:部署审批与回滚审批分离,tag object 与 peeled target 分离验证。

会话真实性

以下状态必须分别记录,不能互相替代:

broker_session_verified
openclaw_native_child_session_verified
codex_child_session_verified

Shadow provider 只能证明 Broker 合同和清理路径,不能证明 OpenClaw 或 Codex 原生会话。