monarchic-agent-protocol 0.1.13 → 0.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f2341ff4f7fd9109bb2796b92fdf2266500cc7dca13ed145b9511fc3626a56bd
4
- data.tar.gz: 49d7e86b25326e0c532200b870518de457168bff25e46dff77eef3dc10c02125
3
+ metadata.gz: 4801d875e1da1deb2b027141f245e2ff1f3c325893c5b1c03fd091e680c89652
4
+ data.tar.gz: d2cf9a6e1b0dffdef3979f5862f704622dd87aa3c64721c35b746fefc39045c5
5
5
  SHA512:
6
- metadata.gz: 4d24189fe6b902da078779074d77b26d27182e90b092f60bb76eb5937ac21a0b89b486b1b554a6610600788e74f379f29380c40e4e1df264e30e54594d0b77c9
7
- data.tar.gz: 6b00932fbaa194dc563f11b5e21a62c02fc544e37614bf9b898d4aa86dabc12223aeaae8812301ce5c03873ebaa44b74f2ff8ac5c91f2668dbbca99484067df0
6
+ metadata.gz: 25ac118fd8a512b2208c6c096bdbf63eff81fc3addf365b4e8f86606fbb151164185e200185e08249d4b630b22b1dd8c8df8ddc45514b81b8479537c5862ea2d
7
+ data.tar.gz: 6ae5a3cc87278132d49bf4ad26a4bb900640a090444b47e63dc1ed41b76e3d1647d0356dce88d177483dfa9b884f7e9a8fa33357e461e1202e144944375746c3
data/README.md CHANGED
@@ -59,6 +59,7 @@ Schema files live under `schemas/v1/`:
59
59
  - `schemas/v1/event.json`
60
60
  - `schemas/v1/gate_result.json`
61
61
  - `schemas/v1/run_context.json`
62
+ - `schemas/v1/run_outcome.json`
62
63
  - `schemas/v1/delivery_contract.json`
63
64
  - `schemas/v1/agent_role.json`
64
65
  - `schemas/v1/dataset_ref.json`
@@ -80,13 +81,11 @@ All schemas allow additional properties for forward compatibility.
80
81
  - `schemas/v1/event.json`
81
82
  - `schemas/v1/gate_result.json`
82
83
  - `schemas/v1/run_context.json`
83
- - `schemas/v1/dataset_ref.json`
84
- - `schemas/v1/experiment_spec.json`
85
- - `schemas/v1/objective_spec.json`
86
- - `schemas/v1/eval_result.json`
87
- - `schemas/v1/provenance.json`
84
+ - `schemas/v1/run_outcome.json`
88
85
 
89
86
  `schemas/v1/agent_role.json` is a shared schema used by `task.json`.
87
+ `schemas/v1/dataset_ref.json`, `schemas/v1/experiment_spec.json`, `schemas/v1/objective_spec.json`,
88
+ `schemas/v1/eval_result.json`, and `schemas/v1/provenance.json` are referenced by top-level schemas.
90
89
 
91
90
  ### AgentRole
92
91
 
@@ -288,6 +287,22 @@ Example:
288
287
  }
289
288
  ```
290
289
 
290
+ ### RunOutcome
291
+
292
+ Typed summary contract for objective/cost/risk decisions captured at the end of a run.
293
+
294
+ Required fields:
295
+
296
+ - `version`: `"v1"`
297
+ - `task_id`: task identifier
298
+ - `objective_decision`: objective decision label
299
+ - `cost_decision`: cost decision label
300
+ - `risk_decision`: risk decision label
301
+ - `final_decision`: aggregate decision label
302
+
303
+ Optional fields include `run_id`, `objective_metric`, `objective_score`, cost budget metrics,
304
+ risk detail fields, `summary`, and `evidence`.
305
+
291
306
  ### DatasetRef
292
307
 
293
308
  Reference to a dataset used by an experiment or output artifact.
@@ -24,6 +24,14 @@ enum AgentRole {
24
24
  OPS = 7;
25
25
  }
26
26
 
27
+ enum OutcomeDecision {
28
+ OUTCOME_DECISION_UNSPECIFIED = 0;
29
+ ACCEPT = 1;
30
+ ITERATE = 2;
31
+ REJECT = 3;
32
+ ESCALATE = 4;
33
+ }
34
+
27
35
  message DatasetRef {
28
36
  string dataset_id = 1;
29
37
  optional string uri = 2;
@@ -163,6 +171,25 @@ message GateResult {
163
171
  google.protobuf.Struct extensions = 6;
164
172
  }
165
173
 
174
+ message RunOutcome {
175
+ string version = 1;
176
+ string task_id = 2;
177
+ optional string run_id = 3;
178
+ optional string objective_metric = 4;
179
+ optional double objective_score = 5;
180
+ OutcomeDecision objective_decision = 6;
181
+ optional double estimated_cost_usd = 7;
182
+ optional double budget_limit_usd = 8;
183
+ OutcomeDecision cost_decision = 9;
184
+ optional string risk_level = 10;
185
+ optional string risk_summary = 11;
186
+ OutcomeDecision risk_decision = 12;
187
+ OutcomeDecision final_decision = 13;
188
+ optional string summary = 14;
189
+ google.protobuf.Struct evidence = 15;
190
+ google.protobuf.Struct extensions = 16;
191
+ }
192
+
166
193
  message RunContext {
167
194
  string version = 1;
168
195
  string repo = 2;
@@ -0,0 +1,388 @@
1
+ {
2
+ "$id": "monarchic.agent_protocol.v1.RunOutcome.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "additionalProperties": true,
5
+ "patternProperties": {
6
+ "^(budgetLimitUsd)$": {
7
+ "anyOf": [
8
+ {
9
+ "type": "number"
10
+ },
11
+ {
12
+ "enum": [
13
+ "Infinity",
14
+ "-Infinity",
15
+ "NaN"
16
+ ],
17
+ "type": "string"
18
+ },
19
+ {
20
+ "type": "string"
21
+ }
22
+ ]
23
+ },
24
+ "^(costDecision)$": {
25
+ "anyOf": [
26
+ {
27
+ "pattern": "^OUTCOME_DECISION_UNSPECIFIED$",
28
+ "type": "string"
29
+ },
30
+ {
31
+ "enum": [
32
+ "ACCEPT",
33
+ "ITERATE",
34
+ "REJECT",
35
+ "ESCALATE",
36
+ "accept",
37
+ "iterate",
38
+ "reject",
39
+ "escalate"
40
+ ],
41
+ "type": "string"
42
+ },
43
+ {
44
+ "maximum": 2147483647,
45
+ "minimum": -2147483648,
46
+ "type": "integer"
47
+ }
48
+ ],
49
+ "default": 0,
50
+ "title": "Outcome Decision"
51
+ },
52
+ "^(estimatedCostUsd)$": {
53
+ "anyOf": [
54
+ {
55
+ "type": "number"
56
+ },
57
+ {
58
+ "enum": [
59
+ "Infinity",
60
+ "-Infinity",
61
+ "NaN"
62
+ ],
63
+ "type": "string"
64
+ },
65
+ {
66
+ "type": "string"
67
+ }
68
+ ]
69
+ },
70
+ "^(finalDecision)$": {
71
+ "anyOf": [
72
+ {
73
+ "pattern": "^OUTCOME_DECISION_UNSPECIFIED$",
74
+ "type": "string"
75
+ },
76
+ {
77
+ "enum": [
78
+ "ACCEPT",
79
+ "ITERATE",
80
+ "REJECT",
81
+ "ESCALATE",
82
+ "accept",
83
+ "iterate",
84
+ "reject",
85
+ "escalate"
86
+ ],
87
+ "type": "string"
88
+ },
89
+ {
90
+ "maximum": 2147483647,
91
+ "minimum": -2147483648,
92
+ "type": "integer"
93
+ }
94
+ ],
95
+ "default": 0,
96
+ "title": "Outcome Decision"
97
+ },
98
+ "^(objectiveDecision)$": {
99
+ "anyOf": [
100
+ {
101
+ "pattern": "^OUTCOME_DECISION_UNSPECIFIED$",
102
+ "type": "string"
103
+ },
104
+ {
105
+ "enum": [
106
+ "ACCEPT",
107
+ "ITERATE",
108
+ "REJECT",
109
+ "ESCALATE",
110
+ "accept",
111
+ "iterate",
112
+ "reject",
113
+ "escalate"
114
+ ],
115
+ "type": "string"
116
+ },
117
+ {
118
+ "maximum": 2147483647,
119
+ "minimum": -2147483648,
120
+ "type": "integer"
121
+ }
122
+ ],
123
+ "default": 0,
124
+ "title": "Outcome Decision"
125
+ },
126
+ "^(objectiveMetric)$": {
127
+ "type": "string"
128
+ },
129
+ "^(objectiveScore)$": {
130
+ "anyOf": [
131
+ {
132
+ "type": "number"
133
+ },
134
+ {
135
+ "enum": [
136
+ "Infinity",
137
+ "-Infinity",
138
+ "NaN"
139
+ ],
140
+ "type": "string"
141
+ },
142
+ {
143
+ "type": "string"
144
+ }
145
+ ]
146
+ },
147
+ "^(riskDecision)$": {
148
+ "anyOf": [
149
+ {
150
+ "pattern": "^OUTCOME_DECISION_UNSPECIFIED$",
151
+ "type": "string"
152
+ },
153
+ {
154
+ "enum": [
155
+ "ACCEPT",
156
+ "ITERATE",
157
+ "REJECT",
158
+ "ESCALATE",
159
+ "accept",
160
+ "iterate",
161
+ "reject",
162
+ "escalate"
163
+ ],
164
+ "type": "string"
165
+ },
166
+ {
167
+ "maximum": 2147483647,
168
+ "minimum": -2147483648,
169
+ "type": "integer"
170
+ }
171
+ ],
172
+ "default": 0,
173
+ "title": "Outcome Decision"
174
+ },
175
+ "^(riskLevel)$": {
176
+ "type": "string"
177
+ },
178
+ "^(riskSummary)$": {
179
+ "type": "string"
180
+ },
181
+ "^(runId)$": {
182
+ "type": "string"
183
+ },
184
+ "^(taskId)$": {
185
+ "default": "",
186
+ "type": "string"
187
+ }
188
+ },
189
+ "properties": {
190
+ "budget_limit_usd": {
191
+ "anyOf": [
192
+ {
193
+ "type": "number"
194
+ },
195
+ {
196
+ "enum": [
197
+ "Infinity",
198
+ "-Infinity",
199
+ "NaN"
200
+ ],
201
+ "type": "string"
202
+ },
203
+ {
204
+ "type": "string"
205
+ }
206
+ ]
207
+ },
208
+ "cost_decision": {
209
+ "anyOf": [
210
+ {
211
+ "pattern": "^OUTCOME_DECISION_UNSPECIFIED$",
212
+ "type": "string"
213
+ },
214
+ {
215
+ "enum": [
216
+ "ACCEPT",
217
+ "ITERATE",
218
+ "REJECT",
219
+ "ESCALATE",
220
+ "accept",
221
+ "iterate",
222
+ "reject",
223
+ "escalate"
224
+ ],
225
+ "type": "string"
226
+ },
227
+ {
228
+ "maximum": 2147483647,
229
+ "minimum": -2147483648,
230
+ "type": "integer"
231
+ }
232
+ ],
233
+ "default": 0,
234
+ "title": "Outcome Decision"
235
+ },
236
+ "estimated_cost_usd": {
237
+ "anyOf": [
238
+ {
239
+ "type": "number"
240
+ },
241
+ {
242
+ "enum": [
243
+ "Infinity",
244
+ "-Infinity",
245
+ "NaN"
246
+ ],
247
+ "type": "string"
248
+ },
249
+ {
250
+ "type": "string"
251
+ }
252
+ ]
253
+ },
254
+ "evidence": {
255
+ "$ref": "google.protobuf.Struct.schema.json"
256
+ },
257
+ "extensions": {
258
+ "$ref": "google.protobuf.Struct.schema.json"
259
+ },
260
+ "final_decision": {
261
+ "anyOf": [
262
+ {
263
+ "pattern": "^OUTCOME_DECISION_UNSPECIFIED$",
264
+ "type": "string"
265
+ },
266
+ {
267
+ "enum": [
268
+ "ACCEPT",
269
+ "ITERATE",
270
+ "REJECT",
271
+ "ESCALATE",
272
+ "accept",
273
+ "iterate",
274
+ "reject",
275
+ "escalate"
276
+ ],
277
+ "type": "string"
278
+ },
279
+ {
280
+ "maximum": 2147483647,
281
+ "minimum": -2147483648,
282
+ "type": "integer"
283
+ }
284
+ ],
285
+ "default": 0,
286
+ "title": "Outcome Decision"
287
+ },
288
+ "objective_decision": {
289
+ "anyOf": [
290
+ {
291
+ "pattern": "^OUTCOME_DECISION_UNSPECIFIED$",
292
+ "type": "string"
293
+ },
294
+ {
295
+ "enum": [
296
+ "ACCEPT",
297
+ "ITERATE",
298
+ "REJECT",
299
+ "ESCALATE",
300
+ "accept",
301
+ "iterate",
302
+ "reject",
303
+ "escalate"
304
+ ],
305
+ "type": "string"
306
+ },
307
+ {
308
+ "maximum": 2147483647,
309
+ "minimum": -2147483648,
310
+ "type": "integer"
311
+ }
312
+ ],
313
+ "default": 0,
314
+ "title": "Outcome Decision"
315
+ },
316
+ "objective_metric": {
317
+ "type": "string"
318
+ },
319
+ "objective_score": {
320
+ "anyOf": [
321
+ {
322
+ "type": "number"
323
+ },
324
+ {
325
+ "enum": [
326
+ "Infinity",
327
+ "-Infinity",
328
+ "NaN"
329
+ ],
330
+ "type": "string"
331
+ },
332
+ {
333
+ "type": "string"
334
+ }
335
+ ]
336
+ },
337
+ "risk_decision": {
338
+ "anyOf": [
339
+ {
340
+ "pattern": "^OUTCOME_DECISION_UNSPECIFIED$",
341
+ "type": "string"
342
+ },
343
+ {
344
+ "enum": [
345
+ "ACCEPT",
346
+ "ITERATE",
347
+ "REJECT",
348
+ "ESCALATE",
349
+ "accept",
350
+ "iterate",
351
+ "reject",
352
+ "escalate"
353
+ ],
354
+ "type": "string"
355
+ },
356
+ {
357
+ "maximum": 2147483647,
358
+ "minimum": -2147483648,
359
+ "type": "integer"
360
+ }
361
+ ],
362
+ "default": 0,
363
+ "title": "Outcome Decision"
364
+ },
365
+ "risk_level": {
366
+ "type": "string"
367
+ },
368
+ "risk_summary": {
369
+ "type": "string"
370
+ },
371
+ "run_id": {
372
+ "type": "string"
373
+ },
374
+ "summary": {
375
+ "type": "string"
376
+ },
377
+ "task_id": {
378
+ "default": "",
379
+ "type": "string"
380
+ },
381
+ "version": {
382
+ "default": "",
383
+ "type": "string"
384
+ }
385
+ },
386
+ "title": "Run Outcome",
387
+ "type": "object"
388
+ }
@@ -7,6 +7,7 @@
7
7
  { "$ref": "artifact.json" },
8
8
  { "$ref": "event.json" },
9
9
  { "$ref": "gate_result.json" },
10
- { "$ref": "run_context.json" }
10
+ { "$ref": "run_context.json" },
11
+ { "$ref": "run_outcome.json" }
11
12
  ]
12
13
  }
@@ -7,7 +7,7 @@ require 'google/protobuf'
7
7
  require 'google/protobuf/struct_pb'
8
8
 
9
9
 
10
- descriptor_data = "\n\x1emonarchic_agent_protocol.proto\x12\x1bmonarchic.agent_protocol.v1\x1a\x1cgoogle/protobuf/struct.proto\"\xf7\x01\n\nDatasetRef\x12\x12\n\ndataset_id\x18\x01 \x01(\t\x12\x10\n\x03uri\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x0e\n\x06sha256\x18\x03 \x01(\t\x12\x0e\n\x06\x66ormat\x18\x04 \x01(\t\x12\x12\n\x05split\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nsize_bytes\x18\x06 \x01(\x04H\x02\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x03\x88\x01\x01\x12+\n\nextensions\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructB\x06\n\x04_uriB\x08\n\x06_splitB\r\n\x0b_size_bytesB\x0e\n\x0c_description\"\x89\x02\n\x12\x41\x63\x63\x65ptanceCriteria\x12\x0e\n\x06metric\x18\x01 \x01(\t\x12\x11\n\tdirection\x18\x02 \x01(\t\x12\x11\n\tthreshold\x18\x03 \x01(\x01\x12\x1c\n\x0fmin_effect_size\x18\x04 \x01(\x01H\x00\x88\x01\x01\x12\x19\n\x0cmax_variance\x18\x05 \x01(\x01H\x01\x88\x01\x01\x12\x1d\n\x10\x63onfidence_level\x18\x06 \x01(\x01H\x02\x88\x01\x01\x12+\n\nextensions\x18\x07 \x01(\x0b\x32\x17.google.protobuf.StructB\x12\n\x10_min_effect_sizeB\x0f\n\r_max_varianceB\x13\n\x11_confidence_level\"\xfc\x02\n\x0e\x45xperimentSpec\x12\x15\n\rexperiment_id\x18\x01 \x01(\t\x12\x11\n\tobjective\x18\x02 \x01(\t\x12\x17\n\nhypothesis\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0cmodel_family\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\r\n\x05seeds\x18\x05 \x03(\x03\x12=\n\x0c\x64\x61taset_refs\x18\x06 \x03(\x0b\x32\'.monarchic.agent_protocol.v1.DatasetRef\x12\x43\n\nacceptance\x18\x07 \x01(\x0b\x32/.monarchic.agent_protocol.v1.AcceptanceCriteria\x12,\n\x0b\x63onstraints\x18\x08 \x01(\x0b\x32\x17.google.protobuf.Struct\x12+\n\nextensions\x18\t \x01(\x0b\x32\x17.google.protobuf.StructB\r\n\x0b_hypothesisB\x0f\n\r_model_family\"\xae\x03\n\x10\x44\x65liveryContract\x12\x11\n\tobjective\x18\x01 \x01(\t\x12\x1a\n\x12\x64\x65\x66inition_of_done\x18\x02 \x03(\t\x12\x17\n\x0frequired_checks\x18\x03 \x03(\t\x12\x11\n\trisk_tier\x18\x04 \x01(\t\x12\x1e\n\x11max_cycle_minutes\x18\x05 \x01(\rH\x00\x88\x01\x01\x12\x1c\n\x0fmax_agent_turns\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x18\n\x0bpr_strategy\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x1a\n\rreview_policy\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x1e\n\x11rollback_strategy\x18\t \x01(\tH\x04\x88\x01\x01\x12\x12\n\x05notes\x18\n \x01(\tH\x05\x88\x01\x01\x12+\n\nextensions\x18\x0b \x01(\x0b\x32\x17.google.protobuf.StructB\x14\n\x12_max_cycle_minutesB\x12\n\x10_max_agent_turnsB\x0e\n\x0c_pr_strategyB\x10\n\x0e_review_policyB\x14\n\x12_rollback_strategyB\x08\n\x06_notes\"\xf3\x02\n\rObjectiveSpec\x12\x12\n\nmetric_key\x18\x01 \x01(\t\x12\x11\n\tdirection\x18\x02 \x01(\t\x12\x13\n\x06target\x18\x03 \x01(\x01H\x00\x88\x01\x01\x12\x16\n\tmin_delta\x18\x04 \x01(\x01H\x01\x88\x01\x01\x12\x16\n\ttolerance\x18\x05 \x01(\x01H\x02\x88\x01\x01\x12\x18\n\x0breport_file\x18\x06 \x01(\tH\x03\x88\x01\x01\x12\x1b\n\x0ereport_task_id\x18\x07 \x01(\tH\x04\x88\x01\x01\x12\x13\n\x06weight\x18\x08 \x01(\x01H\x05\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\t \x01(\tH\x06\x88\x01\x01\x12+\n\nextensions\x18\n \x01(\x0b\x32\x17.google.protobuf.StructB\t\n\x07_targetB\x0c\n\n_min_deltaB\x0c\n\n_toleranceB\x0e\n\x0c_report_fileB\x11\n\x0f_report_task_idB\t\n\x07_weightB\x0e\n\x0c_description\"\x8e\x02\n\nEvalResult\x12\x0e\n\x06metric\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x01\x12\x15\n\x08lower_ci\x18\x03 \x01(\x01H\x00\x88\x01\x01\x12\x15\n\x08upper_ci\x18\x04 \x01(\x01H\x01\x88\x01\x01\x12\x15\n\x08variance\x18\x05 \x01(\x01H\x02\x88\x01\x01\x12\x11\n\x04seed\x18\x06 \x01(\x03H\x03\x88\x01\x01\x12\x0e\n\x06passed\x18\x07 \x01(\x08\x12\x12\n\x05notes\x18\x08 \x01(\tH\x04\x88\x01\x01\x12+\n\nextensions\x18\t \x01(\x0b\x32\x17.google.protobuf.StructB\x0b\n\t_lower_ciB\x0b\n\t_upper_ciB\x0b\n\t_varianceB\x07\n\x05_seedB\x08\n\x06_notes\"\xeb\x03\n\nProvenance\x12\x15\n\rprompt_sha256\x18\x01 \x01(\t\x12\x13\n\x0b\x63ode_sha256\x18\x02 \x01(\t\x12\x16\n\x0e\x64\x61taset_sha256\x18\x03 \x03(\t\x12\x0f\n\x07runtime\x18\x04 \x01(\t\x12\x12\n\x05model\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x0e\n\x06runner\x18\x06 \x01(\t\x12\x14\n\x0corchestrator\x18\x07 \x01(\t\x12\x1d\n\x10task_spec_sha256\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x1c\n\x0fpipeline_sha256\x18\t \x01(\tH\x02\x88\x01\x01\x12\x1b\n\x0e\x63ommand_sha256\x18\n \x01(\tH\x03\x88\x01\x01\x12\x12\n\ncreated_at\x18\x0b \x01(\t\x12\x1b\n\x0esource_task_id\x18\x0c \x01(\tH\x04\x88\x01\x01\x12=\n\x0c\x64\x61taset_refs\x18\r \x03(\x0b\x32\'.monarchic.agent_protocol.v1.DatasetRef\x12+\n\nextensions\x18\x0e \x01(\x0b\x32\x17.google.protobuf.StructB\x08\n\x06_modelB\x13\n\x11_task_spec_sha256B\x12\n\x10_pipeline_sha256B\x11\n\x0f_command_sha256B\x11\n\x0f_source_task_id\"\x9a\x04\n\x04Task\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x0f\n\x07task_id\x18\x02 \x01(\t\x12\x34\n\x04role\x18\x03 \x01(\x0e\x32&.monarchic.agent_protocol.v1.AgentRole\x12\x0c\n\x04goal\x18\x04 \x01(\t\x12\'\n\x06inputs\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12,\n\x0b\x63onstraints\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x16\n\x0egates_required\x18\x07 \x03(\t\x12<\n\x0brun_context\x18\x08 \x01(\x0b\x32\'.monarchic.agent_protocol.v1.RunContext\x12+\n\nextensions\x18\t \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x44\n\x0f\x65xperiment_spec\x18\n \x01(\x0b\x32+.monarchic.agent_protocol.v1.ExperimentSpec\x12H\n\x11\x64\x65livery_contract\x18\x0b \x01(\x0b\x32-.monarchic.agent_protocol.v1.DeliveryContract\x12\x42\n\x0eobjective_spec\x18\x0c \x01(\x0b\x32*.monarchic.agent_protocol.v1.ObjectiveSpec\"\x9c\x03\n\x08\x41rtifact\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x13\n\x0b\x61rtifact_id\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x0f\n\x07summary\x18\x04 \x01(\t\x12\x0c\n\x04path\x18\x05 \x01(\t\x12\x0f\n\x07task_id\x18\x06 \x01(\t\x12+\n\nextensions\x18\x07 \x01(\x0b\x32\x17.google.protobuf.Struct\x12;\n\nprovenance\x18\x08 \x01(\x0b\x32\'.monarchic.agent_protocol.v1.Provenance\x12=\n\x0c\x64\x61taset_refs\x18\t \x03(\x0b\x32\'.monarchic.agent_protocol.v1.DatasetRef\x12=\n\x0c\x65val_results\x18\n \x03(\x0b\x32\'.monarchic.agent_protocol.v1.EvalResult\x12\x44\n\x0f\x65xperiment_spec\x18\x0b \x01(\x0b\x32+.monarchic.agent_protocol.v1.ExperimentSpec\"\xab\x02\n\x05\x45vent\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x12\n\nevent_type\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\t\x12\x0f\n\x07task_id\x18\x04 \x01(\t\x12\x0e\n\x06status\x18\x05 \x01(\t\x12\x14\n\x07message\x18\x06 \x01(\tH\x00\x88\x01\x01\x12+\n\nextensions\x18\x07 \x01(\x0b\x32\x17.google.protobuf.Struct\x12;\n\nprovenance\x18\x08 \x01(\x0b\x32\'.monarchic.agent_protocol.v1.Provenance\x12=\n\x0c\x65val_results\x18\t \x03(\x0b\x32\'.monarchic.agent_protocol.v1.EvalResultB\n\n\x08_message\"\xb3\x01\n\nGateResult\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x0c\n\x04gate\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\x13\n\x06reason\x18\x04 \x01(\tH\x00\x88\x01\x01\x12)\n\x08\x65vidence\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12+\n\nextensions\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructB\t\n\x07_reason\"\x99\x01\n\nRunContext\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x0c\n\x04repo\x18\x02 \x01(\t\x12\x10\n\x08worktree\x18\x03 \x01(\t\x12\r\n\x05image\x18\x04 \x01(\t\x12\x0e\n\x06runner\x18\x05 \x01(\t\x12\x0e\n\x06labels\x18\x06 \x03(\t\x12+\n\nextensions\x18\x07 \x01(\x0b\x32\x17.google.protobuf.Struct*\x85\x01\n\tAgentRole\x12\x1a\n\x16\x41GENT_ROLE_UNSPECIFIED\x10\x00\x12\x11\n\rPRODUCT_OWNER\x10\x01\x12\x13\n\x0fPROJECT_MANAGER\x10\x02\x12\x07\n\x03\x44\x45V\x10\x03\x12\x06\n\x02QA\x10\x04\x12\x0c\n\x08REVIEWER\x10\x05\x12\x0c\n\x08SECURITY\x10\x06\x12\x07\n\x03OPS\x10\x07\x42\x88\x02\n\x1e\x61i.monarchic.agent_protocol.v1B\x18MonarchicAgentProtocolV1P\x01Zdgithub.com/monarchic-ai/monarchic-agent-protocol/src/go/monarchic/agent_protocol/v1;agent_protocolv1\xa2\x02\x03MAP\xaa\x02\x1aMonarchic.AgentProtocol.V1\xca\x02\x1aMonarchic\\AgentProtocol\\V1\xe2\x02#Monarchic\\AgentProtocol\\V1\\Metadatab\x06proto3"
10
+ descriptor_data = "\n\x1emonarchic_agent_protocol.proto\x12\x1bmonarchic.agent_protocol.v1\x1a\x1cgoogle/protobuf/struct.proto\"\xf7\x01\n\nDatasetRef\x12\x12\n\ndataset_id\x18\x01 \x01(\t\x12\x10\n\x03uri\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x0e\n\x06sha256\x18\x03 \x01(\t\x12\x0e\n\x06\x66ormat\x18\x04 \x01(\t\x12\x12\n\x05split\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nsize_bytes\x18\x06 \x01(\x04H\x02\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x03\x88\x01\x01\x12+\n\nextensions\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructB\x06\n\x04_uriB\x08\n\x06_splitB\r\n\x0b_size_bytesB\x0e\n\x0c_description\"\x89\x02\n\x12\x41\x63\x63\x65ptanceCriteria\x12\x0e\n\x06metric\x18\x01 \x01(\t\x12\x11\n\tdirection\x18\x02 \x01(\t\x12\x11\n\tthreshold\x18\x03 \x01(\x01\x12\x1c\n\x0fmin_effect_size\x18\x04 \x01(\x01H\x00\x88\x01\x01\x12\x19\n\x0cmax_variance\x18\x05 \x01(\x01H\x01\x88\x01\x01\x12\x1d\n\x10\x63onfidence_level\x18\x06 \x01(\x01H\x02\x88\x01\x01\x12+\n\nextensions\x18\x07 \x01(\x0b\x32\x17.google.protobuf.StructB\x12\n\x10_min_effect_sizeB\x0f\n\r_max_varianceB\x13\n\x11_confidence_level\"\xfc\x02\n\x0e\x45xperimentSpec\x12\x15\n\rexperiment_id\x18\x01 \x01(\t\x12\x11\n\tobjective\x18\x02 \x01(\t\x12\x17\n\nhypothesis\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0cmodel_family\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\r\n\x05seeds\x18\x05 \x03(\x03\x12=\n\x0c\x64\x61taset_refs\x18\x06 \x03(\x0b\x32\'.monarchic.agent_protocol.v1.DatasetRef\x12\x43\n\nacceptance\x18\x07 \x01(\x0b\x32/.monarchic.agent_protocol.v1.AcceptanceCriteria\x12,\n\x0b\x63onstraints\x18\x08 \x01(\x0b\x32\x17.google.protobuf.Struct\x12+\n\nextensions\x18\t \x01(\x0b\x32\x17.google.protobuf.StructB\r\n\x0b_hypothesisB\x0f\n\r_model_family\"\xae\x03\n\x10\x44\x65liveryContract\x12\x11\n\tobjective\x18\x01 \x01(\t\x12\x1a\n\x12\x64\x65\x66inition_of_done\x18\x02 \x03(\t\x12\x17\n\x0frequired_checks\x18\x03 \x03(\t\x12\x11\n\trisk_tier\x18\x04 \x01(\t\x12\x1e\n\x11max_cycle_minutes\x18\x05 \x01(\rH\x00\x88\x01\x01\x12\x1c\n\x0fmax_agent_turns\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x18\n\x0bpr_strategy\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x1a\n\rreview_policy\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x1e\n\x11rollback_strategy\x18\t \x01(\tH\x04\x88\x01\x01\x12\x12\n\x05notes\x18\n \x01(\tH\x05\x88\x01\x01\x12+\n\nextensions\x18\x0b \x01(\x0b\x32\x17.google.protobuf.StructB\x14\n\x12_max_cycle_minutesB\x12\n\x10_max_agent_turnsB\x0e\n\x0c_pr_strategyB\x10\n\x0e_review_policyB\x14\n\x12_rollback_strategyB\x08\n\x06_notes\"\xf3\x02\n\rObjectiveSpec\x12\x12\n\nmetric_key\x18\x01 \x01(\t\x12\x11\n\tdirection\x18\x02 \x01(\t\x12\x13\n\x06target\x18\x03 \x01(\x01H\x00\x88\x01\x01\x12\x16\n\tmin_delta\x18\x04 \x01(\x01H\x01\x88\x01\x01\x12\x16\n\ttolerance\x18\x05 \x01(\x01H\x02\x88\x01\x01\x12\x18\n\x0breport_file\x18\x06 \x01(\tH\x03\x88\x01\x01\x12\x1b\n\x0ereport_task_id\x18\x07 \x01(\tH\x04\x88\x01\x01\x12\x13\n\x06weight\x18\x08 \x01(\x01H\x05\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\t \x01(\tH\x06\x88\x01\x01\x12+\n\nextensions\x18\n \x01(\x0b\x32\x17.google.protobuf.StructB\t\n\x07_targetB\x0c\n\n_min_deltaB\x0c\n\n_toleranceB\x0e\n\x0c_report_fileB\x11\n\x0f_report_task_idB\t\n\x07_weightB\x0e\n\x0c_description\"\x8e\x02\n\nEvalResult\x12\x0e\n\x06metric\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x01\x12\x15\n\x08lower_ci\x18\x03 \x01(\x01H\x00\x88\x01\x01\x12\x15\n\x08upper_ci\x18\x04 \x01(\x01H\x01\x88\x01\x01\x12\x15\n\x08variance\x18\x05 \x01(\x01H\x02\x88\x01\x01\x12\x11\n\x04seed\x18\x06 \x01(\x03H\x03\x88\x01\x01\x12\x0e\n\x06passed\x18\x07 \x01(\x08\x12\x12\n\x05notes\x18\x08 \x01(\tH\x04\x88\x01\x01\x12+\n\nextensions\x18\t \x01(\x0b\x32\x17.google.protobuf.StructB\x0b\n\t_lower_ciB\x0b\n\t_upper_ciB\x0b\n\t_varianceB\x07\n\x05_seedB\x08\n\x06_notes\"\xeb\x03\n\nProvenance\x12\x15\n\rprompt_sha256\x18\x01 \x01(\t\x12\x13\n\x0b\x63ode_sha256\x18\x02 \x01(\t\x12\x16\n\x0e\x64\x61taset_sha256\x18\x03 \x03(\t\x12\x0f\n\x07runtime\x18\x04 \x01(\t\x12\x12\n\x05model\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x0e\n\x06runner\x18\x06 \x01(\t\x12\x14\n\x0corchestrator\x18\x07 \x01(\t\x12\x1d\n\x10task_spec_sha256\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x1c\n\x0fpipeline_sha256\x18\t \x01(\tH\x02\x88\x01\x01\x12\x1b\n\x0e\x63ommand_sha256\x18\n \x01(\tH\x03\x88\x01\x01\x12\x12\n\ncreated_at\x18\x0b \x01(\t\x12\x1b\n\x0esource_task_id\x18\x0c \x01(\tH\x04\x88\x01\x01\x12=\n\x0c\x64\x61taset_refs\x18\r \x03(\x0b\x32\'.monarchic.agent_protocol.v1.DatasetRef\x12+\n\nextensions\x18\x0e \x01(\x0b\x32\x17.google.protobuf.StructB\x08\n\x06_modelB\x13\n\x11_task_spec_sha256B\x12\n\x10_pipeline_sha256B\x11\n\x0f_command_sha256B\x11\n\x0f_source_task_id\"\x9a\x04\n\x04Task\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x0f\n\x07task_id\x18\x02 \x01(\t\x12\x34\n\x04role\x18\x03 \x01(\x0e\x32&.monarchic.agent_protocol.v1.AgentRole\x12\x0c\n\x04goal\x18\x04 \x01(\t\x12\'\n\x06inputs\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12,\n\x0b\x63onstraints\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x16\n\x0egates_required\x18\x07 \x03(\t\x12<\n\x0brun_context\x18\x08 \x01(\x0b\x32\'.monarchic.agent_protocol.v1.RunContext\x12+\n\nextensions\x18\t \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x44\n\x0f\x65xperiment_spec\x18\n \x01(\x0b\x32+.monarchic.agent_protocol.v1.ExperimentSpec\x12H\n\x11\x64\x65livery_contract\x18\x0b \x01(\x0b\x32-.monarchic.agent_protocol.v1.DeliveryContract\x12\x42\n\x0eobjective_spec\x18\x0c \x01(\x0b\x32*.monarchic.agent_protocol.v1.ObjectiveSpec\"\x9c\x03\n\x08\x41rtifact\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x13\n\x0b\x61rtifact_id\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x0f\n\x07summary\x18\x04 \x01(\t\x12\x0c\n\x04path\x18\x05 \x01(\t\x12\x0f\n\x07task_id\x18\x06 \x01(\t\x12+\n\nextensions\x18\x07 \x01(\x0b\x32\x17.google.protobuf.Struct\x12;\n\nprovenance\x18\x08 \x01(\x0b\x32\'.monarchic.agent_protocol.v1.Provenance\x12=\n\x0c\x64\x61taset_refs\x18\t \x03(\x0b\x32\'.monarchic.agent_protocol.v1.DatasetRef\x12=\n\x0c\x65val_results\x18\n \x03(\x0b\x32\'.monarchic.agent_protocol.v1.EvalResult\x12\x44\n\x0f\x65xperiment_spec\x18\x0b \x01(\x0b\x32+.monarchic.agent_protocol.v1.ExperimentSpec\"\xab\x02\n\x05\x45vent\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x12\n\nevent_type\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\t\x12\x0f\n\x07task_id\x18\x04 \x01(\t\x12\x0e\n\x06status\x18\x05 \x01(\t\x12\x14\n\x07message\x18\x06 \x01(\tH\x00\x88\x01\x01\x12+\n\nextensions\x18\x07 \x01(\x0b\x32\x17.google.protobuf.Struct\x12;\n\nprovenance\x18\x08 \x01(\x0b\x32\'.monarchic.agent_protocol.v1.Provenance\x12=\n\x0c\x65val_results\x18\t \x03(\x0b\x32\'.monarchic.agent_protocol.v1.EvalResultB\n\n\x08_message\"\xb3\x01\n\nGateResult\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x0c\n\x04gate\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\x13\n\x06reason\x18\x04 \x01(\tH\x00\x88\x01\x01\x12)\n\x08\x65vidence\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12+\n\nextensions\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructB\t\n\x07_reason\"\x88\x06\n\nRunOutcome\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x0f\n\x07task_id\x18\x02 \x01(\t\x12\x13\n\x06run_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x1d\n\x10objective_metric\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\x1c\n\x0fobjective_score\x18\x05 \x01(\x01H\x02\x88\x01\x01\x12H\n\x12objective_decision\x18\x06 \x01(\x0e\x32,.monarchic.agent_protocol.v1.OutcomeDecision\x12\x1f\n\x12\x65stimated_cost_usd\x18\x07 \x01(\x01H\x03\x88\x01\x01\x12\x1d\n\x10\x62udget_limit_usd\x18\x08 \x01(\x01H\x04\x88\x01\x01\x12\x43\n\rcost_decision\x18\t \x01(\x0e\x32,.monarchic.agent_protocol.v1.OutcomeDecision\x12\x17\n\nrisk_level\x18\n \x01(\tH\x05\x88\x01\x01\x12\x19\n\x0crisk_summary\x18\x0b \x01(\tH\x06\x88\x01\x01\x12\x43\n\rrisk_decision\x18\x0c \x01(\x0e\x32,.monarchic.agent_protocol.v1.OutcomeDecision\x12\x44\n\x0e\x66inal_decision\x18\r \x01(\x0e\x32,.monarchic.agent_protocol.v1.OutcomeDecision\x12\x14\n\x07summary\x18\x0e \x01(\tH\x07\x88\x01\x01\x12)\n\x08\x65vidence\x18\x0f \x01(\x0b\x32\x17.google.protobuf.Struct\x12+\n\nextensions\x18\x10 \x01(\x0b\x32\x17.google.protobuf.StructB\t\n\x07_run_idB\x13\n\x11_objective_metricB\x12\n\x10_objective_scoreB\x15\n\x13_estimated_cost_usdB\x13\n\x11_budget_limit_usdB\r\n\x0b_risk_levelB\x0f\n\r_risk_summaryB\n\n\x08_summary\"\x99\x01\n\nRunContext\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x0c\n\x04repo\x18\x02 \x01(\t\x12\x10\n\x08worktree\x18\x03 \x01(\t\x12\r\n\x05image\x18\x04 \x01(\t\x12\x0e\n\x06runner\x18\x05 \x01(\t\x12\x0e\n\x06labels\x18\x06 \x03(\t\x12+\n\nextensions\x18\x07 \x01(\x0b\x32\x17.google.protobuf.Struct*\x85\x01\n\tAgentRole\x12\x1a\n\x16\x41GENT_ROLE_UNSPECIFIED\x10\x00\x12\x11\n\rPRODUCT_OWNER\x10\x01\x12\x13\n\x0fPROJECT_MANAGER\x10\x02\x12\x07\n\x03\x44\x45V\x10\x03\x12\x06\n\x02QA\x10\x04\x12\x0c\n\x08REVIEWER\x10\x05\x12\x0c\n\x08SECURITY\x10\x06\x12\x07\n\x03OPS\x10\x07*f\n\x0fOutcomeDecision\x12 \n\x1cOUTCOME_DECISION_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43\x43\x45PT\x10\x01\x12\x0b\n\x07ITERATE\x10\x02\x12\n\n\x06REJECT\x10\x03\x12\x0c\n\x08\x45SCALATE\x10\x04\x42\x88\x02\n\x1e\x61i.monarchic.agent_protocol.v1B\x18MonarchicAgentProtocolV1P\x01Zdgithub.com/monarchic-ai/monarchic-agent-protocol/src/go/monarchic/agent_protocol/v1;agent_protocolv1\xa2\x02\x03MAP\xaa\x02\x1aMonarchic.AgentProtocol.V1\xca\x02\x1aMonarchic\\AgentProtocol\\V1\xe2\x02#Monarchic\\AgentProtocol\\V1\\Metadatab\x06proto3"
11
11
 
12
12
  pool = ::Google::Protobuf::DescriptorPool.generated_pool
13
13
  pool.add_serialized_file(descriptor_data)
@@ -26,8 +26,10 @@ module Monarchic
26
26
  Artifact = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.Artifact").msgclass
27
27
  Event = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.Event").msgclass
28
28
  GateResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.GateResult").msgclass
29
+ RunOutcome = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.RunOutcome").msgclass
29
30
  RunContext = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.RunContext").msgclass
30
31
  AgentRole = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.AgentRole").enummodule
32
+ OutcomeDecision = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.OutcomeDecision").enummodule
31
33
  end
32
34
  end
33
35
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: monarchic-agent-protocol
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.13
4
+ version: 0.1.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Monarchic AI
@@ -50,6 +50,7 @@ files:
50
50
  - schemas/v1/objective_spec.json
51
51
  - schemas/v1/provenance.json
52
52
  - schemas/v1/run_context.json
53
+ - schemas/v1/run_outcome.json
53
54
  - schemas/v1/schema.json
54
55
  - schemas/v1/task.json
55
56
  - src/ruby/monarchic_agent_protocol.rb