# 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//`, 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.