generated from finos-labs/project-blueprint
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathplanning-negotiation.schema.json
More file actions
117 lines (117 loc) · 3.66 KB
/
planning-negotiation.schema.json
File metadata and controls
117 lines (117 loc) · 3.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://finos-labs.github.io/open-eago/spec/v0.1.0/schemas/planning-negotiation.schema.json",
"title": "OpenEAGO Planning and Negotiation",
"type": "object",
"required": ["plan_id", "contract_id", "selected_agents", "negotiation"],
"properties": {
"plan_id": {
"type": "string"
},
"contract_id": {
"type": "string"
},
"selected_agents": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
"execution_pattern": {
"type": "string",
"enum": ["sequential", "parallel", "mixed"]
},
"negotiation": {
"type": "object",
"required": ["status", "checks"],
"properties": {
"status": {
"type": "string",
"enum": ["accepted", "rejected", "countered"]
},
"checks": {
"type": "array",
"items": {
"type": "string",
"enum": [
"capability_fit",
"policy_constraints",
"sla_slo",
"acu_thresholds",
"data_residency"
]
},
"minItems": 1
},
"sla_feasibility_summary": {
"type": "object",
"properties": {
"all_agents_feasible": { "type": "boolean" },
"agents_evaluated": { "type": "integer", "minimum": 0 },
"agents_at_sla_risk": { "type": "integer", "minimum": 0 },
"fallback_agents_verified": { "type": "boolean" }
}
}
},
"additionalProperties": false
},
"sla_guarantees": {
"$comment": "Canonical sla_guarantees schema — see docs/overview/performance-sla-slo-kpi.md",
"type": "object",
"required": ["latency", "availability", "throughput", "error_rate"],
"properties": {
"sla_id": { "type": "string" },
"sla_version": { "type": "string" },
"agreed_at": { "type": "string", "format": "date-time" },
"valid_until": { "type": "string", "format": "date-time" },
"provider_agent_id": { "type": "string" },
"consumer_contract_id": { "type": "string" },
"latency": {
"type": "object",
"required": ["p99_ms"],
"properties": {
"p50_ms": { "type": "number", "minimum": 0 },
"p95_ms": { "type": "number", "minimum": 0 },
"p99_ms": { "type": "number", "minimum": 0 }
}
},
"availability": {
"type": "object",
"required": ["availability_pct"],
"properties": {
"availability_pct": { "type": "number", "minimum": 0, "maximum": 1 },
"measurement_window": { "type": "string" }
}
},
"throughput": {
"type": "object",
"required": ["throughput_rps"],
"properties": {
"throughput_rps": { "type": "number", "minimum": 0 },
"burst_rps": { "type": "number", "minimum": 0 }
}
},
"error_rate": {
"type": "object",
"required": ["error_rate_max"],
"properties": {
"error_rate_max": { "type": "number", "minimum": 0, "maximum": 1 }
}
},
"breach_policy": {
"type": "object",
"properties": {
"at_risk_threshold_pct": { "type": "number", "minimum": 0, "maximum": 1 },
"breach_response": {
"type": "string",
"enum": ["pause_and_review", "activate_fallback", "escalate"]
},
"escalation_contact": { "type": "string" }
}
}
}
}
},
"additionalProperties": false
}