Policy 对象
Policy 是 Huoban 的印坊规矩:它决定什么允许、什么禁止、什么必须经过审批。
Policy 必须与 Profile 分离。Profile 影响判断,Policy 控制行为边界。
规则中心
Policy 不应主要按具体命令匹配,例如git push 或 rm -rf。核心规则应围绕:
- capability
- side effect
- trust level
- runtime mode
- artifact type
- checkpoint requirement
spec 字段
| 字段 | 要求 | 说明 |
|---|---|---|
rules | 必填 | 策略规则数组。 |
rules[].effect | 必填 | allow、deny、requireApproval。 |
rules[].when | 必填 | 匹配条件。 |
defaults | 可选 | 默认行为,例如 unknown side effect 是否拒绝。 |
severity | 可选 | 风险等级。 |
side effects
标准 side effects 包括:readFilewriteFiledeleteFileexecuteCommandmodifyGitIndexmodifyGitHistorynetworkAccesssendMessagepublishRemotespendMoneyaccessSecretinstallDependencychangePermission
最小示例
status
常见 conditions:PolicyValidatedPolicyAppliedApprovalRequiredPolicyDeniedUndeclaredSideEffectObserved
设计约束
declaredSideEffects 是声明,不等于事实。runtime 还必须记录 observedSideEffects,并在超出声明时触发 condition。