Skip to content

sp policy

When agents use this: Validate and apply YAML policy changes; CI gates on validate.

Synopsis

Manage declarative policies: recording, mock, compare.

Structure

text
sp policy <kind> <action>

<kind>: recording | mock | compare

ActionDescription
listList policy documents
get <id>Get policy by id
applyCreate or update (-f file or stdin)
delete <id>Remove policy
validateValidate without save (-f)
export <id>Write YAML to stdout or -o
importImport YAML file (-f)
diffDiff local file vs server export (-f, --against <id>)
gateValidate all YAML files in a directory (CI)

Examples

bash
sp policy recording list --json
sp policy recording validate -f policies/recording-prod.yaml --json
cat policies/recording-prod.yaml | sp policy recording validate -f - --json
sp policy recording apply -f policies/recording-prod.yaml --json
sp policy recording diff -f policies/recording-prod.yaml --against <policy-id> --json
sp policy gate --dir policies/ --json
sp policy gate --changed-only policies/recording-prod.yaml policies/mock-prod.yaml --json
sp policy recording delete <policy-id> --confirm --json
sp policy mock export policy-id-1 -o mock.yaml
sp policy compare get compare-global --json

JSON output (validate)

json
{
  "ok": true,
  "command": "policy recording validate",
  "data": {
    "valid": true,
    "errors": [],
    "warnings": []
  }
}

REST mapping

Recording (/api/recording-policies)

ActionMethodPath
listGET/policies
getGET/policies/{id}
apply (JSON)POST/policies
apply (YAML)POST/policies/yaml (Content-Type: text/yaml)
deleteDELETE/policies/{id}
validatePOST/policies/validate
exportGET/policies/{id}/yaml

Mock (/api/mock-policies)

Same path pattern under /api/mock-policies.

Compare (/api/compare-rules)

ActionMethodPath
listGET/policies
getGET/policies/{id}
applyPOST/policies
validatePOST/policies/validate
exportGET/policies/{id}/yaml
templatesGET/templates, /functions (v2 helpers)

Schema

CLI 策略索引策略 YAML 指南

零代码改动 · 全上下文可见性 · 成本优化