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.
 |