Add Policy DSL Validator, Schema Exporter, and Simulation Smoke tools
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				Docs CI / lint-and-preview (push) Has been cancelled
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	Docs CI / lint-and-preview (push) Has been cancelled
				
			- Implemented PolicyDslValidator with command-line options for strict mode and JSON output. - Created PolicySchemaExporter to generate JSON schemas for policy-related models. - Developed PolicySimulationSmoke tool to validate policy simulations against expected outcomes. - Added project files and necessary dependencies for each tool. - Ensured proper error handling and usage instructions across tools.
This commit is contained in:
		
							
								
								
									
										217
									
								
								docs/schemas/policy-run-status.schema.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										217
									
								
								docs/schemas/policy-run-status.schema.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,217 @@ | ||||
| { | ||||
|   "$schema": "http://json-schema.org/draft-04/schema#", | ||||
|   "title": "PolicyRunStatus", | ||||
|   "type": "object", | ||||
|   "additionalProperties": false, | ||||
|   "properties": { | ||||
|     "SchemaVersion": { | ||||
|       "type": "string" | ||||
|     }, | ||||
|     "RunId": { | ||||
|       "type": "string" | ||||
|     }, | ||||
|     "TenantId": { | ||||
|       "type": "string" | ||||
|     }, | ||||
|     "PolicyId": { | ||||
|       "type": "string" | ||||
|     }, | ||||
|     "PolicyVersion": { | ||||
|       "type": "integer", | ||||
|       "format": "int32" | ||||
|     }, | ||||
|     "Mode": { | ||||
|       "$ref": "#/definitions/PolicyRunMode" | ||||
|     }, | ||||
|     "Status": { | ||||
|       "$ref": "#/definitions/PolicyRunExecutionStatus" | ||||
|     }, | ||||
|     "Priority": { | ||||
|       "$ref": "#/definitions/PolicyRunPriority" | ||||
|     }, | ||||
|     "QueuedAt": { | ||||
|       "type": "string", | ||||
|       "format": "date-time" | ||||
|     }, | ||||
|     "StartedAt": { | ||||
|       "type": [ | ||||
|         "null", | ||||
|         "string" | ||||
|       ], | ||||
|       "format": "date-time" | ||||
|     }, | ||||
|     "FinishedAt": { | ||||
|       "type": [ | ||||
|         "null", | ||||
|         "string" | ||||
|       ], | ||||
|       "format": "date-time" | ||||
|     }, | ||||
|     "DeterminismHash": { | ||||
|       "type": [ | ||||
|         "null", | ||||
|         "string" | ||||
|       ] | ||||
|     }, | ||||
|     "ErrorCode": { | ||||
|       "type": [ | ||||
|         "null", | ||||
|         "string" | ||||
|       ] | ||||
|     }, | ||||
|     "Error": { | ||||
|       "type": [ | ||||
|         "null", | ||||
|         "string" | ||||
|       ] | ||||
|     }, | ||||
|     "Attempts": { | ||||
|       "type": "integer", | ||||
|       "format": "int32" | ||||
|     }, | ||||
|     "TraceId": { | ||||
|       "type": [ | ||||
|         "null", | ||||
|         "string" | ||||
|       ] | ||||
|     }, | ||||
|     "ExplainUri": { | ||||
|       "type": [ | ||||
|         "null", | ||||
|         "string" | ||||
|       ] | ||||
|     }, | ||||
|     "Metadata": { | ||||
|       "type": "object", | ||||
|       "additionalProperties": { | ||||
|         "type": "string" | ||||
|       } | ||||
|     }, | ||||
|     "Stats": { | ||||
|       "$ref": "#/definitions/PolicyRunStats" | ||||
|     }, | ||||
|     "Inputs": { | ||||
|       "$ref": "#/definitions/PolicyRunInputs" | ||||
|     } | ||||
|   }, | ||||
|   "definitions": { | ||||
|     "PolicyRunMode": { | ||||
|       "type": "integer", | ||||
|       "description": "", | ||||
|       "x-enumNames": [ | ||||
|         "Full", | ||||
|         "Incremental", | ||||
|         "Simulate" | ||||
|       ], | ||||
|       "enum": [ | ||||
|         0, | ||||
|         1, | ||||
|         2 | ||||
|       ] | ||||
|     }, | ||||
|     "PolicyRunExecutionStatus": { | ||||
|       "type": "integer", | ||||
|       "description": "", | ||||
|       "x-enumNames": [ | ||||
|         "Queued", | ||||
|         "Running", | ||||
|         "Succeeded", | ||||
|         "Failed", | ||||
|         "Cancelled", | ||||
|         "ReplayPending" | ||||
|       ], | ||||
|       "enum": [ | ||||
|         0, | ||||
|         1, | ||||
|         2, | ||||
|         3, | ||||
|         4, | ||||
|         5 | ||||
|       ] | ||||
|     }, | ||||
|     "PolicyRunPriority": { | ||||
|       "type": "integer", | ||||
|       "description": "", | ||||
|       "x-enumNames": [ | ||||
|         "Normal", | ||||
|         "High", | ||||
|         "Emergency" | ||||
|       ], | ||||
|       "enum": [ | ||||
|         0, | ||||
|         1, | ||||
|         2 | ||||
|       ] | ||||
|     }, | ||||
|     "PolicyRunStats": { | ||||
|       "type": "object", | ||||
|       "additionalProperties": false, | ||||
|       "properties": { | ||||
|         "Components": { | ||||
|           "type": "integer", | ||||
|           "format": "int32" | ||||
|         }, | ||||
|         "RulesFired": { | ||||
|           "type": "integer", | ||||
|           "format": "int32" | ||||
|         }, | ||||
|         "FindingsWritten": { | ||||
|           "type": "integer", | ||||
|           "format": "int32" | ||||
|         }, | ||||
|         "VexOverrides": { | ||||
|           "type": "integer", | ||||
|           "format": "int32" | ||||
|         }, | ||||
|         "Quieted": { | ||||
|           "type": "integer", | ||||
|           "format": "int32" | ||||
|         }, | ||||
|         "Suppressed": { | ||||
|           "type": "integer", | ||||
|           "format": "int32" | ||||
|         }, | ||||
|         "DurationSeconds": { | ||||
|           "type": [ | ||||
|             "null", | ||||
|             "number" | ||||
|           ], | ||||
|           "format": "double" | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "PolicyRunInputs": { | ||||
|       "type": "object", | ||||
|       "additionalProperties": false, | ||||
|       "properties": { | ||||
|         "SbomSet": { | ||||
|           "type": "array", | ||||
|           "items": { | ||||
|             "type": "string" | ||||
|           } | ||||
|         }, | ||||
|         "AdvisoryCursor": { | ||||
|           "type": [ | ||||
|             "null", | ||||
|             "string" | ||||
|           ], | ||||
|           "format": "date-time" | ||||
|         }, | ||||
|         "VexCursor": { | ||||
|           "type": [ | ||||
|             "null", | ||||
|             "string" | ||||
|           ], | ||||
|           "format": "date-time" | ||||
|         }, | ||||
|         "Environment": { | ||||
|           "type": "object", | ||||
|           "additionalProperties": {} | ||||
|         }, | ||||
|         "CaptureExplain": { | ||||
|           "type": "boolean" | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user