You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: schemas/draft/schema.json
+38-9Lines changed: 38 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -836,6 +836,28 @@
836
836
},
837
837
"additionalProperties": false
838
838
},
839
+
"AggregationMethod": {
840
+
"description": "Policy aggregation strategy.\nDefines how multiple policy decisions are combined into a final decision.",
841
+
"enum": [
842
+
"all_allow",
843
+
"any_deny",
844
+
"custom",
845
+
"majority",
846
+
"most_restrictive",
847
+
"unanimous"
848
+
],
849
+
"type": "string"
850
+
},
851
+
"DecisionSeverity": {
852
+
"description": "Decision severity for ordering.\nUsed to determine \"most restrictive\" in aggregation.",
853
+
"enum": [
854
+
0,
855
+
1,
856
+
2,
857
+
3
858
+
],
859
+
"type": "number"
860
+
},
839
861
"AuditPolicy": {
840
862
"description": "Policy evaluation audit record.\nExtended to support chain-of-custody reconstruction.",
841
863
"type": "object",
@@ -852,7 +874,15 @@
852
874
}
853
875
},
854
876
"aggregation_method": {
855
-
"description": "Aggregation method used to combine individual policy decisions.\nExamples: 'most_restrictive', 'unanimous', 'majority'",
877
+
"description": "Aggregation method used to combine individual policy decisions.\nREQUIRED if multiple policies were evaluated.\nEnsures deterministic aggregation across orchestrators.",
878
+
"enum": [
879
+
"all_allow",
880
+
"any_deny",
881
+
"custom",
882
+
"majority",
883
+
"most_restrictive",
884
+
"unanimous"
885
+
],
856
886
"type": "string"
857
887
},
858
888
"workflow_state": {
@@ -904,14 +934,12 @@
904
934
"type": "string"
905
935
},
906
936
"decision": {
907
-
"description": "Decision from this specific policy.",
908
-
"enum": [
909
-
"allow",
910
-
"deny",
911
-
"require_approval",
912
-
"warn"
913
-
],
914
-
"type": "string"
937
+
"$ref": "#/definitions/Decision",
938
+
"description": "Decision from this specific policy."
939
+
},
940
+
"severity": {
941
+
"$ref": "#/definitions/DecisionSeverity",
942
+
"description": "Decision severity for aggregation ordering.\n0=allow, 1=warn, 2=require_approval, 3=deny\nREQUIRED for deterministic \"most restrictive\" aggregation."
Copy file name to clipboardExpand all lines: schemas/draft/schema.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -239,7 +239,7 @@ Extended to support chain-of-custody reconstruction.
239
239
|---|---|---|---|
240
240
|`decision`|`[Decision]`| Yes | Final aggregated decision after all policy evaluations. REQUIRED for chain-of-custody. |
241
241
|`policy_evaluations`|`array`| No | Individual policy evaluation results. Captures which specific policies (OPA/ONNX/gateway) produced which decisions. |
242
-
|`aggregation_method`|`string`| No | Aggregation method used to combine individual policy decisions. Examples: 'most_restrictive', 'unanimous', 'majority'|
242
+
|`aggregation_method`|`string`| No | Aggregation method used to combine individual policy decisions. REQUIRED if multiple policies were evaluated. Ensures deterministic aggregation across orchestrators.|
243
243
|`workflow_state`|`string`| Yes | Workflow state when this policy evaluation occurred. REQUIRED for temporal chain-of-custody. |
244
244
|`violations`|`array`| No | Policy violations detected. |
245
245
|`warnings`|`array`| No | Policy warnings (non-blocking). |
0 commit comments