name: governance-config description: 管理 planner 约定与 properties 的审批变更、版本快照、历史保留和回滚。
Governance Config
规则
- 未经审批人(默认 master)批准,不得修改 planner 关键配置。
- 每次配置变更必须执行“变更前快照 + 变更后快照”,并使用时间戳命名。
- 维护
current与history:变更成功后更新current指针,并将快照写入历史列表。 - 支持按版本号或时间戳回滚;回滚也必须走审批、审计和通知流程。
- 所有变更必须记录操作人、变更内容、审批结果和执行结果。
- 提供当前配置与历史版本查询能力。
- 支持权限管理,仅授权人员可发起变更、审批、回滚。
- 支持自动化测试/验证,验证失败不得发布为当前版本。
- 检测到未经批准的高危变更时,触发告警并回滚到最近稳定版本。
- 生成配置变更报告(每六小时一次),用于审阅和追踪。
- 运行态
primary.md在STARTED后进入核心字段冻结状态,未经审批不得修改核心字段。 - 运行态
primary.md的冻结变更视为高风险操作,必须关联审批单与审计记录。
高危操作
- 任何未经审批的配置变更。
- 任何未经审批的版本回滚。
- 任何未经审批的越权(break-glass)操作。
- 任何未按规定流程执行的配置变更或回滚。
- 任何未记录审批和审计信息的配置变更或回滚。
- 任何直接导致系统发生安全风险提示的配置变更或回滚。
- 任何未及时通知相关人员的配置变更或回滚。
- 任何未保留完整证据链的配置变更或回滚。
- 任何未与 audit-guard 协同实现审批和回滚的配置变更或回滚。
- 运行态
primary.md在STARTED状态下被直接修改核心字段且无审批记录。
何时使用
- planner 约定或 properties 需要变更。
- 需要保留变更历史和审批记录。
- 需要快速回滚到稳定版本。
- 需要审计变更过程和责任人。
- 需要支持越权(break-glass)操作并保留完整证据。
- 需要与 audit-guard 协同实现高危操作的审批和回滚。
- 需要与 agent-orchestrator 协同实现 planner-worker-tester-audit 流程中的配置管理和版本控制。
- 需要支持多环境(如测试、预生产、生产)的配置管理和版本控制。
- 需要向其他系统提供当前配置和历史版本查询能力。
路径描述
- 入口需求运行文件路径:
$AGENT_ORCHESTRATOR_STATE_DIR/planner/primary.md(默认~/.openclaw-state/agent-orchestrator/planner/primary.md);示例模板:templates/coordination/planner/primary.example.md。 - 当前配置文件路径:
templates/coordination/planner/config/current.md。 - 历史快照目录路径:
templates/coordination/planner/config/history。 - 配置变更报告目录路径:
templates/coordination/audit/reports。 - 审批单目录路径:
templates/coordination/audit/approvals。
命名示例
- 快照命名格式:
planner-config-YYYYMMDD-HHMMSS.md。 - 快照示例:
planner-config-20240601-120000.md。 - 回滚后新快照示例:
planner-config-20240601-123000.md。 - 报告命名示例:
YYYYMMDD-HH.md。
版本回滚示例
- 当前版本:见“命名示例”中的快照示例。
- 发现问题,回滚到上一个稳定版本(同命名规则)。
- 生成回滚审批单,记录回滚原因和审批人。
- 审批通过后执行回滚,并生成新的快照(同命名规则)。
- 记录回滚操作和结果到审计日志。
配置变更审批示例
- 提交配置变更请求,描述变更内容和理由。
- 生成审批单,通知审批人。
- 审批人审核变更请求,批准或拒绝。
- 根据审批结果执行变更或拒绝变更,并记录审批结果到审计日志。
- 生成新的配置快照,并通知操作人员。
配置变更报告示例
- 每六小时生成一次配置变更报告,包含变更内容、变更人、审批结果、执行结果等信息。
- 报告格式为HTML便于审阅和追踪。
- 报告存储路径见“路径描述”,并提供只读查询和下载功能。
- 报告内容应清晰、详细,便于审阅人员理解变更的背景、过程和结果。
- 报告应包含变更的影响评估和后续跟踪建议,以便审阅人员能够全面评估变更的合理性和潜在风险。
- 报告应与审计日志打通,提供变更的完整证据链,以支持后续的审计和追踪。
快照存储规则
- 快照存储路径见“路径描述”,确保快照文件的集中管理和易于访问。
- 快照文件命名规则见“命名示例”,确保唯一性和可追溯性。
- 快照文件内容包括变更前后的配置差异、变更人、变更时间、审批记录等详细信息。
- 快照文件为只读,禁止修改已存储的快照文件。
- 定期清理过期的快照文件,保留最近90天的快照记录,确保存储空间的合理使用。
配置变更通知规则
- 当配置变更请求提交时,立即通知相关审批人和操作人员。
- 当配置变更审批通过或拒绝时,立即通知操作人员,并记录审批结果到审计日志。
- 当配置变更执行完成时,立即通知相关人员,并记录变更结果到审计日志。
- 配置变更通知内容包括变更内容、变更人、审批结果、变更结果等详细信息。
- 配置变更通知方式可以包括邮件、消息系统(如 Slack、Telegram、WhatsApp)和系统日志。
- 告警事件(如未经批准变更)必须即时通知并附带处置结果。
配置变更审批规则
- 配置变更请求必须包含变更内容、变更理由、预期影响等详细信息,以便审批人能够全面评估变更请求。
- 配置变更审批人应具备相关权限和知识,能够评估变更请求的合理性和潜在风险。
- 配置变更审批流程应明确审批人、审批时间、审批结果等信息,并记录到审计日志中。
- 配置变更审批结果应明确批准或拒绝,并提供相应的理由和建议,以便操作人员能够理解审批结果并采取相应的行动。
- 高风险变更应支持多级审批(按风险等级确定审批层级)。
- 审批结果必须可追踪、可查询,并与通知链路打通。
primary核心字段冻结策略
- 冻结触发条件:运行态
primary.md(默认~/.openclaw-state/agent-orchestrator/planner/primary.md)的status=STARTED。 - 冻结字段范围:
primary_id、title、scope、constraints、acceptance_criteria、priority、start_signal。 - 冻结后允许变更字段:补充说明、执行备注、风险备注(不得改变原始需求语义)。
- 若需修改冻结字段,必须先生成审批单并记录变更原因、影响评估、回滚方案。
- 未审批直接修改冻结字段时,默认触发告警并回滚到最近稳定快照。