28 lines
1.2 KiB
Markdown
28 lines
1.2 KiB
Markdown
# Policy Schema Export Automation
|
|
|
|
This utility generates JSON Schema documents for the Policy Engine run contracts.
|
|
|
|
## Command
|
|
|
|
```
|
|
scripts/export-policy-schemas.sh [output-directory]
|
|
```
|
|
|
|
When no output directory is supplied, schemas are written to `docs/schemas/`.
|
|
|
|
The exporter builds against `StellaOps.Scheduler.Models` and emits:
|
|
|
|
- `policy-run-request.schema.json`
|
|
- `policy-run-status.schema.json`
|
|
- `policy-diff-summary.schema.json`
|
|
- `policy-explain-trace.schema.json`
|
|
|
|
The build pipeline (`.gitea/workflows/build-test-deploy.yml`, job **Export policy run schemas**) runs this script on every push and pull request. Exports land under `artifacts/policy-schemas/<commit>/`, are published as the `policy-schema-exports` artifact, and changes trigger a Slack post to `#policy-engine` via the `POLICY_ENGINE_SCHEMA_WEBHOOK` secret. A unified diff is stored alongside the exports for downstream consumers.
|
|
|
|
## CI integration checklist
|
|
|
|
- [x] Invoke the script in the DevOps pipeline (see `DEVOPS-POLICY-20-004`).
|
|
- [x] Publish the generated schemas as pipeline artifacts.
|
|
- [x] Notify downstream consumers when schemas change (Slack `#policy-engine`, changelog snippet).
|
|
- [ ] Gate CLI validation once schema artifacts are available.
|