monarchic-agent-protocol 0.1.16 → 0.1.17

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: e7b63bb50073c69581ec50c46f45c5c8baee323dc3e4c7141bfec77d3e9fb19a
4
- data.tar.gz: 9e711e198686fd9e8f36210918b187150af4b06080d259ebb1ce4addb4bbdc43
3
+ metadata.gz: e70cc011515a1d46f8b369074834a2abc5ee0d30f928636b333d78e1bcbda9af
4
+ data.tar.gz: 39007a55b96bd1273f66c377063c0a3adba90acff4044be335a8dd2dbcbcb041
5
5
  SHA512:
6
- metadata.gz: 5063ed88f2e4159f01801f12301723b6614d5d22ddf22198e56838c551253d47a735175e6e6fa2f4610e85cc2b59f3e481a450bd05a9164a42018ee35bbdc38b
7
- data.tar.gz: 75a5b45df12e375dd2a0ca9b3a911f6239582901e097398ee4ff44c40567785cea72505c00623eb8f87959d48d7c4f233c1888acbf4bd514f2dcc3f1397c69e9
6
+ metadata.gz: 74384051cc3abf842ec9725ce9cc4842a84481c26ddf4247f423d620ec3a5ff87a36d8721525f839745f188d5f4d236596d42055689acc27ccd478bd86b3328e
7
+ data.tar.gz: 408137845db2c3e52def8b77a0c6c33fb80d7da283cd1c44c816f35fd862bff5ed427831873ed7aebe97db6366b2530d2c90848c132e5aad8400c91a224a53e3
data/README.md CHANGED
@@ -58,6 +58,8 @@ Project-state contract fixtures used by the shell verification suite live under
58
58
  - Protocol versions live under `schemas/v1/`.
59
59
  - Each v1 object requires `version: "v1"`.
60
60
  - New versions must be added under a new directory (e.g. `schemas/v2/`) without changing existing v1 files.
61
+ - The package/crate transition operator runbook lives at
62
+ [`docs/protocol-release-transition-runbook.md`](docs/protocol-release-transition-runbook.md).
61
63
 
62
64
  ### Client boundary contracts
63
65
 
@@ -70,12 +72,16 @@ Frozen v1 client-boundary types:
70
72
  - `PlanStep`
71
73
  - `ExecutionReceipt`
72
74
  - `VerificationReceipt`
75
+ - `PublicationAction`
76
+ - `ModerationDecision`
73
77
  - `ReviewDecision`
74
78
  - `RerunScope`
75
79
  - `BlockedOutcome`
76
80
  - `ArtifactDescriptor`
77
81
 
78
82
  Canonical JSON fixtures for these contracts live under `fixtures/client_boundary/v1/`.
83
+ The protocol-owned MAP operation handoff bundle for downstream client snapshots
84
+ also lives there as `map_operation_bundle.v1.json`.
79
85
  Legacy runtime compatibility fixtures live under `fixtures/client_boundary/v0/`.
80
86
 
81
87
  ### Durable authority contracts
@@ -90,9 +96,54 @@ Frozen v1 durable-authority types:
90
96
  - `StepLifecycleState`
91
97
  - `LeaseRejectionReason`
92
98
  - `RecoveryEvent`
99
+ - `ManualOverrideRecord`
93
100
 
94
101
  Canonical JSON fixtures for these contracts live under `fixtures/durable_authority/v1/`.
95
102
 
103
+ ### Service boundary contracts
104
+
105
+ The Rust crate also exposes a frozen service-boundary surface under `monarchic_agent_protocol::service_boundary`.
106
+
107
+ Frozen v1 service-boundary types:
108
+
109
+ - `PrincipalRef`
110
+ - `TenantRef`
111
+ - `AuthContext`
112
+ - `UsageRecord`
113
+ - `AuditExportManifest`
114
+ - `ControlPlaneQueueJob`
115
+ - `ControlPlaneDispatchRequest`
116
+
117
+ The queue job contract uses the explicit wire marker
118
+ `monarchic.control-plane.queue-job.v1` because it is consumed across the API,
119
+ control-plane queue, and worker boundary. Canonical JSON fixtures for
120
+ service-boundary contracts live under `fixtures/service_boundary/v1/`.
121
+ The cross-service protocol ownership boundary is documented in
122
+ [`docs/service-boundary-architecture.md`](docs/service-boundary-architecture.md).
123
+
124
+ ## Lean4 Formalization
125
+
126
+ A Lean4 proof model now lives under `formal/lean/`.
127
+
128
+ It currently formalizes a bounded set of invariants derived from real downstream usage in this workspace:
129
+
130
+ - client-boundary id safety heuristics
131
+ - role normalization aliases
132
+ - verification receipt status consistency
133
+ - terminal lifecycle sink behavior
134
+ - plan dependency grounding
135
+ - protobuf message well-formedness and cross-message integrity
136
+ - protobuf lifecycle transitions and bounded lease control-plane safety
137
+ - protobuf request/report admissibility and fencing-token monotonicity
138
+ - bounded protobuf control-plane trace safety and authority preservation
139
+ - inductive consistency preservation over protobuf control-plane event traces
140
+ - continuous active-authority traces preserve the bound `(run_id, step_id, task_id)` scope
141
+ - active traces exclude competing authorities for the same `(run_id, step_id)` scope
142
+ - a checked protobuf coverage manifest makes the currently formalized subset explicit relative to the full `.proto` surface
143
+ - the schema-side Lean coverage manifest is generated from `schemas/v1/monarchic_agent_protocol.proto` and validated in CI
144
+
145
+ See `docs/lean4-formal-verification.md` for scope and usage.
146
+
96
147
  ### Schema summary
97
148
 
98
149
  JSON Schema files are generated from the protobuf definitions. Do not edit them by hand.
@@ -113,7 +164,6 @@ Schema files live under `schemas/v1/`:
113
164
  - `schemas/v1/execution_receipt.json`
114
165
  - `schemas/v1/run_context.json`
115
166
  - `schemas/v1/run_outcome.json`
116
- - `schemas/v1/delivery_contract.json`
117
167
  - `schemas/v1/agent_role.json`
118
168
  - `schemas/v1/dataset_ref.json`
119
169
  - `schemas/v1/experiment_spec.json`
@@ -336,19 +386,6 @@ Example:
336
386
  }
337
387
  ```
338
388
 
339
- ### DeliveryContract
340
-
341
- Typed acceptance contract for autonomous delivery execution.
342
-
343
- Required fields:
344
-
345
- - `objective`: plain-language objective statement
346
- - `definition_of_done`: ordered completion checklist
347
- - `required_checks`: required gate/check names for merge readiness
348
- - `risk_tier`: `low | medium | high | critical`
349
-
350
- Optional fields include cycle/turn budgets (`max_cycle_minutes`, `max_agent_turns`) and PR/review/rollback strategy hints.
351
-
352
389
  ### RunContext
353
390
 
354
391
  Execution hints for a runner.
@@ -142,6 +142,231 @@ message Intent {
142
142
  IntentClass intent_class = 10;
143
143
  }
144
144
 
145
+ message BootstrapIntent {
146
+ string contract_version = 1;
147
+ string bootstrap_intent_id = 2;
148
+ string project_key = 3;
149
+ repeated string target_repos = 4;
150
+ optional string pipeline_template_id = 5;
151
+ string campaign_goal = 6;
152
+ optional string notes = 7;
153
+ string priority_profile = 8;
154
+ uint64 created_at_ms = 9;
155
+ }
156
+
157
+ message AgentRunnerPreference {
158
+ string runner_id = 1;
159
+ optional string model = 2;
160
+ optional string provider = 3;
161
+ optional string reasoning_effort = 4;
162
+ repeated string required_capabilities = 5;
163
+ repeated string labels = 6;
164
+ google.protobuf.Struct extensions = 7;
165
+ }
166
+
167
+ message AgentRunnerPolicy {
168
+ string runner_policy_id = 1;
169
+ string display_name = 2;
170
+ optional string description = 3;
171
+ repeated AgentRunnerPreference runner_preferences = 4;
172
+ repeated string role_ids = 5;
173
+ google.protobuf.Struct extensions = 6;
174
+ }
175
+
176
+ message AgentProfile {
177
+ string agent_id = 1;
178
+ string role_id = 2;
179
+ string display_name = 3;
180
+ optional string description = 4;
181
+ repeated AgentRunnerPreference runner_preferences = 5;
182
+ repeated string allowed_network_modes = 6;
183
+ bool requires_human_review = 7;
184
+ repeated string required_skill_ids = 8;
185
+ repeated string required_mcp_ids = 9;
186
+ google.protobuf.Struct extensions = 10;
187
+ optional string runner_policy_id = 11;
188
+ }
189
+
190
+ message ResolvedAgentRunner {
191
+ string runner_id = 1;
192
+ optional string model = 2;
193
+ optional string provider = 3;
194
+ optional string reasoning_effort = 4;
195
+ uint32 preference_index = 5;
196
+ optional string selection_reason = 6;
197
+ google.protobuf.Struct extensions = 7;
198
+ }
199
+
200
+ message BootstrapPlanTask {
201
+ string task_id = 1;
202
+ string display_name = 2;
203
+ string role_id = 3;
204
+ string task_milestone = 4;
205
+ repeated string depends_on = 5;
206
+ optional string target_repo = 6;
207
+ repeated string required_skill_ids = 7;
208
+ repeated string required_mcp_ids = 8;
209
+ optional string interaction_mode = 9;
210
+ optional string network_mode = 10;
211
+ optional bool requires_human_review = 11;
212
+ google.protobuf.Struct filesystem_policy = 12;
213
+ optional string template_slot_id = 13;
214
+ optional string notes = 14;
215
+ optional string agent_id = 15;
216
+ optional string injected_by_role_id = 16;
217
+ repeated AgentRunnerPreference runner_preferences = 17;
218
+ optional ResolvedAgentRunner resolved_runner = 18;
219
+ }
220
+
221
+ enum BootstrapPlanningMode {
222
+ BOOTSTRAP_PLANNING_MODE_UNSPECIFIED = 0;
223
+ BOOTSTRAP_PLANNING_MODE_DIRECT_TEMPLATE_FILL = 1;
224
+ BOOTSTRAP_PLANNING_MODE_BOUNDED_RESEARCH_REPLAN = 2;
225
+ }
226
+
227
+ message BootstrapPlan {
228
+ string contract_version = 1;
229
+ string bootstrap_plan_id = 2;
230
+ string bootstrap_intent_id = 3;
231
+ string project_key = 4;
232
+ BootstrapPlanningMode planning_mode = 5;
233
+ optional string pipeline_template_id = 6;
234
+ string campaign_goal = 7;
235
+ uint64 created_at_ms = 8;
236
+ repeated BootstrapPlanTask tasks = 9;
237
+ }
238
+
239
+ message BootstrapFilesystemPolicy {
240
+ repeated string read = 1;
241
+ repeated string write = 2;
242
+ repeated string execute = 3;
243
+ }
244
+
245
+ message BootstrapSkillBinding {
246
+ string id = 1;
247
+ bool required = 2;
248
+ string purpose = 3;
249
+ }
250
+
251
+ message BootstrapTemplateSlotContext {
252
+ string slot_id = 1;
253
+ string display_name = 2;
254
+ string role = 3;
255
+ string interaction_mode = 4;
256
+ string network_mode = 5;
257
+ bool requires_human_review = 6;
258
+ BootstrapFilesystemPolicy filesystem_policy = 7;
259
+ repeated BootstrapSkillBinding required_skills = 8;
260
+ repeated string required_mcps = 9;
261
+ }
262
+
263
+ message BootstrapTemplateConnectionContext {
264
+ string from_slot_id = 1;
265
+ string to_slot_id = 2;
266
+ string kind = 3;
267
+ bool required = 4;
268
+ optional string description = 5;
269
+ }
270
+
271
+ message BootstrapTemplateLaneContext {
272
+ string lane_id = 1;
273
+ string display_name = 2;
274
+ string from_slot_id = 3;
275
+ string to_slot_id = 4;
276
+ repeated string slot_ids = 5;
277
+ bool repeat_per_task_group = 6;
278
+ }
279
+
280
+ message BootstrapTemplateContext {
281
+ string template_id = 1;
282
+ string display_name = 2;
283
+ repeated BootstrapTemplateSlotContext slots = 3;
284
+ repeated BootstrapTemplateConnectionContext connections = 4;
285
+ repeated BootstrapTemplateLaneContext lanes = 5;
286
+ }
287
+
288
+ message AgentCommand {
289
+ string runner_id = 1;
290
+ repeated string argv = 2;
291
+ }
292
+
293
+ message BootstrapPlanningContext {
294
+ string contract_version = 1;
295
+ string project_key = 2;
296
+ string target_repo = 3;
297
+ repeated string target_repos = 4;
298
+ string campaign_goal = 5;
299
+ optional string notes = 6;
300
+ string priority_profile = 7;
301
+ repeated string codex_cmd = 8 [deprecated = true];
302
+ repeated string available_skill_ids = 9;
303
+ optional BootstrapTemplateContext selected_template = 10;
304
+ BootstrapPlanningMode planning_mode = 11;
305
+ repeated string enabled_role_ids = 12;
306
+ repeated AgentCommand agent_cmds = 13;
307
+ repeated string default_agent_cmd = 14;
308
+ repeated AgentProfile agent_profiles = 15;
309
+ repeated RunnerCapabilities available_runners = 16;
310
+ repeated AgentRunnerPolicy runner_policies = 17;
311
+ }
312
+
313
+ enum CampaignPipelineConnectionKind {
314
+ CAMPAIGN_PIPELINE_CONNECTION_KIND_UNSPECIFIED = 0;
315
+ CAMPAIGN_PIPELINE_CONNECTION_KIND_DEPENDS_ON = 1;
316
+ CAMPAIGN_PIPELINE_CONNECTION_KIND_HANDOFF = 2;
317
+ CAMPAIGN_PIPELINE_CONNECTION_KIND_REVIEW = 3;
318
+ CAMPAIGN_PIPELINE_CONNECTION_KIND_MESSAGE_ROUTE = 4;
319
+ CAMPAIGN_PIPELINE_CONNECTION_KIND_ARTIFACT_FLOW = 5;
320
+ }
321
+
322
+ message CampaignPipelineTaskRef {
323
+ string task_id = 1;
324
+ string task_artifact = 2;
325
+ optional string role_id = 3;
326
+ optional string task_milestone = 4;
327
+ optional string task_format = 5;
328
+ repeated string depends_on = 6;
329
+ repeated string runner_args = 7;
330
+ optional string interaction_mode = 8;
331
+ optional string network_mode = 9;
332
+ bool requires_human_review = 10;
333
+ BootstrapFilesystemPolicy filesystem_policy = 11;
334
+ repeated BootstrapSkillBinding required_skills = 12;
335
+ repeated string required_mcp_ids = 13;
336
+ }
337
+
338
+ message CampaignPipelineConnection {
339
+ string from_task_id = 1;
340
+ string to_task_id = 2;
341
+ CampaignPipelineConnectionKind kind = 3;
342
+ bool required = 4;
343
+ optional string description = 5;
344
+ }
345
+
346
+ message CampaignPipelineGate {
347
+ string name = 1;
348
+ repeated string command = 2;
349
+ optional string workdir = 3;
350
+ }
351
+
352
+ message CampaignPipelineGatePolicy {
353
+ bool require_standard = 1;
354
+ repeated CampaignPipelineGate required_gates = 2;
355
+ }
356
+
357
+ message CampaignPipelineSpec {
358
+ string contract_version = 1;
359
+ string pipeline_id = 2;
360
+ string version = 3;
361
+ optional string objective = 4;
362
+ optional string project_key = 5;
363
+ bool continue_on_error = 6;
364
+ optional CampaignPipelineGatePolicy gate_policy = 7;
365
+ google.protobuf.Struct metadata = 8;
366
+ repeated CampaignPipelineConnection connections = 9;
367
+ repeated CampaignPipelineTaskRef tasks = 10;
368
+ }
369
+
145
370
  enum PlanStatus {
146
371
  PLAN_STATUS_UNSPECIFIED = 0;
147
372
  DRAFT = 1;
@@ -357,6 +582,7 @@ message ExecutionReceipt {
357
582
  PlanStatus status = 8;
358
583
  optional FailureDetail failure = 9;
359
584
  uint64 generated_at_ms = 10;
585
+ optional ResolvedAgentRunner resolved_runner = 11;
360
586
  }
361
587
 
362
588
  enum VerificationStatus {
@@ -580,13 +806,20 @@ message RunEventRecord {
580
806
  repeated string artifact_ids = 13;
581
807
  }
582
808
 
809
+ enum TaskMessageKind {
810
+ TASK_MESSAGE_KIND_UNSPECIFIED = 0;
811
+ TASK_MESSAGE_KIND_ARTIFACT_READY = 1;
812
+ TASK_MESSAGE_KIND_CLARIFICATION_REQUEST = 2;
813
+ TASK_MESSAGE_KIND_CLARIFICATION_RESPONSE = 3;
814
+ }
815
+
583
816
  message TaskMessage {
584
817
  string version = 1;
585
818
  string message_id = 2;
586
819
  string run_id = 3;
587
820
  string from_task_id = 4;
588
821
  string to_task_id = 5;
589
- string kind = 6;
822
+ TaskMessageKind kind = 6;
590
823
  optional string subject = 7;
591
824
  optional string body = 8;
592
825
  repeated string artifact_refs = 9;
@@ -661,6 +894,10 @@ message RunnerCapabilities {
661
894
  bool supports_resume = 7;
662
895
  google.protobuf.Struct extensions = 8;
663
896
  repeated string supported_role_ids = 9;
897
+ repeated string supported_models = 10;
898
+ repeated string supported_reasoning_efforts = 11;
899
+ repeated string supported_runner_capabilities = 12;
900
+ repeated string supported_providers = 13;
664
901
  }
665
902
 
666
903
  // LeaseRef is the canonical identity for a runner-owned execution lease. The
data/schemas/v1/task.json CHANGED
@@ -3,9 +3,6 @@
3
3
  "$schema": "https://json-schema.org/draft/2020-12/schema",
4
4
  "additionalProperties": true,
5
5
  "patternProperties": {
6
- "^(deliveryContract)$": {
7
- "$ref": "monarchic.agent_protocol.v1.DeliveryContract.schema.json"
8
- },
9
6
  "^(experimentSpec)$": {
10
7
  "$ref": "monarchic.agent_protocol.v1.ExperimentSpec.schema.json"
11
8
  },
@@ -30,9 +27,6 @@
30
27
  "constraints": {
31
28
  "$ref": "google.protobuf.Struct.schema.json"
32
29
  },
33
- "delivery_contract": {
34
- "$ref": "monarchic.agent_protocol.v1.DeliveryContract.schema.json"
35
- },
36
30
  "experiment_spec": {
37
31
  "$ref": "monarchic.agent_protocol.v1.ExperimentSpec.schema.json"
38
32
  },
@@ -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\"\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\"\xf6\x01\n\x0c\x46\x61ilureClass\x12\x10\n\x08\x63\x61tegory\x18\x01 \x01(\t\x12\x0c\n\x04\x63ode\x18\x02 \x01(\t\x12\x11\n\tretryable\x18\x03 \x01(\x08\x12\x13\n\x06\x64\x65tail\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05scope\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06source\x18\x06 \x01(\tH\x02\x88\x01\x01\x12\x18\n\x0bnext_action\x18\x07 \x01(\tH\x03\x88\x01\x01\x12+\n\nextensions\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructB\t\n\x07_detailB\x08\n\x06_scopeB\t\n\x07_sourceB\x0e\n\x0c_next_action\"\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\"\x99\x02\n\x06Intent\x12\x11\n\tintent_id\x18\x01 \x01(\t\x12\x14\n\x0csubmitted_at\x18\x02 \x01(\x04\x12\x11\n\tsubmitter\x18\x03 \x01(\t\x12\x16\n\x0epolicy_version\x18\x04 \x01(\t\x12\x13\n\x0btarget_repo\x18\x05 \x01(\t\x12\x12\n\ntarget_ref\x18\x06 \x01(\t\x12\x0c\n\x04goal\x18\x07 \x01(\t\x12,\n\x0b\x63onstraints\x18\x08 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x16\n\x0e\x63ontext_digest\x18\t \x01(\t\x12>\n\x0cintent_class\x18\n \x01(\x0e\x32(.monarchic.agent_protocol.v1.IntentClass\"O\n\x0eRoleProvenance\x12\x11\n\trole_name\x18\x01 \x01(\t\x12\x15\n\rtemplate_hash\x18\x02 \x01(\t\x12\x13\n\x0brender_hash\x18\x03 \x01(\t\"\xb8\x01\n\x0ePlanProvenance\x12\x14\n\x0cgenerated_by\x18\x01 \x01(\t\x12\x1b\n\x0epolicy_profile\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\x0fgenerated_at_ms\x18\x03 \x01(\x04\x12>\n\x04role\x18\x04 \x01(\x0b\x32+.monarchic.agent_protocol.v1.RoleProvenanceH\x01\x88\x01\x01\x42\x11\n\x0f_policy_profileB\x07\n\x05_role\"g\n\rFailureDetail\x12\r\n\x05\x63lass\x18\x01 \x01(\t\x12\x0c\n\x04\x63ode\x18\x02 \x01(\t\x12\x0f\n\x07message\x18\x03 \x01(\t\x12(\n\x07\x64\x65tails\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\"\xc8\x01\n\x12\x41rtifactDescriptor\x12\x13\n\x0b\x61rtifact_id\x18\x01 \x01(\t\x12\x37\n\x04kind\x18\x02 \x01(\x0e\x32).monarchic.agent_protocol.v1.ArtifactKind\x12\x0e\n\x06\x64igest\x18\x03 \x01(\t\x12\x12\n\nmedia_type\x18\x04 \x01(\t\x12\x14\n\x0clogical_name\x18\x05 \x01(\t\x12\x10\n\x08producer\x18\x06 \x01(\t\x12\x18\n\x10\x63ontract_version\x18\x07 \x01(\t\"\xf2\x01\n\x0e\x44igestManifest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x13\n\x0bmanifest_id\x18\x02 \x01(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\t\x12\x0f\n\x07plan_id\x18\x04 \x01(\t\x12\x12\n\ncreated_at\x18\x05 \x01(\x04\x12\x17\n\x0f\x63ombined_digest\x18\x06 \x01(\t\x12\x14\n\x0c\x65vent_digest\x18\x07 \x01(\t\x12M\n\x14\x61rtifact_descriptors\x18\x08 \x03(\x0b\x32/.monarchic.agent_protocol.v1.ArtifactDescriptor\"b\n\x0cPrincipalRef\x12\x14\n\x0cprincipal_id\x18\x01 \x01(\t\x12\x10\n\x08provider\x18\x02 \x01(\t\x12\x19\n\x0c\x64isplay_name\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_display_name\"J\n\tTenantRef\x12\x11\n\ttenant_id\x18\x01 \x01(\t\x12\x19\n\x0c\x64isplay_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_display_name\"\xd7\x02\n\x0b\x41uthContext\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x17\n\x0f\x61uth_context_id\x18\x02 \x01(\t\x12<\n\tprincipal\x18\x03 \x01(\x0b\x32).monarchic.agent_protocol.v1.PrincipalRef\x12\x36\n\x06tenant\x18\x04 \x01(\x0b\x32&.monarchic.agent_protocol.v1.TenantRef\x12=\n\tmechanism\x18\x05 \x01(\x0e\x32*.monarchic.agent_protocol.v1.AuthMechanism\x12\x15\n\rcredential_id\x18\x06 \x01(\t\x12\x0e\n\x06scopes\x18\x07 \x03(\t\x12\x11\n\tissued_at\x18\x08 \x01(\x04\x12\x17\n\nexpires_at\x18\t \x01(\x04H\x00\x88\x01\x01\x42\r\n\x0b_expires_at\"\xa1\x03\n\x0bUsageRecord\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x10\n\x08usage_id\x18\x02 \x01(\t\x12<\n\tprincipal\x18\x03 \x01(\x0b\x32).monarchic.agent_protocol.v1.PrincipalRef\x12\x36\n\x06tenant\x18\x04 \x01(\x0b\x32&.monarchic.agent_protocol.v1.TenantRef\x12\x13\n\x06run_id\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07plan_id\x18\x06 \x01(\tH\x01\x88\x01\x01\x12<\n\x08\x63\x61tegory\x18\x07 \x01(\x0e\x32*.monarchic.agent_protocol.v1.UsageCategory\x12\x13\n\x0bmetric_name\x18\x08 \x01(\t\x12\x10\n\x08quantity\x18\t \x01(\x04\x12\x34\n\x04unit\x18\n \x01(\x0e\x32&.monarchic.agent_protocol.v1.UsageUnit\x12\x13\n\x0brecorded_at\x18\x0b \x01(\x04\x42\t\n\x07_run_idB\n\n\x08_plan_id\"\xd6\x02\n\x13\x41uditExportManifest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x11\n\texport_id\x18\x02 \x01(\t\x12<\n\tprincipal\x18\x03 \x01(\x0b\x32).monarchic.agent_protocol.v1.PrincipalRef\x12\x36\n\x06tenant\x18\x04 \x01(\x0b\x32&.monarchic.agent_protocol.v1.TenantRef\x12\x0e\n\x06run_id\x18\x05 \x01(\t\x12\x0f\n\x07plan_id\x18\x06 \x01(\t\x12\x13\n\x0b\x65xported_at\x18\x07 \x01(\x04\x12\x17\n\x0f\x63ombined_digest\x18\x08 \x01(\t\x12M\n\x14\x61rtifact_descriptors\x18\t \x03(\x0b\x32/.monarchic.agent_protocol.v1.ArtifactDescriptor\"c\n\x0cReplanPolicy\x12=\n\x08strategy\x18\x01 \x01(\x0e\x32+.monarchic.agent_protocol.v1.ReplanStrategy\x12\x14\n\x0cmax_attempts\x18\x02 \x01(\r\"f\n\x15StepOutputExpectation\x12\x37\n\x04kind\x18\x01 \x01(\x0e\x32).monarchic.agent_protocol.v1.ArtifactKind\x12\x14\n\x0clogical_name\x18\x02 \x01(\t\"\xa9\x03\n\x08PlanStep\x12\x0f\n\x07step_id\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x12\n\ndepends_on\x18\x03 \x03(\t\x12.\n\rtask_template\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\x12@\n\x07\x66\x61ilure\x18\x05 \x01(\x0b\x32*.monarchic.agent_protocol.v1.FailureDetailH\x00\x88\x01\x01\x12\x14\n\x07task_id\x18\x06 \x01(\tH\x01\x88\x01\x01\x12\x37\n\x04kind\x18\x07 \x01(\x0e\x32).monarchic.agent_protocol.v1.PlanStepKind\x12\'\n\x06inputs\x18\x08 \x01(\x0b\x32\x17.google.protobuf.Struct\x12L\n\x10\x65xpected_outputs\x18\t \x03(\x0b\x32\x32.monarchic.agent_protocol.v1.StepOutputExpectation\x12\x13\n\x0bpolicy_tags\x18\n \x03(\tB\n\n\x08_failureB\n\n\x08_task_id\"\xb4\x04\n\x04Plan\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x0f\n\x07plan_id\x18\x02 \x01(\t\x12\x13\n\x06run_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x11\n\tobjective\x18\x04 \x01(\t\x12\x37\n\x06status\x18\x05 \x01(\x0e\x32\'.monarchic.agent_protocol.v1.PlanStatus\x12\x15\n\rcreated_at_ms\x18\x06 \x01(\x04\x12\x15\n\rupdated_at_ms\x18\x07 \x01(\x04\x12?\n\nprovenance\x18\x08 \x01(\x0b\x32+.monarchic.agent_protocol.v1.PlanProvenance\x12\x34\n\x05steps\x18\t \x03(\x0b\x32%.monarchic.agent_protocol.v1.PlanStep\x12\x16\n\tintent_id\x18\n \x01(\tH\x01\x88\x01\x01\x12\x19\n\x0cplan_version\x18\x0b \x01(\tH\x02\x88\x01\x01\x12\x1c\n\x0fplanner_version\x18\x0c \x01(\tH\x03\x88\x01\x01\x12@\n\rreplan_policy\x18\r \x01(\x0b\x32).monarchic.agent_protocol.v1.ReplanPolicy\x12\x19\n\x0cinput_digest\x18\x0e \x01(\tH\x04\x88\x01\x01\x42\t\n\x07_run_idB\x0c\n\n_intent_idB\x0f\n\r_plan_versionB\x12\n\x10_planner_versionB\x0f\n\r_input_digest\"\xc4\x02\n\x10\x45xecutionReceipt\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12\x0f\n\x07plan_id\x18\x03 \x01(\t\x12\x11\n\tplan_hash\x18\x04 \x01(\t\x12\x13\n\x0btask_hashes\x18\x05 \x03(\t\x12\x17\n\x0f\x61rtifact_hashes\x18\x06 \x03(\t\x12\x14\n\x0coutcome_hash\x18\x07 \x01(\t\x12\x37\n\x06status\x18\x08 \x01(\x0e\x32\'.monarchic.agent_protocol.v1.PlanStatus\x12@\n\x07\x66\x61ilure\x18\t \x01(\x0b\x32*.monarchic.agent_protocol.v1.FailureDetailH\x00\x88\x01\x01\x12\x17\n\x0fgenerated_at_ms\x18\n \x01(\x04\x42\n\n\x08_failure\"\xa0\x01\n\x11VerificationCheck\x12\x10\n\x08\x63heck_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x44\n\x06status\x18\x03 \x01(\x0e\x32\x34.monarchic.agent_protocol.v1.VerificationCheckStatus\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x14\n\x0c\x61rtifact_ids\x18\x05 \x03(\t\"\xe7\x01\n\x0e\x42lockedOutcome\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\x12?\n\x05scope\x18\x02 \x01(\x0e\x32\x30.monarchic.agent_protocol.v1.BlockedOutcomeScope\x12\x0f\n\x07message\x18\x03 \x01(\t\x12(\n\x07\x64\x65tails\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\x12K\n\x12\x62locking_artifacts\x18\x05 \x03(\x0b\x32/.monarchic.agent_protocol.v1.ArtifactDescriptor\"\x9a\x03\n\x13VerificationReceipt\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x17\n\x0fverification_id\x18\x02 \x01(\t\x12\x0f\n\x07plan_id\x18\x03 \x01(\t\x12\x1d\n\x15\x65xecution_receipt_ids\x18\x04 \x03(\t\x12#\n\x1bverification_policy_version\x18\x05 \x01(\t\x12?\n\x06status\x18\x06 \x01(\x0e\x32/.monarchic.agent_protocol.v1.VerificationStatus\x12>\n\x06\x63hecks\x18\x07 \x03(\x0b\x32..monarchic.agent_protocol.v1.VerificationCheck\x12\x45\n\x10\x62locked_outcomes\x18\x08 \x03(\x0b\x32+.monarchic.agent_protocol.v1.BlockedOutcome\x12\x1b\n\x13\x61rtifact_digest_set\x18\t \x03(\t\x12\x16\n\x0everified_at_ms\x18\n \x01(\x04\"\xec\x01\n\x0eReviewDecision\x12\x13\n\x0b\x64\x65\x63ision_id\x18\x01 \x01(\t\x12\x0f\n\x07plan_id\x18\x02 \x01(\t\x12?\n\x05scope\x18\x03 \x01(\x0e\x32\x30.monarchic.agent_protocol.v1.ReviewDecisionScope\x12\r\n\x05\x61\x63tor\x18\x04 \x01(\t\x12@\n\x08\x64\x65\x63ision\x18\x05 \x01(\x0e\x32..monarchic.agent_protocol.v1.ReviewDisposition\x12\x0e\n\x06reason\x18\x06 \x01(\t\x12\x12\n\ncreated_at\x18\x07 \x01(\x04\"\xfa\x01\n\nRerunScope\x12\x10\n\x08scope_id\x18\x01 \x01(\t\x12\x0f\n\x07plan_id\x18\x02 \x01(\t\x12:\n\x07trigger\x18\x03 \x01(\x0e\x32).monarchic.agent_protocol.v1.RerunTrigger\x12\x0e\n\x06reason\x18\x04 \x01(\t\x12\x1f\n\x12source_decision_id\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x10\n\x08task_ids\x18\x06 \x03(\t\x12\x10\n\x08step_ids\x18\x07 \x03(\t\x12\r\n\x05paths\x18\x08 \x03(\t\x12\x12\n\ncreated_at\x18\t \x01(\x04\x42\x15\n\x13_source_decision_id\"\x99\x04\n\x14RerunExecutionResult\x12\x11\n\tresult_id\x18\x01 \x01(\t\x12\x0f\n\x07plan_id\x18\x02 \x01(\t\x12\x16\n\x0ererun_scope_id\x18\x03 \x01(\t\x12\x1f\n\x12source_decision_id\x18\x04 \x01(\tH\x00\x88\x01\x01\x12:\n\x07trigger\x18\x05 \x01(\x0e\x32).monarchic.agent_protocol.v1.RerunTrigger\x12M\n\x10matched_strategy\x18\x06 \x01(\x0e\x32\x33.monarchic.agent_protocol.v1.RerunSelectionStrategy\x12\x12\n\nroot_tasks\x18\x07 \x03(\t\x12\x16\n\x0eselected_tasks\x18\x08 \x03(\t\x12\x15\n\rmatched_paths\x18\t \x03(\t\x12\x0e\n\x06reason\x18\n \x01(\t\x12\x41\n\x06status\x18\x0b \x01(\x0e\x32\x31.monarchic.agent_protocol.v1.RerunExecutionStatus\x12\x17\n\x0f\x63ompleted_tasks\x18\x0c \x03(\t\x12\x14\n\x0c\x66\x61iled_tasks\x18\r \x03(\t\x12\x15\n\rskipped_tasks\x18\x0e \x03(\t\x12\x12\n\ncreated_at\x18\x0f \x01(\x04\x12\x12\n\nupdated_at\x18\x10 \x01(\x04\x42\x15\n\x13_source_decision_id\"\x81\x05\n\x10PrLifecycleState\x12\x10\n\x08state_id\x18\x01 \x01(\t\x12\x0f\n\x07plan_id\x18\x02 \x01(\t\x12\x16\n\tpr_number\x18\x03 \x01(\x04H\x00\x88\x01\x01\x12\x13\n\x06pr_url\x18\x04 \x01(\tH\x01\x88\x01\x01\x12I\n\x0freview_decision\x18\x05 \x01(\x0b\x32+.monarchic.agent_protocol.v1.ReviewDecisionH\x02\x88\x01\x01\x12\x41\n\x0brerun_scope\x18\x06 \x01(\x0b\x32\'.monarchic.agent_protocol.v1.RerunScopeH\x03\x88\x01\x01\x12L\n\x0crerun_result\x18\x07 \x01(\x0b\x32\x31.monarchic.agent_protocol.v1.RerunExecutionResultH\x04\x88\x01\x01\x12S\n\x14verification_receipt\x18\x08 \x01(\x0b\x32\x30.monarchic.agent_protocol.v1.VerificationReceiptH\x05\x88\x01\x01\x12\x13\n\x0bmerge_ready\x18\t \x01(\x08\x12\x15\n\rrelease_ready\x18\n \x01(\x08\x12\x45\n\x10\x62locked_outcomes\x18\x0b \x03(\x0b\x32+.monarchic.agent_protocol.v1.BlockedOutcome\x12\x12\n\nupdated_at\x18\x0c \x01(\x04\x42\x0c\n\n_pr_numberB\t\n\x07_pr_urlB\x12\n\x10_review_decisionB\x0e\n\x0c_rerun_scopeB\x0f\n\r_rerun_resultB\x17\n\x15_verification_receipt\"\xd0\x03\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\x12\x42\n\x0eobjective_spec\x18\x0b \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\"\xed\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.EvalResult\x12@\n\rfailure_class\x18\n \x01(\x0b\x32).monarchic.agent_protocol.v1.FailureClassB\n\n\x08_message\"\xe1\x02\n\x0eRunEventRecord\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x10\n\x08\x65vent_id\x18\x02 \x01(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\t\x12\x0f\n\x07plan_id\x18\x04 \x01(\t\x12\x10\n\x08sequence\x18\x05 \x01(\x04\x12;\n\x06stream\x18\x06 \x01(\x0e\x32+.monarchic.agent_protocol.v1.RunEventStream\x12\x13\n\x0brecorded_at\x18\x07 \x01(\x04\x12\x14\n\x07step_id\x18\x08 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07task_id\x18\t \x01(\tH\x01\x88\x01\x01\x12\x12\n\nevent_type\x18\n \x01(\t\x12\x0e\n\x06status\x18\x0b \x01(\t\x12\x14\n\x07message\x18\x0c \x01(\tH\x02\x88\x01\x01\x12\x14\n\x0c\x61rtifact_ids\x18\r \x03(\tB\n\n\x08_step_idB\n\n\x08_task_idB\n\n\x08_message\"\x87\x03\n\x0bTaskMessage\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x12\n\nmessage_id\x18\x02 \x01(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\t\x12\x14\n\x0c\x66rom_task_id\x18\x04 \x01(\t\x12\x12\n\nto_task_id\x18\x05 \x01(\t\x12\x0c\n\x04kind\x18\x06 \x01(\t\x12\x14\n\x07subject\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04\x62ody\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x15\n\rartifact_refs\x18\t \x03(\t\x12\x15\n\x08reply_to\x18\n \x01(\tH\x02\x88\x01\x01\x12\x12\n\ncreated_at\x18\x0b \x01(\t\x12\x14\n\x0crequires_ack\x18\x0c \x01(\x08\x12+\n\nextensions\x18\r \x01(\x0b\x32\x17.google.protobuf.Struct\x12;\n\nprovenance\x18\x0e \x01(\x0b\x32\'.monarchic.agent_protocol.v1.ProvenanceB\n\n\x08_subjectB\x07\n\x05_bodyB\x0b\n\t_reply_to\"\xc1\x01\n\x0eTaskMessageAck\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x12\n\nmessage_id\x18\x02 \x01(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\t\x12\x0f\n\x07task_id\x18\x04 \x01(\t\x12\x10\n\x08\x61\x63ked_at\x18\x05 \x01(\t\x12\x0e\n\x06status\x18\x06 \x01(\t\x12\x11\n\x04note\x18\x07 \x01(\tH\x00\x88\x01\x01\x12+\n\nextensions\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructB\x07\n\x05_note\"\xf5\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.Struct\x12@\n\rfailure_class\x18\x07 \x01(\x0b\x32).monarchic.agent_protocol.v1.FailureClassB\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\"\x91\x02\n\x12RunnerCapabilities\x12\x10\n\x08platform\x18\x01 \x01(\t\x12\x0f\n\x07runtime\x18\x02 \x01(\t\x12?\n\x0fsupported_roles\x18\x03 \x03(\x0e\x32&.monarchic.agent_protocol.v1.AgentRole\x12\x1f\n\x17supported_task_versions\x18\x04 \x03(\t\x12\x0e\n\x06labels\x18\x05 \x03(\t\x12 \n\x18supports_interactive_pty\x18\x06 \x01(\x08\x12\x17\n\x0fsupports_resume\x18\x07 \x01(\x08\x12+\n\nextensions\x18\x08 \x01(\x0b\x32\x17.google.protobuf.Struct\"v\n\x08LeaseRef\x12\x10\n\x08lease_id\x18\x01 \x01(\t\x12\x15\n\rfencing_token\x18\x02 \x01(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\t\x12\x0f\n\x07plan_id\x18\x04 \x01(\t\x12\x0f\n\x07step_id\x18\x05 \x01(\t\x12\x0f\n\x07task_id\x18\x06 \x01(\t\"\x7f\n\x0c\x46\x65ncingToken\x12\r\n\x05token\x18\x01 \x01(\t\x12\x14\n\x0cissued_at_ms\x18\x02 \x01(\x04\x12\x0e\n\x06issuer\x18\x03 \x01(\t\x12\r\n\x05scope\x18\x04 \x01(\t\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\"\xe1\x02\n\x05Lease\x12\x10\n\x08lease_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12\x0f\n\x07plan_id\x18\x03 \x01(\t\x12\x0f\n\x07step_id\x18\x04 \x01(\t\x12\x0f\n\x07task_id\x18\x05 \x01(\t\x12\x11\n\trunner_id\x18\x06 \x01(\t\x12\x12\n\nsession_id\x18\x07 \x01(\t\x12@\n\rfencing_token\x18\x08 \x01(\x0b\x32).monarchic.agent_protocol.v1.FencingToken\x12\x14\n\x0cissued_at_ms\x18\t \x01(\x04\x12\x15\n\rexpires_at_ms\x18\n \x01(\x04\x12@\n\x06status\x18\x0b \x01(\x0e\x32\x30.monarchic.agent_protocol.v1.LeaseLifecycleState\x12+\n\nextensions\x18\x0c \x01(\x0b\x32\x17.google.protobuf.Struct\"\xaf\x04\n\rRecoveryEvent\x12\x10\n\x08\x65vent_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12\x0f\n\x07plan_id\x18\x03 \x01(\t\x12\x14\n\x07step_id\x18\x04 \x01(\tH\x00\x88\x01\x01\x12<\n\x04kind\x18\x05 \x01(\x0e\x32..monarchic.agent_protocol.v1.RecoveryEventKind\x12\x16\n\x0eoccurred_at_ms\x18\x06 \x01(\x04\x12\r\n\x05\x61\x63tor\x18\x07 \x01(\t\x12(\n\x07\x64\x65tails\x18\x08 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x18\n\x10\x63ontract_version\x18\t \x01(\t\x12\x46\n\trun_state\x18\n \x01(\x0e\x32..monarchic.agent_protocol.v1.RunLifecycleStateH\x01\x88\x01\x01\x12H\n\nstep_state\x18\x0b \x01(\x0e\x32/.monarchic.agent_protocol.v1.StepLifecycleStateH\x02\x88\x01\x01\x12V\n\x16lease_rejection_reason\x18\x0c \x01(\x0e\x32\x31.monarchic.agent_protocol.v1.LeaseRejectionReasonH\x03\x88\x01\x01\x42\n\n\x08_step_idB\x0c\n\n_run_stateB\r\n\x0b_step_stateB\x19\n\x17_lease_rejection_reason\"\xe4\x01\n\x0bLeaseStatus\x12\x34\n\x05lease\x18\x01 \x01(\x0b\x32%.monarchic.agent_protocol.v1.LeaseRef\x12\r\n\x05state\x18\x02 \x01(\t\x12\x15\n\rupdated_at_ms\x18\x03 \x01(\x04\x12@\n\x07\x66\x61ilure\x18\x04 \x01(\x0b\x32*.monarchic.agent_protocol.v1.FailureDetailH\x00\x88\x01\x01\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructB\n\n\x08_failure\"\xaf\x01\n\x12\x43\x61ncellationIntent\x12\x34\n\x05lease\x18\x01 \x01(\x0b\x32%.monarchic.agent_protocol.v1.LeaseRef\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x17\n\x0frequested_at_ms\x18\x03 \x01(\x04\x12\r\n\x05\x66orce\x18\x04 \x01(\x08\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\"\xd1\x01\n\x0fLeaseAssignment\x12\x34\n\x05lease\x18\x01 \x01(\x0b\x32%.monarchic.agent_protocol.v1.LeaseRef\x12/\n\x04task\x18\x02 \x01(\x0b\x32!.monarchic.agent_protocol.v1.Task\x12\x14\n\x0cissued_at_ms\x18\x03 \x01(\x04\x12\x14\n\x0clease_ttl_ms\x18\x04 \x01(\x04\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\"\xab\x02\n\x15RegisterRunnerRequest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x11\n\trunner_id\x18\x02 \x01(\t\x12\x45\n\x0c\x63\x61pabilities\x18\x03 \x01(\x0b\x32/.monarchic.agent_protocol.v1.RunnerCapabilities\x12\x1b\n\x13max_parallel_leases\x18\x04 \x01(\r\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x43\n\x0c\x61uth_context\x18\x06 \x01(\x0b\x32(.monarchic.agent_protocol.v1.AuthContextH\x00\x88\x01\x01\x42\x0f\n\r_auth_context\"\xcb\x01\n\x16RegisterRunnerResponse\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x17\n\x0forchestrator_id\x18\x02 \x01(\t\x12\x12\n\nsession_id\x18\x03 \x01(\t\x12\x1d\n\x15heartbeat_interval_ms\x18\x04 \x01(\x04\x12\x1e\n\x16lease_poll_interval_ms\x18\x05 \x01(\x04\x12+\n\nextensions\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\"\x97\x02\n\x10HeartbeatRequest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x11\n\trunner_id\x18\x02 \x01(\t\x12\x12\n\nsession_id\x18\x03 \x01(\t\x12?\n\ractive_leases\x18\x04 \x03(\x0b\x32(.monarchic.agent_protocol.v1.LeaseStatus\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x43\n\x0c\x61uth_context\x18\x06 \x01(\x0b\x32(.monarchic.agent_protocol.v1.AuthContextH\x00\x88\x01\x01\x42\x0f\n\r_auth_context\"\xd6\x01\n\x11HeartbeatResponse\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x17\n\x0forchestrator_id\x18\x02 \x01(\t\x12\x19\n\x11next_heartbeat_ms\x18\x03 \x01(\x04\x12\x46\n\rcancellations\x18\x04 \x03(\x0b\x32/.monarchic.agent_protocol.v1.CancellationIntent\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\"\x8c\x02\n\x13\x41\x63quireLeaseRequest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x11\n\trunner_id\x18\x02 \x01(\t\x12\x12\n\nsession_id\x18\x03 \x01(\t\x12\x17\n\x0f\x61vailable_slots\x18\x04 \x01(\r\x12\x18\n\x10\x61\x63tive_lease_ids\x18\x05 \x03(\t\x12+\n\nextensions\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x43\n\x0c\x61uth_context\x18\x07 \x01(\x0b\x32(.monarchic.agent_protocol.v1.AuthContextH\x00\x88\x01\x01\x42\x0f\n\r_auth_context\"\x98\x02\n\x14\x41\x63quireLeaseResponse\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x17\n\x0forchestrator_id\x18\x02 \x01(\t\x12@\n\nassignment\x18\x03 \x01(\x0b\x32,.monarchic.agent_protocol.v1.LeaseAssignment\x12\x16\n\x0eretry_after_ms\x18\x04 \x01(\x04\x12\x46\n\rcancellations\x18\x05 \x03(\x0b\x32/.monarchic.agent_protocol.v1.CancellationIntent\x12+\n\nextensions\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\"\x8d\x02\n\x11RenewLeaseRequest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x11\n\trunner_id\x18\x02 \x01(\t\x12\x12\n\nsession_id\x18\x03 \x01(\t\x12\x34\n\x05lease\x18\x04 \x01(\x0b\x32%.monarchic.agent_protocol.v1.LeaseRef\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x43\n\x0c\x61uth_context\x18\x06 \x01(\x0b\x32(.monarchic.agent_protocol.v1.AuthContextH\x00\x88\x01\x01\x42\x0f\n\r_auth_context\"\xb2\x02\n\x12RenewLeaseResponse\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x17\n\x0forchestrator_id\x18\x02 \x01(\t\x12\x10\n\x08\x61\x63\x63\x65pted\x18\x03 \x01(\x08\x12\x14\n\x0clease_ttl_ms\x18\x04 \x01(\x04\x12\x46\n\rcancellations\x18\x05 \x03(\x0b\x32/.monarchic.agent_protocol.v1.CancellationIntent\x12@\n\x07\x66\x61ilure\x18\x06 \x01(\x0b\x32*.monarchic.agent_protocol.v1.FailureDetailH\x00\x88\x01\x01\x12+\n\nextensions\x18\x07 \x01(\x0b\x32\x17.google.protobuf.StructB\n\n\x08_failure\"\x8e\x02\n\x12ResumeLeaseRequest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x11\n\trunner_id\x18\x02 \x01(\t\x12\x12\n\nsession_id\x18\x03 \x01(\t\x12\x34\n\x05lease\x18\x04 \x01(\x0b\x32%.monarchic.agent_protocol.v1.LeaseRef\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x43\n\x0c\x61uth_context\x18\x06 \x01(\x0b\x32(.monarchic.agent_protocol.v1.AuthContextH\x00\x88\x01\x01\x42\x0f\n\r_auth_context\"\xc4\x02\n\x13ResumeLeaseResponse\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x17\n\x0forchestrator_id\x18\x02 \x01(\t\x12\x10\n\x08\x61\x63\x63\x65pted\x18\x03 \x01(\x08\x12\x31\n\x05lease\x18\x04 \x01(\x0b\x32\".monarchic.agent_protocol.v1.Lease\x12\x15\n\rexpires_at_ms\x18\x05 \x01(\x04\x12\x1d\n\x15\x63urrent_fencing_token\x18\x06 \x01(\t\x12\x41\n\x06reason\x18\x07 \x01(\x0e\x32\x31.monarchic.agent_protocol.v1.LeaseRejectionReason\x12\x0f\n\x07message\x18\x08 \x01(\t\x12+\n\nextensions\x18\t \x01(\x0b\x32\x17.google.protobuf.Struct\"\xa8\x02\n\x18ReportStepStartedRequest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x11\n\trunner_id\x18\x02 \x01(\t\x12\x12\n\nsession_id\x18\x03 \x01(\t\x12\x34\n\x05lease\x18\x04 \x01(\x0b\x32%.monarchic.agent_protocol.v1.LeaseRef\x12\x12\n\nstarted_at\x18\x05 \x01(\t\x12+\n\nextensions\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x43\n\x0c\x61uth_context\x18\x07 \x01(\x0b\x32(.monarchic.agent_protocol.v1.AuthContextH\x00\x88\x01\x01\x42\x0f\n\r_auth_context\"\xdb\x01\n\x19ReportStepStartedResponse\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x17\n\x0forchestrator_id\x18\x02 \x01(\t\x12\x10\n\x08\x61\x63\x63\x65pted\x18\x03 \x01(\x08\x12@\n\x07\x66\x61ilure\x18\x04 \x01(\x0b\x32*.monarchic.agent_protocol.v1.FailureDetailH\x00\x88\x01\x01\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructB\n\n\x08_failure\"\x83\x03\n\x19ReportStepProgressRequest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x11\n\trunner_id\x18\x02 \x01(\t\x12\x12\n\nsession_id\x18\x03 \x01(\t\x12\x34\n\x05lease\x18\x04 \x01(\x0b\x32%.monarchic.agent_protocol.v1.LeaseRef\x12\x32\n\x06\x65vents\x18\x05 \x03(\x0b\x32\".monarchic.agent_protocol.v1.Event\x12\x38\n\tartifacts\x18\x06 \x03(\x0b\x32%.monarchic.agent_protocol.v1.Artifact\x12+\n\nextensions\x18\x07 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x43\n\x0c\x61uth_context\x18\x08 \x01(\x0b\x32(.monarchic.agent_protocol.v1.AuthContextH\x00\x88\x01\x01\x42\x0f\n\r_auth_context\"\xa4\x02\n\x1aReportStepProgressResponse\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x17\n\x0forchestrator_id\x18\x02 \x01(\t\x12\x10\n\x08\x61\x63\x63\x65pted\x18\x03 \x01(\x08\x12\x46\n\rcancellations\x18\x04 \x03(\x0b\x32/.monarchic.agent_protocol.v1.CancellationIntent\x12@\n\x07\x66\x61ilure\x18\x05 \x01(\x0b\x32*.monarchic.agent_protocol.v1.FailureDetailH\x00\x88\x01\x01\x12+\n\nextensions\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructB\n\n\x08_failure\"\xf1\x04\n\x18ReportStepOutcomeRequest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x11\n\trunner_id\x18\x02 \x01(\t\x12\x12\n\nsession_id\x18\x03 \x01(\t\x12\x34\n\x05lease\x18\x04 \x01(\x0b\x32%.monarchic.agent_protocol.v1.LeaseRef\x12\x37\n\x06status\x18\x05 \x01(\x0e\x32\'.monarchic.agent_protocol.v1.PlanStatus\x12\x32\n\x06\x65vents\x18\x06 \x03(\x0b\x32\".monarchic.agent_protocol.v1.Event\x12\x38\n\tartifacts\x18\x07 \x03(\x0b\x32%.monarchic.agent_protocol.v1.Artifact\x12\x41\n\x0brun_outcome\x18\x08 \x01(\x0b\x32\'.monarchic.agent_protocol.v1.RunOutcomeH\x00\x88\x01\x01\x12@\n\x07\x66\x61ilure\x18\t \x01(\x0b\x32*.monarchic.agent_protocol.v1.FailureDetailH\x01\x88\x01\x01\x12\x13\n\x0b\x66inished_at\x18\n \x01(\t\x12+\n\nextensions\x18\x0b \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x43\n\x0c\x61uth_context\x18\x0c \x01(\x0b\x32(.monarchic.agent_protocol.v1.AuthContextH\x02\x88\x01\x01\x42\x0e\n\x0c_run_outcomeB\n\n\x08_failureB\x0f\n\r_auth_context\"\xdb\x01\n\x19ReportStepOutcomeResponse\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x17\n\x0forchestrator_id\x18\x02 \x01(\t\x12\x10\n\x08\x61\x63\x63\x65pted\x18\x03 \x01(\x08\x12@\n\x07\x66\x61ilure\x18\x04 \x01(\x0b\x32*.monarchic.agent_protocol.v1.FailureDetailH\x00\x88\x01\x01\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructB\n\n\x08_failure\"\xc4\x02\n\x16\x41\x63kCancellationRequest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x11\n\trunner_id\x18\x02 \x01(\t\x12\x12\n\nsession_id\x18\x03 \x01(\t\x12\x34\n\x05lease\x18\x04 \x01(\x0b\x32%.monarchic.agent_protocol.v1.LeaseRef\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\x43\n\x0c\x61uth_context\x18\x08 \x01(\x0b\x32(.monarchic.agent_protocol.v1.AuthContextH\x01\x88\x01\x01\x42\n\n\x08_messageB\x0f\n\r_auth_context\"\xd9\x01\n\x17\x41\x63kCancellationResponse\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x17\n\x0forchestrator_id\x18\x02 \x01(\t\x12\x10\n\x08\x61\x63\x63\x65pted\x18\x03 \x01(\x08\x12@\n\x07\x66\x61ilure\x18\x04 \x01(\x0b\x32*.monarchic.agent_protocol.v1.FailureDetailH\x00\x88\x01\x01\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructB\n\n\x08_failure*\xb6\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\x12\r\n\tPUBLISHER\x10\x08\x12\x0e\n\nRESEARCHER\x10\t\x12\x10\n\x0cVERIFICATION\x10\n*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*\x93\x01\n\x0bIntentClass\x12\x1c\n\x18INTENT_CLASS_UNSPECIFIED\x10\x00\x12\x18\n\x14INTENT_CLASS_INSPECT\x10\x01\x12\x19\n\x15INTENT_CLASS_VALIDATE\x10\x02\x12\x18\n\x14INTENT_CLASS_EXECUTE\x10\x03\x12\x17\n\x13INTENT_CLASS_VERIFY\x10\x04*\x93\x01\n\nPlanStatus\x12\x1b\n\x17PLAN_STATUS_UNSPECIFIED\x10\x00\x12\t\n\x05\x44RAFT\x10\x01\x12\x0b\n\x07PLANNED\x10\x02\x12\r\n\tEXECUTING\x10\x03\x12\x0c\n\x08\x43OMPLETE\x10\x04\x12\x0b\n\x07\x42OUNDED\x10\x05\x12\n\n\x06\x46\x41ILED\x10\x06\x12\r\n\tCANCELLED\x10\x07\x12\x0b\n\x07UNKNOWN\x10\x08*\xfd\x02\n\x0c\x41rtifactKind\x12\x1d\n\x19\x41RTIFACT_KIND_UNSPECIFIED\x10\x00\x12\x16\n\x12\x41RTIFACT_KIND_PLAN\x10\x01\x12#\n\x1f\x41RTIFACT_KIND_EXECUTION_RECEIPT\x10\x02\x12&\n\"ARTIFACT_KIND_VERIFICATION_RECEIPT\x10\x03\x12\x1b\n\x17\x41RTIFACT_KIND_EVENT_LOG\x10\x04\x12!\n\x1d\x41RTIFACT_KIND_DIGEST_MANIFEST\x10\x05\x12 \n\x1c\x41RTIFACT_KIND_PROOF_MANIFEST\x10\x06\x12\x17\n\x13\x41RTIFACT_KIND_PATCH\x10\x07\x12\x1d\n\x19\x41RTIFACT_KIND_TEST_REPORT\x10\x08\x12\x1b\n\x17\x41RTIFACT_KIND_BUILD_LOG\x10\t\x12\x18\n\x14\x41RTIFACT_KIND_BUNDLE\x10\n\x12\x18\n\x14\x41RTIFACT_KIND_CUSTOM\x10\x0b*\xcd\x01\n\rAuthMechanism\x12\x1e\n\x1a\x41UTH_MECHANISM_UNSPECIFIED\x10\x00\x12 \n\x1c\x41UTH_MECHANISM_SHARED_SECRET\x10\x01\x12\x1f\n\x1b\x41UTH_MECHANISM_BEARER_TOKEN\x10\x02\x12\x1f\n\x1b\x41UTH_MECHANISM_SIGNED_TOKEN\x10\x03\x12\x1d\n\x19\x41UTH_MECHANISM_MUTUAL_TLS\x10\x04\x12\x19\n\x15\x41UTH_MECHANISM_CUSTOM\x10\x05*\xcc\x01\n\rUsageCategory\x12\x1e\n\x1aUSAGE_CATEGORY_UNSPECIFIED\x10\x00\x12 \n\x1cUSAGE_CATEGORY_CONTROL_PLANE\x10\x01\x12\x1c\n\x18USAGE_CATEGORY_EXECUTION\x10\x02\x12\x1f\n\x1bUSAGE_CATEGORY_VERIFICATION\x10\x03\x12\x1f\n\x1bUSAGE_CATEGORY_AUDIT_EXPORT\x10\x04\x12\x19\n\x15USAGE_CATEGORY_CUSTOM\x10\x05*\xb6\x01\n\tUsageUnit\x12\x1a\n\x16USAGE_UNIT_UNSPECIFIED\x10\x00\x12\x17\n\x13USAGE_UNIT_REQUESTS\x10\x01\x12\x1b\n\x17USAGE_UNIT_MILLISECONDS\x10\x02\x12\x14\n\x10USAGE_UNIT_BYTES\x10\x03\x12\x15\n\x11USAGE_UNIT_TOKENS\x10\x04\x12\x13\n\x0fUSAGE_UNIT_RUNS\x10\x05\x12\x15\n\x11USAGE_UNIT_CUSTOM\x10\x06*\xf6\x01\n\x0cPlanStepKind\x12\x1e\n\x1aPLAN_STEP_KIND_UNSPECIFIED\x10\x00\x12\x1b\n\x17PLAN_STEP_KIND_ANALYSIS\x10\x01\x12\x1c\n\x18PLAN_STEP_KIND_EXECUTION\x10\x02\x12\x1f\n\x1bPLAN_STEP_KIND_VERIFICATION\x10\x03\x12\x19\n\x15PLAN_STEP_KIND_REVIEW\x10\x04\x12\x18\n\x14PLAN_STEP_KIND_MERGE\x10\x05\x12\x1a\n\x16PLAN_STEP_KIND_RELEASE\x10\x06\x12\x19\n\x15PLAN_STEP_KIND_CUSTOM\x10\x07*\xa1\x01\n\x0eReplanStrategy\x12\x1f\n\x1bREPLAN_STRATEGY_UNSPECIFIED\x10\x00\x12\x19\n\x15REPLAN_STRATEGY_RETRY\x10\x01\x12\x1a\n\x16REPLAN_STRATEGY_REPAIR\x10\x02\x12\x1c\n\x18REPLAN_STRATEGY_ESCALATE\x10\x03\x12\x19\n\x15REPLAN_STRATEGY_BLOCK\x10\x04*\xbb\x01\n\x12VerificationStatus\x12#\n\x1fVERIFICATION_STATUS_UNSPECIFIED\x10\x00\x12\x1f\n\x1bVERIFICATION_STATUS_PENDING\x10\x01\x12\x1e\n\x1aVERIFICATION_STATUS_PASSED\x10\x02\x12\x1e\n\x1aVERIFICATION_STATUS_FAILED\x10\x03\x12\x1f\n\x1bVERIFICATION_STATUS_BLOCKED\x10\x04*\xde\x01\n\x17VerificationCheckStatus\x12)\n%VERIFICATION_CHECK_STATUS_UNSPECIFIED\x10\x00\x12$\n VERIFICATION_CHECK_STATUS_PASSED\x10\x01\x12$\n VERIFICATION_CHECK_STATUS_FAILED\x10\x02\x12%\n!VERIFICATION_CHECK_STATUS_BLOCKED\x10\x03\x12%\n!VERIFICATION_CHECK_STATUS_SKIPPED\x10\x04*\xa9\x02\n\x13\x42lockedOutcomeScope\x12%\n!BLOCKED_OUTCOME_SCOPE_UNSPECIFIED\x10\x00\x12 \n\x1c\x42LOCKED_OUTCOME_SCOPE_INTENT\x10\x01\x12\x1e\n\x1a\x42LOCKED_OUTCOME_SCOPE_PLAN\x10\x02\x12\x1e\n\x1a\x42LOCKED_OUTCOME_SCOPE_STEP\x10\x03\x12\x1d\n\x19\x42LOCKED_OUTCOME_SCOPE_RUN\x10\x04\x12&\n\"BLOCKED_OUTCOME_SCOPE_VERIFICATION\x10\x05\x12\x1f\n\x1b\x42LOCKED_OUTCOME_SCOPE_MERGE\x10\x06\x12!\n\x1d\x42LOCKED_OUTCOME_SCOPE_RELEASE\x10\x07*\xef\x01\n\x13ReviewDecisionScope\x12%\n!REVIEW_DECISION_SCOPE_UNSPECIFIED\x10\x00\x12\x1e\n\x1aREVIEW_DECISION_SCOPE_PLAN\x10\x01\x12\x1e\n\x1aREVIEW_DECISION_SCOPE_STEP\x10\x02\x12&\n\"REVIEW_DECISION_SCOPE_PULL_REQUEST\x10\x03\x12&\n\"REVIEW_DECISION_SCOPE_VERIFICATION\x10\x04\x12!\n\x1dREVIEW_DECISION_SCOPE_RELEASE\x10\x05*\xbc\x01\n\x11ReviewDisposition\x12\"\n\x1eREVIEW_DISPOSITION_UNSPECIFIED\x10\x00\x12\x1e\n\x1aREVIEW_DISPOSITION_APPROVE\x10\x01\x12&\n\"REVIEW_DISPOSITION_REQUEST_CHANGES\x10\x02\x12\x1d\n\x19REVIEW_DISPOSITION_REJECT\x10\x03\x12\x1c\n\x18REVIEW_DISPOSITION_DEFER\x10\x04*j\n\x0cRerunTrigger\x12\x1d\n\x19RERUN_TRIGGER_UNSPECIFIED\x10\x00\x12!\n\x1dRERUN_TRIGGER_REVIEW_DECISION\x10\x01\x12\x18\n\x14RERUN_TRIGGER_MANUAL\x10\x02*\xb4\x01\n\x16RerunSelectionStrategy\x12(\n$RERUN_SELECTION_STRATEGY_UNSPECIFIED\x10\x00\x12%\n!RERUN_SELECTION_STRATEGY_TASK_IDS\x10\x01\x12%\n!RERUN_SELECTION_STRATEGY_STEP_IDS\x10\x02\x12\"\n\x1eRERUN_SELECTION_STRATEGY_PATHS\x10\x03*\xcf\x01\n\x14RerunExecutionStatus\x12&\n\"RERUN_EXECUTION_STATUS_UNSPECIFIED\x10\x00\x12\"\n\x1eRERUN_EXECUTION_STATUS_PENDING\x10\x01\x12$\n RERUN_EXECUTION_STATUS_SUCCEEDED\x10\x02\x12!\n\x1dRERUN_EXECUTION_STATUS_FAILED\x10\x03\x12\"\n\x1eRERUN_EXECUTION_STATUS_PARTIAL\x10\x04*\xee\x01\n\x0eRunEventStream\x12 \n\x1cRUN_EVENT_STREAM_UNSPECIFIED\x10\x00\x12\x1e\n\x1aRUN_EVENT_STREAM_EXECUTION\x10\x01\x12\x1d\n\x19RUN_EVENT_STREAM_RECOVERY\x10\x02\x12\x1b\n\x17RUN_EVENT_STREAM_REVIEW\x10\x03\x12!\n\x1dRUN_EVENT_STREAM_VERIFICATION\x10\x04\x12\x1e\n\x1aRUN_EVENT_STREAM_LIFECYCLE\x10\x05\x12\x1b\n\x17RUN_EVENT_STREAM_CUSTOM\x10\x06*\xb0\x01\n\x13LeaseLifecycleState\x12%\n!LEASE_LIFECYCLE_STATE_UNSPECIFIED\x10\x00\x12\x10\n\x0cLEASE_ISSUED\x10\x01\x12\x10\n\x0cLEASE_ACTIVE\x10\x02\x12\x12\n\x0eLEASE_RELEASED\x10\x03\x12\x11\n\rLEASE_EXPIRED\x10\x04\x12\x13\n\x0fLEASE_CANCELLED\x10\x05\x12\x12\n\x0eLEASE_REJECTED\x10\x06*\xc6\x01\n\x11RunLifecycleState\x12#\n\x1fRUN_LIFECYCLE_STATE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bRUN_PENDING\x10\x01\x12\x11\n\rRUN_EXECUTING\x10\x02\x12\x0e\n\nRUN_PAUSED\x10\x03\x12\x12\n\x0eRUN_CANCELLING\x10\x04\x12\x11\n\rRUN_CANCELLED\x10\x05\x12\x0e\n\nRUN_FAILED\x10\x06\x12\x10\n\x0cRUN_COMPLETE\x10\x07\x12\x0f\n\x0bRUN_BLOCKED\x10\x08*\xc9\x01\n\x12StepLifecycleState\x12$\n STEP_LIFECYCLE_STATE_UNSPECIFIED\x10\x00\x12\x10\n\x0cSTEP_PENDING\x10\x01\x12\x0e\n\nSTEP_READY\x10\x02\x12\x0f\n\x0bSTEP_LEASED\x10\x03\x12\x10\n\x0cSTEP_RUNNING\x10\x04\x12\x11\n\rSTEP_COMPLETE\x10\x05\x12\x0f\n\x0bSTEP_FAILED\x10\x06\x12\x12\n\x0eSTEP_CANCELLED\x10\x07\x12\x10\n\x0cSTEP_BLOCKED\x10\x08*\xee\x02\n\x14LeaseRejectionReason\x12&\n\"LEASE_REJECTION_REASON_UNSPECIFIED\x10\x00\x12\'\n#LEASE_REJECTION_STALE_FENCING_TOKEN\x10\x01\x12\x1b\n\x17LEASE_REJECTION_EXPIRED\x10\x02\x12$\n LEASE_REJECTION_SESSION_MISMATCH\x10\x03\x12!\n\x1dLEASE_REJECTION_UNKNOWN_LEASE\x10\x04\x12)\n%LEASE_REJECTION_STEP_ALREADY_TERMINAL\x10\x05\x12&\n\"LEASE_REJECTION_RUN_NOT_EXECUTABLE\x10\x06\x12&\n\"LEASE_REJECTION_DEPENDENCY_BLOCKED\x10\x07\x12$\n LEASE_REJECTION_LEASE_SUPERSEDED\x10\x08*\x88\x03\n\x11RecoveryEventKind\x12#\n\x1fRECOVERY_EVENT_KIND_UNSPECIFIED\x10\x00\x12\'\n#RECOVERY_EVENT_ORCHESTRATOR_STARTED\x10\x01\x12!\n\x1dRECOVERY_EVENT_STATE_RELOADED\x10\x02\x12!\n\x1dRECOVERY_EVENT_LEASE_RESTORED\x10\x03\x12!\n\x1dRECOVERY_EVENT_LEASE_REJECTED\x10\x04\x12 \n\x1cRECOVERY_EVENT_STEP_REQUEUED\x10\x05\x12\x1f\n\x1bRECOVERY_EVENT_STEP_BLOCKED\x10\x06\x12 \n\x1cRECOVERY_EVENT_RUN_RECOVERED\x10\x07\x12)\n%RECOVERY_EVENT_CANCELLATION_REQUESTED\x10\x08\x12,\n(RECOVERY_EVENT_CANCELLATION_ACKNOWLEDGED\x10\t2\xe3\x08\n\x14RunnerControlService\x12y\n\x0eRegisterRunner\x12\x32.monarchic.agent_protocol.v1.RegisterRunnerRequest\x1a\x33.monarchic.agent_protocol.v1.RegisterRunnerResponse\x12j\n\tHeartbeat\x12-.monarchic.agent_protocol.v1.HeartbeatRequest\x1a..monarchic.agent_protocol.v1.HeartbeatResponse\x12s\n\x0c\x41\x63quireLease\x12\x30.monarchic.agent_protocol.v1.AcquireLeaseRequest\x1a\x31.monarchic.agent_protocol.v1.AcquireLeaseResponse\x12m\n\nRenewLease\x12..monarchic.agent_protocol.v1.RenewLeaseRequest\x1a/.monarchic.agent_protocol.v1.RenewLeaseResponse\x12p\n\x0bResumeLease\x12/.monarchic.agent_protocol.v1.ResumeLeaseRequest\x1a\x30.monarchic.agent_protocol.v1.ResumeLeaseResponse\x12\x82\x01\n\x11ReportStepStarted\x12\x35.monarchic.agent_protocol.v1.ReportStepStartedRequest\x1a\x36.monarchic.agent_protocol.v1.ReportStepStartedResponse\x12\x85\x01\n\x12ReportStepProgress\x12\x36.monarchic.agent_protocol.v1.ReportStepProgressRequest\x1a\x37.monarchic.agent_protocol.v1.ReportStepProgressResponse\x12\x82\x01\n\x11ReportStepOutcome\x12\x35.monarchic.agent_protocol.v1.ReportStepOutcomeRequest\x1a\x36.monarchic.agent_protocol.v1.ReportStepOutcomeResponse\x12|\n\x0f\x41\x63kCancellation\x12\x33.monarchic.agent_protocol.v1.AckCancellationRequest\x1a\x34.monarchic.agent_protocol.v1.AckCancellationResponseB\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\"\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\"\xf6\x01\n\x0c\x46\x61ilureClass\x12\x10\n\x08\x63\x61tegory\x18\x01 \x01(\t\x12\x0c\n\x04\x63ode\x18\x02 \x01(\t\x12\x11\n\tretryable\x18\x03 \x01(\x08\x12\x13\n\x06\x64\x65tail\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05scope\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06source\x18\x06 \x01(\tH\x02\x88\x01\x01\x12\x18\n\x0bnext_action\x18\x07 \x01(\tH\x03\x88\x01\x01\x12+\n\nextensions\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructB\t\n\x07_detailB\x08\n\x06_scopeB\t\n\x07_sourceB\x0e\n\x0c_next_action\"\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\"\x99\x02\n\x06Intent\x12\x11\n\tintent_id\x18\x01 \x01(\t\x12\x14\n\x0csubmitted_at\x18\x02 \x01(\x04\x12\x11\n\tsubmitter\x18\x03 \x01(\t\x12\x16\n\x0epolicy_version\x18\x04 \x01(\t\x12\x13\n\x0btarget_repo\x18\x05 \x01(\t\x12\x12\n\ntarget_ref\x18\x06 \x01(\t\x12\x0c\n\x04goal\x18\x07 \x01(\t\x12,\n\x0b\x63onstraints\x18\x08 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x16\n\x0e\x63ontext_digest\x18\t \x01(\t\x12>\n\x0cintent_class\x18\n \x01(\x0e\x32(.monarchic.agent_protocol.v1.IntentClass\"\x95\x02\n\x0f\x42ootstrapIntent\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x1b\n\x13\x62ootstrap_intent_id\x18\x02 \x01(\t\x12\x13\n\x0bproject_key\x18\x03 \x01(\t\x12\x14\n\x0ctarget_repos\x18\x04 \x03(\t\x12!\n\x14pipeline_template_id\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x15\n\rcampaign_goal\x18\x06 \x01(\t\x12\x12\n\x05notes\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x10priority_profile\x18\x08 \x01(\t\x12\x15\n\rcreated_at_ms\x18\t \x01(\x04\x42\x17\n\x15_pipeline_template_idB\x08\n\x06_notes\"\xfc\x01\n\x15\x41gentRunnerPreference\x12\x11\n\trunner_id\x18\x01 \x01(\t\x12\x12\n\x05model\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08provider\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x1d\n\x10reasoning_effort\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x1d\n\x15required_capabilities\x18\x05 \x03(\t\x12\x0e\n\x06labels\x18\x06 \x03(\t\x12+\n\nextensions\x18\x07 \x01(\x0b\x32\x17.google.protobuf.StructB\x08\n\x06_modelB\x0b\n\t_providerB\x13\n\x11_reasoning_effort\"\xfc\x01\n\x11\x41gentRunnerPolicy\x12\x18\n\x10runner_policy_id\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x12N\n\x12runner_preferences\x18\x04 \x03(\x0b\x32\x32.monarchic.agent_protocol.v1.AgentRunnerPreference\x12\x10\n\x08role_ids\x18\x05 \x03(\t\x12+\n\nextensions\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructB\x0e\n\x0c_description\"\x96\x03\n\x0c\x41gentProfile\x12\x10\n\x08\x61gent_id\x18\x01 \x01(\t\x12\x0f\n\x07role_id\x18\x02 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12N\n\x12runner_preferences\x18\x05 \x03(\x0b\x32\x32.monarchic.agent_protocol.v1.AgentRunnerPreference\x12\x1d\n\x15\x61llowed_network_modes\x18\x06 \x03(\t\x12\x1d\n\x15requires_human_review\x18\x07 \x01(\x08\x12\x1a\n\x12required_skill_ids\x18\x08 \x03(\t\x12\x18\n\x10required_mcp_ids\x18\t \x03(\t\x12+\n\nextensions\x18\n \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x1d\n\x10runner_policy_id\x18\x0b \x01(\tH\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x13\n\x11_runner_policy_id\"\x99\x02\n\x13ResolvedAgentRunner\x12\x11\n\trunner_id\x18\x01 \x01(\t\x12\x12\n\x05model\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08provider\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x1d\n\x10reasoning_effort\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x18\n\x10preference_index\x18\x05 \x01(\r\x12\x1d\n\x10selection_reason\x18\x06 \x01(\tH\x03\x88\x01\x01\x12+\n\nextensions\x18\x07 \x01(\x0b\x32\x17.google.protobuf.StructB\x08\n\x06_modelB\x0b\n\t_providerB\x13\n\x11_reasoning_effortB\x13\n\x11_selection_reason\"\x8d\x06\n\x11\x42ootstrapPlanTask\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x0f\n\x07role_id\x18\x03 \x01(\t\x12\x16\n\x0etask_milestone\x18\x04 \x01(\t\x12\x12\n\ndepends_on\x18\x05 \x03(\t\x12\x18\n\x0btarget_repo\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\x12required_skill_ids\x18\x07 \x03(\t\x12\x18\n\x10required_mcp_ids\x18\x08 \x03(\t\x12\x1d\n\x10interaction_mode\x18\t \x01(\tH\x01\x88\x01\x01\x12\x19\n\x0cnetwork_mode\x18\n \x01(\tH\x02\x88\x01\x01\x12\"\n\x15requires_human_review\x18\x0b \x01(\x08H\x03\x88\x01\x01\x12\x32\n\x11\x66ilesystem_policy\x18\x0c \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x1d\n\x10template_slot_id\x18\r \x01(\tH\x04\x88\x01\x01\x12\x12\n\x05notes\x18\x0e \x01(\tH\x05\x88\x01\x01\x12\x15\n\x08\x61gent_id\x18\x0f \x01(\tH\x06\x88\x01\x01\x12 \n\x13injected_by_role_id\x18\x10 \x01(\tH\x07\x88\x01\x01\x12N\n\x12runner_preferences\x18\x11 \x03(\x0b\x32\x32.monarchic.agent_protocol.v1.AgentRunnerPreference\x12N\n\x0fresolved_runner\x18\x12 \x01(\x0b\x32\x30.monarchic.agent_protocol.v1.ResolvedAgentRunnerH\x08\x88\x01\x01\x42\x0e\n\x0c_target_repoB\x13\n\x11_interaction_modeB\x0f\n\r_network_modeB\x18\n\x16_requires_human_reviewB\x13\n\x11_template_slot_idB\x08\n\x06_notesB\x0b\n\t_agent_idB\x16\n\x14_injected_by_role_idB\x12\n\x10_resolved_runner\"\xea\x02\n\rBootstrapPlan\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x19\n\x11\x62ootstrap_plan_id\x18\x02 \x01(\t\x12\x1b\n\x13\x62ootstrap_intent_id\x18\x03 \x01(\t\x12\x13\n\x0bproject_key\x18\x04 \x01(\t\x12I\n\rplanning_mode\x18\x05 \x01(\x0e\x32\x32.monarchic.agent_protocol.v1.BootstrapPlanningMode\x12!\n\x14pipeline_template_id\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x15\n\rcampaign_goal\x18\x07 \x01(\t\x12\x15\n\rcreated_at_ms\x18\x08 \x01(\x04\x12=\n\x05tasks\x18\t \x03(\x0b\x32..monarchic.agent_protocol.v1.BootstrapPlanTaskB\x17\n\x15_pipeline_template_id\"I\n\x19\x42ootstrapFilesystemPolicy\x12\x0c\n\x04read\x18\x01 \x03(\t\x12\r\n\x05write\x18\x02 \x03(\t\x12\x0f\n\x07\x65xecute\x18\x03 \x03(\t\"F\n\x15\x42ootstrapSkillBinding\x12\n\n\x02id\x18\x01 \x01(\t\x12\x10\n\x08required\x18\x02 \x01(\x08\x12\x0f\n\x07purpose\x18\x03 \x01(\t\"\xd9\x02\n\x1c\x42ootstrapTemplateSlotContext\x12\x0f\n\x07slot_id\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x0c\n\x04role\x18\x03 \x01(\t\x12\x18\n\x10interaction_mode\x18\x04 \x01(\t\x12\x14\n\x0cnetwork_mode\x18\x05 \x01(\t\x12\x1d\n\x15requires_human_review\x18\x06 \x01(\x08\x12Q\n\x11\x66ilesystem_policy\x18\x07 \x01(\x0b\x32\x36.monarchic.agent_protocol.v1.BootstrapFilesystemPolicy\x12K\n\x0frequired_skills\x18\x08 \x03(\x0b\x32\x32.monarchic.agent_protocol.v1.BootstrapSkillBinding\x12\x15\n\rrequired_mcps\x18\t \x03(\t\"\x98\x01\n\"BootstrapTemplateConnectionContext\x12\x14\n\x0c\x66rom_slot_id\x18\x01 \x01(\t\x12\x12\n\nto_slot_id\x18\x02 \x01(\t\x12\x0c\n\x04kind\x18\x03 \x01(\t\x12\x10\n\x08required\x18\x04 \x01(\x08\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"\xa0\x01\n\x1c\x42ootstrapTemplateLaneContext\x12\x0f\n\x07lane_id\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x14\n\x0c\x66rom_slot_id\x18\x03 \x01(\t\x12\x12\n\nto_slot_id\x18\x04 \x01(\t\x12\x10\n\x08slot_ids\x18\x05 \x03(\t\x12\x1d\n\x15repeat_per_task_group\x18\x06 \x01(\x08\"\xaf\x02\n\x18\x42ootstrapTemplateContext\x12\x13\n\x0btemplate_id\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12H\n\x05slots\x18\x03 \x03(\x0b\x32\x39.monarchic.agent_protocol.v1.BootstrapTemplateSlotContext\x12T\n\x0b\x63onnections\x18\x04 \x03(\x0b\x32?.monarchic.agent_protocol.v1.BootstrapTemplateConnectionContext\x12H\n\x05lanes\x18\x05 \x03(\x0b\x32\x39.monarchic.agent_protocol.v1.BootstrapTemplateLaneContext\"/\n\x0c\x41gentCommand\x12\x11\n\trunner_id\x18\x01 \x01(\t\x12\x0c\n\x04\x61rgv\x18\x02 \x03(\t\"\xfb\x05\n\x18\x42ootstrapPlanningContext\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x13\n\x0bproject_key\x18\x02 \x01(\t\x12\x13\n\x0btarget_repo\x18\x03 \x01(\t\x12\x14\n\x0ctarget_repos\x18\x04 \x03(\t\x12\x15\n\rcampaign_goal\x18\x05 \x01(\t\x12\x12\n\x05notes\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x10priority_profile\x18\x07 \x01(\t\x12\x15\n\tcodex_cmd\x18\x08 \x03(\tB\x02\x18\x01\x12\x1b\n\x13\x61vailable_skill_ids\x18\t \x03(\t\x12U\n\x11selected_template\x18\n \x01(\x0b\x32\x35.monarchic.agent_protocol.v1.BootstrapTemplateContextH\x01\x88\x01\x01\x12I\n\rplanning_mode\x18\x0b \x01(\x0e\x32\x32.monarchic.agent_protocol.v1.BootstrapPlanningMode\x12\x18\n\x10\x65nabled_role_ids\x18\x0c \x03(\t\x12=\n\nagent_cmds\x18\r \x03(\x0b\x32).monarchic.agent_protocol.v1.AgentCommand\x12\x19\n\x11\x64\x65\x66\x61ult_agent_cmd\x18\x0e \x03(\t\x12\x41\n\x0e\x61gent_profiles\x18\x0f \x03(\x0b\x32).monarchic.agent_protocol.v1.AgentProfile\x12J\n\x11\x61vailable_runners\x18\x10 \x03(\x0b\x32/.monarchic.agent_protocol.v1.RunnerCapabilities\x12G\n\x0frunner_policies\x18\x11 \x03(\x0b\x32..monarchic.agent_protocol.v1.AgentRunnerPolicyB\x08\n\x06_notesB\x14\n\x12_selected_template\"\x9f\x04\n\x17\x43\x61mpaignPipelineTaskRef\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x15\n\rtask_artifact\x18\x02 \x01(\t\x12\x14\n\x07role_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x1b\n\x0etask_milestone\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0btask_format\x18\x05 \x01(\tH\x02\x88\x01\x01\x12\x12\n\ndepends_on\x18\x06 \x03(\t\x12\x13\n\x0brunner_args\x18\x07 \x03(\t\x12\x1d\n\x10interaction_mode\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x19\n\x0cnetwork_mode\x18\t \x01(\tH\x04\x88\x01\x01\x12\x1d\n\x15requires_human_review\x18\n \x01(\x08\x12Q\n\x11\x66ilesystem_policy\x18\x0b \x01(\x0b\x32\x36.monarchic.agent_protocol.v1.BootstrapFilesystemPolicy\x12K\n\x0frequired_skills\x18\x0c \x03(\x0b\x32\x32.monarchic.agent_protocol.v1.BootstrapSkillBinding\x12\x18\n\x10required_mcp_ids\x18\r \x03(\tB\n\n\x08_role_idB\x11\n\x0f_task_milestoneB\x0e\n\x0c_task_formatB\x13\n\x11_interaction_modeB\x0f\n\r_network_mode\"\xcd\x01\n\x1a\x43\x61mpaignPipelineConnection\x12\x14\n\x0c\x66rom_task_id\x18\x01 \x01(\t\x12\x12\n\nto_task_id\x18\x02 \x01(\t\x12I\n\x04kind\x18\x03 \x01(\x0e\x32;.monarchic.agent_protocol.v1.CampaignPipelineConnectionKind\x12\x10\n\x08required\x18\x04 \x01(\x08\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"W\n\x14\x43\x61mpaignPipelineGate\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07\x63ommand\x18\x02 \x03(\t\x12\x14\n\x07workdir\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\n\n\x08_workdir\"\x81\x01\n\x1a\x43\x61mpaignPipelineGatePolicy\x12\x18\n\x10require_standard\x18\x01 \x01(\x08\x12I\n\x0erequired_gates\x18\x02 \x03(\x0b\x32\x31.monarchic.agent_protocol.v1.CampaignPipelineGate\"\xe2\x03\n\x14\x43\x61mpaignPipelineSpec\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x13\n\x0bpipeline_id\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\x12\x16\n\tobjective\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0bproject_key\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x19\n\x11\x63ontinue_on_error\x18\x06 \x01(\x08\x12Q\n\x0bgate_policy\x18\x07 \x01(\x0b\x32\x37.monarchic.agent_protocol.v1.CampaignPipelineGatePolicyH\x02\x88\x01\x01\x12)\n\x08metadata\x18\x08 \x01(\x0b\x32\x17.google.protobuf.Struct\x12L\n\x0b\x63onnections\x18\t \x03(\x0b\x32\x37.monarchic.agent_protocol.v1.CampaignPipelineConnection\x12\x43\n\x05tasks\x18\n \x03(\x0b\x32\x34.monarchic.agent_protocol.v1.CampaignPipelineTaskRefB\x0c\n\n_objectiveB\x0e\n\x0c_project_keyB\x0e\n\x0c_gate_policy\"O\n\x0eRoleProvenance\x12\x11\n\trole_name\x18\x01 \x01(\t\x12\x15\n\rtemplate_hash\x18\x02 \x01(\t\x12\x13\n\x0brender_hash\x18\x03 \x01(\t\"\xb8\x01\n\x0ePlanProvenance\x12\x14\n\x0cgenerated_by\x18\x01 \x01(\t\x12\x1b\n\x0epolicy_profile\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\x0fgenerated_at_ms\x18\x03 \x01(\x04\x12>\n\x04role\x18\x04 \x01(\x0b\x32+.monarchic.agent_protocol.v1.RoleProvenanceH\x01\x88\x01\x01\x42\x11\n\x0f_policy_profileB\x07\n\x05_role\"g\n\rFailureDetail\x12\r\n\x05\x63lass\x18\x01 \x01(\t\x12\x0c\n\x04\x63ode\x18\x02 \x01(\t\x12\x0f\n\x07message\x18\x03 \x01(\t\x12(\n\x07\x64\x65tails\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\"\xc8\x01\n\x12\x41rtifactDescriptor\x12\x13\n\x0b\x61rtifact_id\x18\x01 \x01(\t\x12\x37\n\x04kind\x18\x02 \x01(\x0e\x32).monarchic.agent_protocol.v1.ArtifactKind\x12\x0e\n\x06\x64igest\x18\x03 \x01(\t\x12\x12\n\nmedia_type\x18\x04 \x01(\t\x12\x14\n\x0clogical_name\x18\x05 \x01(\t\x12\x10\n\x08producer\x18\x06 \x01(\t\x12\x18\n\x10\x63ontract_version\x18\x07 \x01(\t\"\xf2\x01\n\x0e\x44igestManifest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x13\n\x0bmanifest_id\x18\x02 \x01(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\t\x12\x0f\n\x07plan_id\x18\x04 \x01(\t\x12\x12\n\ncreated_at\x18\x05 \x01(\x04\x12\x17\n\x0f\x63ombined_digest\x18\x06 \x01(\t\x12\x14\n\x0c\x65vent_digest\x18\x07 \x01(\t\x12M\n\x14\x61rtifact_descriptors\x18\x08 \x03(\x0b\x32/.monarchic.agent_protocol.v1.ArtifactDescriptor\"b\n\x0cPrincipalRef\x12\x14\n\x0cprincipal_id\x18\x01 \x01(\t\x12\x10\n\x08provider\x18\x02 \x01(\t\x12\x19\n\x0c\x64isplay_name\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_display_name\"J\n\tTenantRef\x12\x11\n\ttenant_id\x18\x01 \x01(\t\x12\x19\n\x0c\x64isplay_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_display_name\"\xd7\x02\n\x0b\x41uthContext\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x17\n\x0f\x61uth_context_id\x18\x02 \x01(\t\x12<\n\tprincipal\x18\x03 \x01(\x0b\x32).monarchic.agent_protocol.v1.PrincipalRef\x12\x36\n\x06tenant\x18\x04 \x01(\x0b\x32&.monarchic.agent_protocol.v1.TenantRef\x12=\n\tmechanism\x18\x05 \x01(\x0e\x32*.monarchic.agent_protocol.v1.AuthMechanism\x12\x15\n\rcredential_id\x18\x06 \x01(\t\x12\x0e\n\x06scopes\x18\x07 \x03(\t\x12\x11\n\tissued_at\x18\x08 \x01(\x04\x12\x17\n\nexpires_at\x18\t \x01(\x04H\x00\x88\x01\x01\x42\r\n\x0b_expires_at\"\xa1\x03\n\x0bUsageRecord\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x10\n\x08usage_id\x18\x02 \x01(\t\x12<\n\tprincipal\x18\x03 \x01(\x0b\x32).monarchic.agent_protocol.v1.PrincipalRef\x12\x36\n\x06tenant\x18\x04 \x01(\x0b\x32&.monarchic.agent_protocol.v1.TenantRef\x12\x13\n\x06run_id\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07plan_id\x18\x06 \x01(\tH\x01\x88\x01\x01\x12<\n\x08\x63\x61tegory\x18\x07 \x01(\x0e\x32*.monarchic.agent_protocol.v1.UsageCategory\x12\x13\n\x0bmetric_name\x18\x08 \x01(\t\x12\x10\n\x08quantity\x18\t \x01(\x04\x12\x34\n\x04unit\x18\n \x01(\x0e\x32&.monarchic.agent_protocol.v1.UsageUnit\x12\x13\n\x0brecorded_at\x18\x0b \x01(\x04\x42\t\n\x07_run_idB\n\n\x08_plan_id\"\xd6\x02\n\x13\x41uditExportManifest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x11\n\texport_id\x18\x02 \x01(\t\x12<\n\tprincipal\x18\x03 \x01(\x0b\x32).monarchic.agent_protocol.v1.PrincipalRef\x12\x36\n\x06tenant\x18\x04 \x01(\x0b\x32&.monarchic.agent_protocol.v1.TenantRef\x12\x0e\n\x06run_id\x18\x05 \x01(\t\x12\x0f\n\x07plan_id\x18\x06 \x01(\t\x12\x13\n\x0b\x65xported_at\x18\x07 \x01(\x04\x12\x17\n\x0f\x63ombined_digest\x18\x08 \x01(\t\x12M\n\x14\x61rtifact_descriptors\x18\t \x03(\x0b\x32/.monarchic.agent_protocol.v1.ArtifactDescriptor\"c\n\x0cReplanPolicy\x12=\n\x08strategy\x18\x01 \x01(\x0e\x32+.monarchic.agent_protocol.v1.ReplanStrategy\x12\x14\n\x0cmax_attempts\x18\x02 \x01(\r\"f\n\x15StepOutputExpectation\x12\x37\n\x04kind\x18\x01 \x01(\x0e\x32).monarchic.agent_protocol.v1.ArtifactKind\x12\x14\n\x0clogical_name\x18\x02 \x01(\t\"\xa9\x03\n\x08PlanStep\x12\x0f\n\x07step_id\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x12\n\ndepends_on\x18\x03 \x03(\t\x12.\n\rtask_template\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\x12@\n\x07\x66\x61ilure\x18\x05 \x01(\x0b\x32*.monarchic.agent_protocol.v1.FailureDetailH\x00\x88\x01\x01\x12\x14\n\x07task_id\x18\x06 \x01(\tH\x01\x88\x01\x01\x12\x37\n\x04kind\x18\x07 \x01(\x0e\x32).monarchic.agent_protocol.v1.PlanStepKind\x12\'\n\x06inputs\x18\x08 \x01(\x0b\x32\x17.google.protobuf.Struct\x12L\n\x10\x65xpected_outputs\x18\t \x03(\x0b\x32\x32.monarchic.agent_protocol.v1.StepOutputExpectation\x12\x13\n\x0bpolicy_tags\x18\n \x03(\tB\n\n\x08_failureB\n\n\x08_task_id\"\xb4\x04\n\x04Plan\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x0f\n\x07plan_id\x18\x02 \x01(\t\x12\x13\n\x06run_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x11\n\tobjective\x18\x04 \x01(\t\x12\x37\n\x06status\x18\x05 \x01(\x0e\x32\'.monarchic.agent_protocol.v1.PlanStatus\x12\x15\n\rcreated_at_ms\x18\x06 \x01(\x04\x12\x15\n\rupdated_at_ms\x18\x07 \x01(\x04\x12?\n\nprovenance\x18\x08 \x01(\x0b\x32+.monarchic.agent_protocol.v1.PlanProvenance\x12\x34\n\x05steps\x18\t \x03(\x0b\x32%.monarchic.agent_protocol.v1.PlanStep\x12\x16\n\tintent_id\x18\n \x01(\tH\x01\x88\x01\x01\x12\x19\n\x0cplan_version\x18\x0b \x01(\tH\x02\x88\x01\x01\x12\x1c\n\x0fplanner_version\x18\x0c \x01(\tH\x03\x88\x01\x01\x12@\n\rreplan_policy\x18\r \x01(\x0b\x32).monarchic.agent_protocol.v1.ReplanPolicy\x12\x19\n\x0cinput_digest\x18\x0e \x01(\tH\x04\x88\x01\x01\x42\t\n\x07_run_idB\x0c\n\n_intent_idB\x0f\n\r_plan_versionB\x12\n\x10_planner_versionB\x0f\n\r_input_digest\"\xa8\x03\n\x10\x45xecutionReceipt\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12\x0f\n\x07plan_id\x18\x03 \x01(\t\x12\x11\n\tplan_hash\x18\x04 \x01(\t\x12\x13\n\x0btask_hashes\x18\x05 \x03(\t\x12\x17\n\x0f\x61rtifact_hashes\x18\x06 \x03(\t\x12\x14\n\x0coutcome_hash\x18\x07 \x01(\t\x12\x37\n\x06status\x18\x08 \x01(\x0e\x32\'.monarchic.agent_protocol.v1.PlanStatus\x12@\n\x07\x66\x61ilure\x18\t \x01(\x0b\x32*.monarchic.agent_protocol.v1.FailureDetailH\x00\x88\x01\x01\x12\x17\n\x0fgenerated_at_ms\x18\n \x01(\x04\x12N\n\x0fresolved_runner\x18\x0b \x01(\x0b\x32\x30.monarchic.agent_protocol.v1.ResolvedAgentRunnerH\x01\x88\x01\x01\x42\n\n\x08_failureB\x12\n\x10_resolved_runner\"\xa0\x01\n\x11VerificationCheck\x12\x10\n\x08\x63heck_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x44\n\x06status\x18\x03 \x01(\x0e\x32\x34.monarchic.agent_protocol.v1.VerificationCheckStatus\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x14\n\x0c\x61rtifact_ids\x18\x05 \x03(\t\"\xe7\x01\n\x0e\x42lockedOutcome\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\x12?\n\x05scope\x18\x02 \x01(\x0e\x32\x30.monarchic.agent_protocol.v1.BlockedOutcomeScope\x12\x0f\n\x07message\x18\x03 \x01(\t\x12(\n\x07\x64\x65tails\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\x12K\n\x12\x62locking_artifacts\x18\x05 \x03(\x0b\x32/.monarchic.agent_protocol.v1.ArtifactDescriptor\"\x9a\x03\n\x13VerificationReceipt\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x17\n\x0fverification_id\x18\x02 \x01(\t\x12\x0f\n\x07plan_id\x18\x03 \x01(\t\x12\x1d\n\x15\x65xecution_receipt_ids\x18\x04 \x03(\t\x12#\n\x1bverification_policy_version\x18\x05 \x01(\t\x12?\n\x06status\x18\x06 \x01(\x0e\x32/.monarchic.agent_protocol.v1.VerificationStatus\x12>\n\x06\x63hecks\x18\x07 \x03(\x0b\x32..monarchic.agent_protocol.v1.VerificationCheck\x12\x45\n\x10\x62locked_outcomes\x18\x08 \x03(\x0b\x32+.monarchic.agent_protocol.v1.BlockedOutcome\x12\x1b\n\x13\x61rtifact_digest_set\x18\t \x03(\t\x12\x16\n\x0everified_at_ms\x18\n \x01(\x04\"\xec\x01\n\x0eReviewDecision\x12\x13\n\x0b\x64\x65\x63ision_id\x18\x01 \x01(\t\x12\x0f\n\x07plan_id\x18\x02 \x01(\t\x12?\n\x05scope\x18\x03 \x01(\x0e\x32\x30.monarchic.agent_protocol.v1.ReviewDecisionScope\x12\r\n\x05\x61\x63tor\x18\x04 \x01(\t\x12@\n\x08\x64\x65\x63ision\x18\x05 \x01(\x0e\x32..monarchic.agent_protocol.v1.ReviewDisposition\x12\x0e\n\x06reason\x18\x06 \x01(\t\x12\x12\n\ncreated_at\x18\x07 \x01(\x04\"\xfa\x01\n\nRerunScope\x12\x10\n\x08scope_id\x18\x01 \x01(\t\x12\x0f\n\x07plan_id\x18\x02 \x01(\t\x12:\n\x07trigger\x18\x03 \x01(\x0e\x32).monarchic.agent_protocol.v1.RerunTrigger\x12\x0e\n\x06reason\x18\x04 \x01(\t\x12\x1f\n\x12source_decision_id\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x10\n\x08task_ids\x18\x06 \x03(\t\x12\x10\n\x08step_ids\x18\x07 \x03(\t\x12\r\n\x05paths\x18\x08 \x03(\t\x12\x12\n\ncreated_at\x18\t \x01(\x04\x42\x15\n\x13_source_decision_id\"\x99\x04\n\x14RerunExecutionResult\x12\x11\n\tresult_id\x18\x01 \x01(\t\x12\x0f\n\x07plan_id\x18\x02 \x01(\t\x12\x16\n\x0ererun_scope_id\x18\x03 \x01(\t\x12\x1f\n\x12source_decision_id\x18\x04 \x01(\tH\x00\x88\x01\x01\x12:\n\x07trigger\x18\x05 \x01(\x0e\x32).monarchic.agent_protocol.v1.RerunTrigger\x12M\n\x10matched_strategy\x18\x06 \x01(\x0e\x32\x33.monarchic.agent_protocol.v1.RerunSelectionStrategy\x12\x12\n\nroot_tasks\x18\x07 \x03(\t\x12\x16\n\x0eselected_tasks\x18\x08 \x03(\t\x12\x15\n\rmatched_paths\x18\t \x03(\t\x12\x0e\n\x06reason\x18\n \x01(\t\x12\x41\n\x06status\x18\x0b \x01(\x0e\x32\x31.monarchic.agent_protocol.v1.RerunExecutionStatus\x12\x17\n\x0f\x63ompleted_tasks\x18\x0c \x03(\t\x12\x14\n\x0c\x66\x61iled_tasks\x18\r \x03(\t\x12\x15\n\rskipped_tasks\x18\x0e \x03(\t\x12\x12\n\ncreated_at\x18\x0f \x01(\x04\x12\x12\n\nupdated_at\x18\x10 \x01(\x04\x42\x15\n\x13_source_decision_id\"\x81\x05\n\x10PrLifecycleState\x12\x10\n\x08state_id\x18\x01 \x01(\t\x12\x0f\n\x07plan_id\x18\x02 \x01(\t\x12\x16\n\tpr_number\x18\x03 \x01(\x04H\x00\x88\x01\x01\x12\x13\n\x06pr_url\x18\x04 \x01(\tH\x01\x88\x01\x01\x12I\n\x0freview_decision\x18\x05 \x01(\x0b\x32+.monarchic.agent_protocol.v1.ReviewDecisionH\x02\x88\x01\x01\x12\x41\n\x0brerun_scope\x18\x06 \x01(\x0b\x32\'.monarchic.agent_protocol.v1.RerunScopeH\x03\x88\x01\x01\x12L\n\x0crerun_result\x18\x07 \x01(\x0b\x32\x31.monarchic.agent_protocol.v1.RerunExecutionResultH\x04\x88\x01\x01\x12S\n\x14verification_receipt\x18\x08 \x01(\x0b\x32\x30.monarchic.agent_protocol.v1.VerificationReceiptH\x05\x88\x01\x01\x12\x13\n\x0bmerge_ready\x18\t \x01(\x08\x12\x15\n\rrelease_ready\x18\n \x01(\x08\x12\x45\n\x10\x62locked_outcomes\x18\x0b \x03(\x0b\x32+.monarchic.agent_protocol.v1.BlockedOutcome\x12\x12\n\nupdated_at\x18\x0c \x01(\x04\x42\x0c\n\n_pr_numberB\t\n\x07_pr_urlB\x12\n\x10_review_decisionB\x0e\n\x0c_rerun_scopeB\x0f\n\r_rerun_resultB\x17\n\x15_verification_receipt\"\xe1\x03\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\x12\x42\n\x0eobjective_spec\x18\x0b \x01(\x0b\x32*.monarchic.agent_protocol.v1.ObjectiveSpec\x12\x0f\n\x07role_id\x18\x0c \x01(\t\"\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\"\xed\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.EvalResult\x12@\n\rfailure_class\x18\n \x01(\x0b\x32).monarchic.agent_protocol.v1.FailureClassB\n\n\x08_message\"\xe1\x02\n\x0eRunEventRecord\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x10\n\x08\x65vent_id\x18\x02 \x01(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\t\x12\x0f\n\x07plan_id\x18\x04 \x01(\t\x12\x10\n\x08sequence\x18\x05 \x01(\x04\x12;\n\x06stream\x18\x06 \x01(\x0e\x32+.monarchic.agent_protocol.v1.RunEventStream\x12\x13\n\x0brecorded_at\x18\x07 \x01(\x04\x12\x14\n\x07step_id\x18\x08 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07task_id\x18\t \x01(\tH\x01\x88\x01\x01\x12\x12\n\nevent_type\x18\n \x01(\t\x12\x0e\n\x06status\x18\x0b \x01(\t\x12\x14\n\x07message\x18\x0c \x01(\tH\x02\x88\x01\x01\x12\x14\n\x0c\x61rtifact_ids\x18\r \x03(\tB\n\n\x08_step_idB\n\n\x08_task_idB\n\n\x08_message\"\xb5\x03\n\x0bTaskMessage\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x12\n\nmessage_id\x18\x02 \x01(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\t\x12\x14\n\x0c\x66rom_task_id\x18\x04 \x01(\t\x12\x12\n\nto_task_id\x18\x05 \x01(\t\x12:\n\x04kind\x18\x06 \x01(\x0e\x32,.monarchic.agent_protocol.v1.TaskMessageKind\x12\x14\n\x07subject\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04\x62ody\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x15\n\rartifact_refs\x18\t \x03(\t\x12\x15\n\x08reply_to\x18\n \x01(\tH\x02\x88\x01\x01\x12\x12\n\ncreated_at\x18\x0b \x01(\t\x12\x14\n\x0crequires_ack\x18\x0c \x01(\x08\x12+\n\nextensions\x18\r \x01(\x0b\x32\x17.google.protobuf.Struct\x12;\n\nprovenance\x18\x0e \x01(\x0b\x32\'.monarchic.agent_protocol.v1.ProvenanceB\n\n\x08_subjectB\x07\n\x05_bodyB\x0b\n\t_reply_to\"\xc1\x01\n\x0eTaskMessageAck\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x12\n\nmessage_id\x18\x02 \x01(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\t\x12\x0f\n\x07task_id\x18\x04 \x01(\t\x12\x10\n\x08\x61\x63ked_at\x18\x05 \x01(\t\x12\x0e\n\x06status\x18\x06 \x01(\t\x12\x11\n\x04note\x18\x07 \x01(\tH\x00\x88\x01\x01\x12+\n\nextensions\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructB\x07\n\x05_note\"\xf5\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.Struct\x12@\n\rfailure_class\x18\x07 \x01(\x0b\x32).monarchic.agent_protocol.v1.FailureClassB\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\"\xb0\x03\n\x12RunnerCapabilities\x12\x10\n\x08platform\x18\x01 \x01(\t\x12\x0f\n\x07runtime\x18\x02 \x01(\t\x12?\n\x0fsupported_roles\x18\x03 \x03(\x0e\x32&.monarchic.agent_protocol.v1.AgentRole\x12\x1f\n\x17supported_task_versions\x18\x04 \x03(\t\x12\x0e\n\x06labels\x18\x05 \x03(\t\x12 \n\x18supports_interactive_pty\x18\x06 \x01(\x08\x12\x17\n\x0fsupports_resume\x18\x07 \x01(\x08\x12+\n\nextensions\x18\x08 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x1a\n\x12supported_role_ids\x18\t \x03(\t\x12\x18\n\x10supported_models\x18\n \x03(\t\x12#\n\x1bsupported_reasoning_efforts\x18\x0b \x03(\t\x12%\n\x1dsupported_runner_capabilities\x18\x0c \x03(\t\x12\x1b\n\x13supported_providers\x18\r \x03(\t\"v\n\x08LeaseRef\x12\x10\n\x08lease_id\x18\x01 \x01(\t\x12\x15\n\rfencing_token\x18\x02 \x01(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\t\x12\x0f\n\x07plan_id\x18\x04 \x01(\t\x12\x0f\n\x07step_id\x18\x05 \x01(\t\x12\x0f\n\x07task_id\x18\x06 \x01(\t\"\x7f\n\x0c\x46\x65ncingToken\x12\r\n\x05token\x18\x01 \x01(\t\x12\x14\n\x0cissued_at_ms\x18\x02 \x01(\x04\x12\x0e\n\x06issuer\x18\x03 \x01(\t\x12\r\n\x05scope\x18\x04 \x01(\t\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\"\xe1\x02\n\x05Lease\x12\x10\n\x08lease_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12\x0f\n\x07plan_id\x18\x03 \x01(\t\x12\x0f\n\x07step_id\x18\x04 \x01(\t\x12\x0f\n\x07task_id\x18\x05 \x01(\t\x12\x11\n\trunner_id\x18\x06 \x01(\t\x12\x12\n\nsession_id\x18\x07 \x01(\t\x12@\n\rfencing_token\x18\x08 \x01(\x0b\x32).monarchic.agent_protocol.v1.FencingToken\x12\x14\n\x0cissued_at_ms\x18\t \x01(\x04\x12\x15\n\rexpires_at_ms\x18\n \x01(\x04\x12@\n\x06status\x18\x0b \x01(\x0e\x32\x30.monarchic.agent_protocol.v1.LeaseLifecycleState\x12+\n\nextensions\x18\x0c \x01(\x0b\x32\x17.google.protobuf.Struct\"\xaf\x04\n\rRecoveryEvent\x12\x10\n\x08\x65vent_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12\x0f\n\x07plan_id\x18\x03 \x01(\t\x12\x14\n\x07step_id\x18\x04 \x01(\tH\x00\x88\x01\x01\x12<\n\x04kind\x18\x05 \x01(\x0e\x32..monarchic.agent_protocol.v1.RecoveryEventKind\x12\x16\n\x0eoccurred_at_ms\x18\x06 \x01(\x04\x12\r\n\x05\x61\x63tor\x18\x07 \x01(\t\x12(\n\x07\x64\x65tails\x18\x08 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x18\n\x10\x63ontract_version\x18\t \x01(\t\x12\x46\n\trun_state\x18\n \x01(\x0e\x32..monarchic.agent_protocol.v1.RunLifecycleStateH\x01\x88\x01\x01\x12H\n\nstep_state\x18\x0b \x01(\x0e\x32/.monarchic.agent_protocol.v1.StepLifecycleStateH\x02\x88\x01\x01\x12V\n\x16lease_rejection_reason\x18\x0c \x01(\x0e\x32\x31.monarchic.agent_protocol.v1.LeaseRejectionReasonH\x03\x88\x01\x01\x42\n\n\x08_step_idB\x0c\n\n_run_stateB\r\n\x0b_step_stateB\x19\n\x17_lease_rejection_reason\"\xe4\x01\n\x0bLeaseStatus\x12\x34\n\x05lease\x18\x01 \x01(\x0b\x32%.monarchic.agent_protocol.v1.LeaseRef\x12\r\n\x05state\x18\x02 \x01(\t\x12\x15\n\rupdated_at_ms\x18\x03 \x01(\x04\x12@\n\x07\x66\x61ilure\x18\x04 \x01(\x0b\x32*.monarchic.agent_protocol.v1.FailureDetailH\x00\x88\x01\x01\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructB\n\n\x08_failure\"\xaf\x01\n\x12\x43\x61ncellationIntent\x12\x34\n\x05lease\x18\x01 \x01(\x0b\x32%.monarchic.agent_protocol.v1.LeaseRef\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x17\n\x0frequested_at_ms\x18\x03 \x01(\x04\x12\r\n\x05\x66orce\x18\x04 \x01(\x08\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\"\xd1\x01\n\x0fLeaseAssignment\x12\x34\n\x05lease\x18\x01 \x01(\x0b\x32%.monarchic.agent_protocol.v1.LeaseRef\x12/\n\x04task\x18\x02 \x01(\x0b\x32!.monarchic.agent_protocol.v1.Task\x12\x14\n\x0cissued_at_ms\x18\x03 \x01(\x04\x12\x14\n\x0clease_ttl_ms\x18\x04 \x01(\x04\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\"\xab\x02\n\x15RegisterRunnerRequest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x11\n\trunner_id\x18\x02 \x01(\t\x12\x45\n\x0c\x63\x61pabilities\x18\x03 \x01(\x0b\x32/.monarchic.agent_protocol.v1.RunnerCapabilities\x12\x1b\n\x13max_parallel_leases\x18\x04 \x01(\r\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x43\n\x0c\x61uth_context\x18\x06 \x01(\x0b\x32(.monarchic.agent_protocol.v1.AuthContextH\x00\x88\x01\x01\x42\x0f\n\r_auth_context\"\xcb\x01\n\x16RegisterRunnerResponse\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x17\n\x0forchestrator_id\x18\x02 \x01(\t\x12\x12\n\nsession_id\x18\x03 \x01(\t\x12\x1d\n\x15heartbeat_interval_ms\x18\x04 \x01(\x04\x12\x1e\n\x16lease_poll_interval_ms\x18\x05 \x01(\x04\x12+\n\nextensions\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\"\x97\x02\n\x10HeartbeatRequest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x11\n\trunner_id\x18\x02 \x01(\t\x12\x12\n\nsession_id\x18\x03 \x01(\t\x12?\n\ractive_leases\x18\x04 \x03(\x0b\x32(.monarchic.agent_protocol.v1.LeaseStatus\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x43\n\x0c\x61uth_context\x18\x06 \x01(\x0b\x32(.monarchic.agent_protocol.v1.AuthContextH\x00\x88\x01\x01\x42\x0f\n\r_auth_context\"\xd6\x01\n\x11HeartbeatResponse\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x17\n\x0forchestrator_id\x18\x02 \x01(\t\x12\x19\n\x11next_heartbeat_ms\x18\x03 \x01(\x04\x12\x46\n\rcancellations\x18\x04 \x03(\x0b\x32/.monarchic.agent_protocol.v1.CancellationIntent\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\"\x8c\x02\n\x13\x41\x63quireLeaseRequest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x11\n\trunner_id\x18\x02 \x01(\t\x12\x12\n\nsession_id\x18\x03 \x01(\t\x12\x17\n\x0f\x61vailable_slots\x18\x04 \x01(\r\x12\x18\n\x10\x61\x63tive_lease_ids\x18\x05 \x03(\t\x12+\n\nextensions\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x43\n\x0c\x61uth_context\x18\x07 \x01(\x0b\x32(.monarchic.agent_protocol.v1.AuthContextH\x00\x88\x01\x01\x42\x0f\n\r_auth_context\"\x98\x02\n\x14\x41\x63quireLeaseResponse\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x17\n\x0forchestrator_id\x18\x02 \x01(\t\x12@\n\nassignment\x18\x03 \x01(\x0b\x32,.monarchic.agent_protocol.v1.LeaseAssignment\x12\x16\n\x0eretry_after_ms\x18\x04 \x01(\x04\x12\x46\n\rcancellations\x18\x05 \x03(\x0b\x32/.monarchic.agent_protocol.v1.CancellationIntent\x12+\n\nextensions\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\"\x8d\x02\n\x11RenewLeaseRequest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x11\n\trunner_id\x18\x02 \x01(\t\x12\x12\n\nsession_id\x18\x03 \x01(\t\x12\x34\n\x05lease\x18\x04 \x01(\x0b\x32%.monarchic.agent_protocol.v1.LeaseRef\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x43\n\x0c\x61uth_context\x18\x06 \x01(\x0b\x32(.monarchic.agent_protocol.v1.AuthContextH\x00\x88\x01\x01\x42\x0f\n\r_auth_context\"\xb2\x02\n\x12RenewLeaseResponse\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x17\n\x0forchestrator_id\x18\x02 \x01(\t\x12\x10\n\x08\x61\x63\x63\x65pted\x18\x03 \x01(\x08\x12\x14\n\x0clease_ttl_ms\x18\x04 \x01(\x04\x12\x46\n\rcancellations\x18\x05 \x03(\x0b\x32/.monarchic.agent_protocol.v1.CancellationIntent\x12@\n\x07\x66\x61ilure\x18\x06 \x01(\x0b\x32*.monarchic.agent_protocol.v1.FailureDetailH\x00\x88\x01\x01\x12+\n\nextensions\x18\x07 \x01(\x0b\x32\x17.google.protobuf.StructB\n\n\x08_failure\"\x8e\x02\n\x12ResumeLeaseRequest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x11\n\trunner_id\x18\x02 \x01(\t\x12\x12\n\nsession_id\x18\x03 \x01(\t\x12\x34\n\x05lease\x18\x04 \x01(\x0b\x32%.monarchic.agent_protocol.v1.LeaseRef\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x43\n\x0c\x61uth_context\x18\x06 \x01(\x0b\x32(.monarchic.agent_protocol.v1.AuthContextH\x00\x88\x01\x01\x42\x0f\n\r_auth_context\"\xc4\x02\n\x13ResumeLeaseResponse\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x17\n\x0forchestrator_id\x18\x02 \x01(\t\x12\x10\n\x08\x61\x63\x63\x65pted\x18\x03 \x01(\x08\x12\x31\n\x05lease\x18\x04 \x01(\x0b\x32\".monarchic.agent_protocol.v1.Lease\x12\x15\n\rexpires_at_ms\x18\x05 \x01(\x04\x12\x1d\n\x15\x63urrent_fencing_token\x18\x06 \x01(\t\x12\x41\n\x06reason\x18\x07 \x01(\x0e\x32\x31.monarchic.agent_protocol.v1.LeaseRejectionReason\x12\x0f\n\x07message\x18\x08 \x01(\t\x12+\n\nextensions\x18\t \x01(\x0b\x32\x17.google.protobuf.Struct\"\xa8\x02\n\x18ReportStepStartedRequest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x11\n\trunner_id\x18\x02 \x01(\t\x12\x12\n\nsession_id\x18\x03 \x01(\t\x12\x34\n\x05lease\x18\x04 \x01(\x0b\x32%.monarchic.agent_protocol.v1.LeaseRef\x12\x12\n\nstarted_at\x18\x05 \x01(\t\x12+\n\nextensions\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x43\n\x0c\x61uth_context\x18\x07 \x01(\x0b\x32(.monarchic.agent_protocol.v1.AuthContextH\x00\x88\x01\x01\x42\x0f\n\r_auth_context\"\xdb\x01\n\x19ReportStepStartedResponse\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x17\n\x0forchestrator_id\x18\x02 \x01(\t\x12\x10\n\x08\x61\x63\x63\x65pted\x18\x03 \x01(\x08\x12@\n\x07\x66\x61ilure\x18\x04 \x01(\x0b\x32*.monarchic.agent_protocol.v1.FailureDetailH\x00\x88\x01\x01\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructB\n\n\x08_failure\"\x83\x03\n\x19ReportStepProgressRequest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x11\n\trunner_id\x18\x02 \x01(\t\x12\x12\n\nsession_id\x18\x03 \x01(\t\x12\x34\n\x05lease\x18\x04 \x01(\x0b\x32%.monarchic.agent_protocol.v1.LeaseRef\x12\x32\n\x06\x65vents\x18\x05 \x03(\x0b\x32\".monarchic.agent_protocol.v1.Event\x12\x38\n\tartifacts\x18\x06 \x03(\x0b\x32%.monarchic.agent_protocol.v1.Artifact\x12+\n\nextensions\x18\x07 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x43\n\x0c\x61uth_context\x18\x08 \x01(\x0b\x32(.monarchic.agent_protocol.v1.AuthContextH\x00\x88\x01\x01\x42\x0f\n\r_auth_context\"\xa4\x02\n\x1aReportStepProgressResponse\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x17\n\x0forchestrator_id\x18\x02 \x01(\t\x12\x10\n\x08\x61\x63\x63\x65pted\x18\x03 \x01(\x08\x12\x46\n\rcancellations\x18\x04 \x03(\x0b\x32/.monarchic.agent_protocol.v1.CancellationIntent\x12@\n\x07\x66\x61ilure\x18\x05 \x01(\x0b\x32*.monarchic.agent_protocol.v1.FailureDetailH\x00\x88\x01\x01\x12+\n\nextensions\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructB\n\n\x08_failure\"\xf1\x04\n\x18ReportStepOutcomeRequest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x11\n\trunner_id\x18\x02 \x01(\t\x12\x12\n\nsession_id\x18\x03 \x01(\t\x12\x34\n\x05lease\x18\x04 \x01(\x0b\x32%.monarchic.agent_protocol.v1.LeaseRef\x12\x37\n\x06status\x18\x05 \x01(\x0e\x32\'.monarchic.agent_protocol.v1.PlanStatus\x12\x32\n\x06\x65vents\x18\x06 \x03(\x0b\x32\".monarchic.agent_protocol.v1.Event\x12\x38\n\tartifacts\x18\x07 \x03(\x0b\x32%.monarchic.agent_protocol.v1.Artifact\x12\x41\n\x0brun_outcome\x18\x08 \x01(\x0b\x32\'.monarchic.agent_protocol.v1.RunOutcomeH\x00\x88\x01\x01\x12@\n\x07\x66\x61ilure\x18\t \x01(\x0b\x32*.monarchic.agent_protocol.v1.FailureDetailH\x01\x88\x01\x01\x12\x13\n\x0b\x66inished_at\x18\n \x01(\t\x12+\n\nextensions\x18\x0b \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x43\n\x0c\x61uth_context\x18\x0c \x01(\x0b\x32(.monarchic.agent_protocol.v1.AuthContextH\x02\x88\x01\x01\x42\x0e\n\x0c_run_outcomeB\n\n\x08_failureB\x0f\n\r_auth_context\"\xdb\x01\n\x19ReportStepOutcomeResponse\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x17\n\x0forchestrator_id\x18\x02 \x01(\t\x12\x10\n\x08\x61\x63\x63\x65pted\x18\x03 \x01(\x08\x12@\n\x07\x66\x61ilure\x18\x04 \x01(\x0b\x32*.monarchic.agent_protocol.v1.FailureDetailH\x00\x88\x01\x01\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructB\n\n\x08_failure\"\xc4\x02\n\x16\x41\x63kCancellationRequest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x11\n\trunner_id\x18\x02 \x01(\t\x12\x12\n\nsession_id\x18\x03 \x01(\t\x12\x34\n\x05lease\x18\x04 \x01(\x0b\x32%.monarchic.agent_protocol.v1.LeaseRef\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\x43\n\x0c\x61uth_context\x18\x08 \x01(\x0b\x32(.monarchic.agent_protocol.v1.AuthContextH\x01\x88\x01\x01\x42\n\n\x08_messageB\x0f\n\r_auth_context\"\xd9\x01\n\x17\x41\x63kCancellationResponse\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x17\n\x0forchestrator_id\x18\x02 \x01(\t\x12\x10\n\x08\x61\x63\x63\x65pted\x18\x03 \x01(\x08\x12@\n\x07\x66\x61ilure\x18\x04 \x01(\x0b\x32*.monarchic.agent_protocol.v1.FailureDetailH\x00\x88\x01\x01\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructB\n\n\x08_failure\"\x8d\x01\n\x11\x43ontrolPlaneScope\x12\x19\n\x0corganization\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04user\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x1c\n\x0f\x64\x65\x66\x61ult_project\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x0f\n\r_organizationB\x07\n\x05_userB\x12\n\x10_default_project\"\xab\x01\n\x12RunOperatorSignals\x12\x15\n\rprompt_needed\x18\x01 \x01(\x08\x12\x1b\n\x0eprompt_summary\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\x0fpause_requested\x18\x03 \x01(\x08\x12\x1b\n\x13interrupt_requested\x18\x04 \x01(\x08\x12\x18\n\x10\x63\x61ncel_requested\x18\x05 \x01(\x08\x42\x11\n\x0f_prompt_summary\"\xaa\x06\n\x16\x43ontrolPlaneRunSummary\x12\x13\n\x0bproject_key\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12\x14\n\x07run_dir\x18\x03 \x01(\tH\x00\x88\x01\x01\x12L\n\x0flifecycle_state\x18\x04 \x01(\x0e\x32..monarchic.agent_protocol.v1.RunLifecycleStateH\x01\x88\x01\x01\x12\x0e\n\x06status\x18\x05 \x01(\t\x12\x1a\n\rupdated_label\x18\x06 \x01(\tH\x02\x88\x01\x01\x12\x1a\n\rupdated_epoch\x18\x07 \x01(\x04H\x03\x88\x01\x01\x12\x1e\n\x11meaningful_status\x18\x08 \x01(\tH\x04\x88\x01\x01\x12\x1d\n\x10meaningful_score\x18\t \x01(\x01H\x05\x88\x01\x01\x12\x1a\n\x12meaningful_reasons\x18\n \x03(\t\x12\x17\n\ntotal_runs\x18\x0b \x01(\x04H\x06\x88\x01\x01\x12\x1a\n\rtotal_success\x18\x0c \x01(\x04H\x07\x88\x01\x01\x12\x19\n\x0ctotal_failed\x18\r \x01(\x04H\x08\x88\x01\x01\x12\x1a\n\rmessage_count\x18\x0e \x01(\x04H\t\x88\x01\x01\x12*\n\x1dunresolved_required_ack_count\x18\x0f \x01(\x04H\n\x88\x01\x01\x12\x13\n\x0b\x61lert_stale\x18\x10 \x01(\x08\x12\x17\n\x0f\x61lert_low_score\x18\x11 \x01(\x08\x12I\n\x10operator_signals\x18\x12 \x01(\x0b\x32/.monarchic.agent_protocol.v1.RunOperatorSignalsB\n\n\x08_run_dirB\x12\n\x10_lifecycle_stateB\x10\n\x0e_updated_labelB\x10\n\x0e_updated_epochB\x14\n\x12_meaningful_statusB\x13\n\x11_meaningful_scoreB\r\n\x0b_total_runsB\x10\n\x0e_total_successB\x0f\n\r_total_failedB\x10\n\x0e_message_countB \n\x1e_unresolved_required_ack_count\"{\n\x1d\x43ontrolPlaneRunActivityCursor\x12\x1b\n\x0e\x61\x66ter_sequence\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x19\n\x0cresume_token\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x11\n\x0f_after_sequenceB\x0f\n\r_resume_token\"\xc1\x02\n\x1bListControlPlaneRunsRequest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12=\n\x05scope\x18\x02 \x01(\x0b\x32..monarchic.agent_protocol.v1.ControlPlaneScope\x12\x18\n\x0bproject_key\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\rH\x01\x88\x01\x01\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x43\n\x0c\x61uth_context\x18\x06 \x01(\x0b\x32(.monarchic.agent_protocol.v1.AuthContextH\x02\x88\x01\x01\x42\x0e\n\x0c_project_keyB\x08\n\x06_limitB\x0f\n\r_auth_context\"\xa8\x01\n\x1cListControlPlaneRunsResponse\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x41\n\x04runs\x18\x02 \x03(\x0b\x32\x33.monarchic.agent_protocol.v1.ControlPlaneRunSummary\x12+\n\nextensions\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\"\xb1\x02\n\x19GetControlPlaneRunRequest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12=\n\x05scope\x18\x02 \x01(\x0b\x32..monarchic.agent_protocol.v1.ControlPlaneScope\x12\x18\n\x0bproject_key\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x0e\n\x06run_id\x18\x04 \x01(\t\x12+\n\nextensions\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x43\n\x0c\x61uth_context\x18\x06 \x01(\x0b\x32(.monarchic.agent_protocol.v1.AuthContextH\x01\x88\x01\x01\x42\x0e\n\x0c_project_keyB\x0f\n\r_auth_context\"\xa5\x01\n\x1aGetControlPlaneRunResponse\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12@\n\x03run\x18\x02 \x01(\x0b\x32\x33.monarchic.agent_protocol.v1.ControlPlaneRunSummary\x12+\n\nextensions\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\"\xa7\x03\n%GetControlPlaneRunActivityPageRequest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12=\n\x05scope\x18\x02 \x01(\x0b\x32..monarchic.agent_protocol.v1.ControlPlaneScope\x12\x18\n\x0bproject_key\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x0e\n\x06run_id\x18\x04 \x01(\t\x12\x12\n\x05limit\x18\x05 \x01(\rH\x01\x88\x01\x01\x12J\n\x06\x63ursor\x18\x06 \x01(\x0b\x32:.monarchic.agent_protocol.v1.ControlPlaneRunActivityCursor\x12+\n\nextensions\x18\x07 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x43\n\x0c\x61uth_context\x18\x08 \x01(\x0b\x32(.monarchic.agent_protocol.v1.AuthContextH\x02\x88\x01\x01\x42\x0e\n\x0c_project_keyB\x08\n\x06_limitB\x0f\n\r_auth_context\"\xfe\x01\n&GetControlPlaneRunActivityPageResponse\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12<\n\x07records\x18\x02 \x03(\x0b\x32+.monarchic.agent_protocol.v1.RunEventRecord\x12O\n\x0bnext_cursor\x18\x03 \x01(\x0b\x32:.monarchic.agent_protocol.v1.ControlPlaneRunActivityCursor\x12+\n\nextensions\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\"\xf3\x02\n!ApplyControlPlaneRunActionRequest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12=\n\x05scope\x18\x02 \x01(\x0b\x32..monarchic.agent_protocol.v1.ControlPlaneScope\x12\x0e\n\x06run_id\x18\x03 \x01(\t\x12\x42\n\x06\x61\x63tion\x18\x04 \x01(\x0e\x32\x32.monarchic.agent_protocol.v1.ControlPlaneRunAction\x12\x13\n\x06reason\x18\x05 \x01(\tH\x00\x88\x01\x01\x12+\n\nextensions\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x43\n\x0c\x61uth_context\x18\x07 \x01(\x0b\x32(.monarchic.agent_protocol.v1.AuthContextH\x01\x88\x01\x01\x42\t\n\x07_reasonB\x0f\n\r_auth_context\"\xd5\x02\n\"ApplyControlPlaneRunActionResponse\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12\x42\n\x06\x61\x63tion\x18\x03 \x01(\x0e\x32\x32.monarchic.agent_protocol.v1.ControlPlaneRunAction\x12\x10\n\x08\x61\x63\x63\x65pted\x18\x04 \x01(\x08\x12L\n\x0flifecycle_state\x18\x05 \x01(\x0e\x32..monarchic.agent_protocol.v1.RunLifecycleStateH\x00\x88\x01\x01\x12\x14\n\x07message\x18\x06 \x01(\tH\x01\x88\x01\x01\x12+\n\nextensions\x18\x07 \x01(\x0b\x32\x17.google.protobuf.StructB\x12\n\x10_lifecycle_stateB\n\n\x08_message\"\x9f\x03\n)ApplyControlPlaneReviewDispositionRequest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12=\n\x05scope\x18\x02 \x01(\x0b\x32..monarchic.agent_protocol.v1.ControlPlaneScope\x12\x13\n\x0bproject_key\x18\x03 \x01(\t\x12\x14\n\x07plan_id\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\r\n\x05\x61\x63tor\x18\x05 \x01(\t\x12@\n\x08\x64\x65\x63ision\x18\x06 \x01(\x0e\x32..monarchic.agent_protocol.v1.ReviewDisposition\x12\x0e\n\x06reason\x18\x07 \x01(\t\x12+\n\nextensions\x18\x08 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x43\n\x0c\x61uth_context\x18\t \x01(\x0b\x32(.monarchic.agent_protocol.v1.AuthContextH\x01\x88\x01\x01\x42\n\n\x08_plan_idB\x0f\n\r_auth_context\"\xa4\x03\n*ApplyControlPlaneReviewDispositionResponse\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x13\n\x0bproject_key\x18\x02 \x01(\t\x12\x14\n\x07plan_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x10\n\x08\x61\x63\x63\x65pted\x18\x04 \x01(\x08\x12I\n\x0freview_decision\x18\x05 \x01(\x0b\x32+.monarchic.agent_protocol.v1.ReviewDecisionH\x01\x88\x01\x01\x12N\n\x12pr_lifecycle_state\x18\x06 \x01(\x0b\x32-.monarchic.agent_protocol.v1.PrLifecycleStateH\x02\x88\x01\x01\x12\x14\n\x07message\x18\x07 \x01(\tH\x03\x88\x01\x01\x12+\n\nextensions\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructB\n\n\x08_plan_idB\x12\n\x10_review_decisionB\x15\n\x13_pr_lifecycle_stateB\n\n\x08_message\"\x92\x02\n\x1f\x45nsureControlPlaneWorkerRequest\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12=\n\x05scope\x18\x02 \x01(\x0b\x32..monarchic.agent_protocol.v1.ControlPlaneScope\x12\x13\n\x0bproject_key\x18\x03 \x01(\t\x12+\n\nextensions\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x43\n\x0c\x61uth_context\x18\x05 \x01(\x0b\x32(.monarchic.agent_protocol.v1.AuthContextH\x00\x88\x01\x01\x42\x0f\n\r_auth_context\"\xd8\x01\n EnsureControlPlaneWorkerResponse\x12\x18\n\x10\x63ontract_version\x18\x01 \x01(\t\x12\x13\n\x0bproject_key\x18\x02 \x01(\t\x12\x10\n\x08\x61\x63\x63\x65pted\x18\x03 \x01(\x08\x12\x16\n\tworker_id\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07message\x18\x05 \x01(\tH\x01\x88\x01\x01\x12+\n\nextensions\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructB\x0c\n\n_worker_idB\n\n\x08_message*\xb6\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\x12\r\n\tPUBLISHER\x10\x08\x12\x0e\n\nRESEARCHER\x10\t\x12\x10\n\x0cVERIFICATION\x10\n*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*\x93\x01\n\x0bIntentClass\x12\x1c\n\x18INTENT_CLASS_UNSPECIFIED\x10\x00\x12\x18\n\x14INTENT_CLASS_INSPECT\x10\x01\x12\x19\n\x15INTENT_CLASS_VALIDATE\x10\x02\x12\x18\n\x14INTENT_CLASS_EXECUTE\x10\x03\x12\x17\n\x13INTENT_CLASS_VERIFY\x10\x04*\xa7\x01\n\x15\x42ootstrapPlanningMode\x12\'\n#BOOTSTRAP_PLANNING_MODE_UNSPECIFIED\x10\x00\x12\x30\n,BOOTSTRAP_PLANNING_MODE_DIRECT_TEMPLATE_FILL\x10\x01\x12\x33\n/BOOTSTRAP_PLANNING_MODE_BOUNDED_RESEARCH_REPLAN\x10\x02*\xcc\x02\n\x1e\x43\x61mpaignPipelineConnectionKind\x12\x31\n-CAMPAIGN_PIPELINE_CONNECTION_KIND_UNSPECIFIED\x10\x00\x12\x30\n,CAMPAIGN_PIPELINE_CONNECTION_KIND_DEPENDS_ON\x10\x01\x12-\n)CAMPAIGN_PIPELINE_CONNECTION_KIND_HANDOFF\x10\x02\x12,\n(CAMPAIGN_PIPELINE_CONNECTION_KIND_REVIEW\x10\x03\x12\x33\n/CAMPAIGN_PIPELINE_CONNECTION_KIND_MESSAGE_ROUTE\x10\x04\x12\x33\n/CAMPAIGN_PIPELINE_CONNECTION_KIND_ARTIFACT_FLOW\x10\x05*\x93\x01\n\nPlanStatus\x12\x1b\n\x17PLAN_STATUS_UNSPECIFIED\x10\x00\x12\t\n\x05\x44RAFT\x10\x01\x12\x0b\n\x07PLANNED\x10\x02\x12\r\n\tEXECUTING\x10\x03\x12\x0c\n\x08\x43OMPLETE\x10\x04\x12\x0b\n\x07\x42OUNDED\x10\x05\x12\n\n\x06\x46\x41ILED\x10\x06\x12\r\n\tCANCELLED\x10\x07\x12\x0b\n\x07UNKNOWN\x10\x08*\xfd\x02\n\x0c\x41rtifactKind\x12\x1d\n\x19\x41RTIFACT_KIND_UNSPECIFIED\x10\x00\x12\x16\n\x12\x41RTIFACT_KIND_PLAN\x10\x01\x12#\n\x1f\x41RTIFACT_KIND_EXECUTION_RECEIPT\x10\x02\x12&\n\"ARTIFACT_KIND_VERIFICATION_RECEIPT\x10\x03\x12\x1b\n\x17\x41RTIFACT_KIND_EVENT_LOG\x10\x04\x12!\n\x1d\x41RTIFACT_KIND_DIGEST_MANIFEST\x10\x05\x12 \n\x1c\x41RTIFACT_KIND_PROOF_MANIFEST\x10\x06\x12\x17\n\x13\x41RTIFACT_KIND_PATCH\x10\x07\x12\x1d\n\x19\x41RTIFACT_KIND_TEST_REPORT\x10\x08\x12\x1b\n\x17\x41RTIFACT_KIND_BUILD_LOG\x10\t\x12\x18\n\x14\x41RTIFACT_KIND_BUNDLE\x10\n\x12\x18\n\x14\x41RTIFACT_KIND_CUSTOM\x10\x0b*\xcd\x01\n\rAuthMechanism\x12\x1e\n\x1a\x41UTH_MECHANISM_UNSPECIFIED\x10\x00\x12 \n\x1c\x41UTH_MECHANISM_SHARED_SECRET\x10\x01\x12\x1f\n\x1b\x41UTH_MECHANISM_BEARER_TOKEN\x10\x02\x12\x1f\n\x1b\x41UTH_MECHANISM_SIGNED_TOKEN\x10\x03\x12\x1d\n\x19\x41UTH_MECHANISM_MUTUAL_TLS\x10\x04\x12\x19\n\x15\x41UTH_MECHANISM_CUSTOM\x10\x05*\xcc\x01\n\rUsageCategory\x12\x1e\n\x1aUSAGE_CATEGORY_UNSPECIFIED\x10\x00\x12 \n\x1cUSAGE_CATEGORY_CONTROL_PLANE\x10\x01\x12\x1c\n\x18USAGE_CATEGORY_EXECUTION\x10\x02\x12\x1f\n\x1bUSAGE_CATEGORY_VERIFICATION\x10\x03\x12\x1f\n\x1bUSAGE_CATEGORY_AUDIT_EXPORT\x10\x04\x12\x19\n\x15USAGE_CATEGORY_CUSTOM\x10\x05*\xb6\x01\n\tUsageUnit\x12\x1a\n\x16USAGE_UNIT_UNSPECIFIED\x10\x00\x12\x17\n\x13USAGE_UNIT_REQUESTS\x10\x01\x12\x1b\n\x17USAGE_UNIT_MILLISECONDS\x10\x02\x12\x14\n\x10USAGE_UNIT_BYTES\x10\x03\x12\x15\n\x11USAGE_UNIT_TOKENS\x10\x04\x12\x13\n\x0fUSAGE_UNIT_RUNS\x10\x05\x12\x15\n\x11USAGE_UNIT_CUSTOM\x10\x06*\xf6\x01\n\x0cPlanStepKind\x12\x1e\n\x1aPLAN_STEP_KIND_UNSPECIFIED\x10\x00\x12\x1b\n\x17PLAN_STEP_KIND_ANALYSIS\x10\x01\x12\x1c\n\x18PLAN_STEP_KIND_EXECUTION\x10\x02\x12\x1f\n\x1bPLAN_STEP_KIND_VERIFICATION\x10\x03\x12\x19\n\x15PLAN_STEP_KIND_REVIEW\x10\x04\x12\x18\n\x14PLAN_STEP_KIND_MERGE\x10\x05\x12\x1a\n\x16PLAN_STEP_KIND_RELEASE\x10\x06\x12\x19\n\x15PLAN_STEP_KIND_CUSTOM\x10\x07*\xa1\x01\n\x0eReplanStrategy\x12\x1f\n\x1bREPLAN_STRATEGY_UNSPECIFIED\x10\x00\x12\x19\n\x15REPLAN_STRATEGY_RETRY\x10\x01\x12\x1a\n\x16REPLAN_STRATEGY_REPAIR\x10\x02\x12\x1c\n\x18REPLAN_STRATEGY_ESCALATE\x10\x03\x12\x19\n\x15REPLAN_STRATEGY_BLOCK\x10\x04*\xbb\x01\n\x12VerificationStatus\x12#\n\x1fVERIFICATION_STATUS_UNSPECIFIED\x10\x00\x12\x1f\n\x1bVERIFICATION_STATUS_PENDING\x10\x01\x12\x1e\n\x1aVERIFICATION_STATUS_PASSED\x10\x02\x12\x1e\n\x1aVERIFICATION_STATUS_FAILED\x10\x03\x12\x1f\n\x1bVERIFICATION_STATUS_BLOCKED\x10\x04*\xde\x01\n\x17VerificationCheckStatus\x12)\n%VERIFICATION_CHECK_STATUS_UNSPECIFIED\x10\x00\x12$\n VERIFICATION_CHECK_STATUS_PASSED\x10\x01\x12$\n VERIFICATION_CHECK_STATUS_FAILED\x10\x02\x12%\n!VERIFICATION_CHECK_STATUS_BLOCKED\x10\x03\x12%\n!VERIFICATION_CHECK_STATUS_SKIPPED\x10\x04*\xa9\x02\n\x13\x42lockedOutcomeScope\x12%\n!BLOCKED_OUTCOME_SCOPE_UNSPECIFIED\x10\x00\x12 \n\x1c\x42LOCKED_OUTCOME_SCOPE_INTENT\x10\x01\x12\x1e\n\x1a\x42LOCKED_OUTCOME_SCOPE_PLAN\x10\x02\x12\x1e\n\x1a\x42LOCKED_OUTCOME_SCOPE_STEP\x10\x03\x12\x1d\n\x19\x42LOCKED_OUTCOME_SCOPE_RUN\x10\x04\x12&\n\"BLOCKED_OUTCOME_SCOPE_VERIFICATION\x10\x05\x12\x1f\n\x1b\x42LOCKED_OUTCOME_SCOPE_MERGE\x10\x06\x12!\n\x1d\x42LOCKED_OUTCOME_SCOPE_RELEASE\x10\x07*\xef\x01\n\x13ReviewDecisionScope\x12%\n!REVIEW_DECISION_SCOPE_UNSPECIFIED\x10\x00\x12\x1e\n\x1aREVIEW_DECISION_SCOPE_PLAN\x10\x01\x12\x1e\n\x1aREVIEW_DECISION_SCOPE_STEP\x10\x02\x12&\n\"REVIEW_DECISION_SCOPE_PULL_REQUEST\x10\x03\x12&\n\"REVIEW_DECISION_SCOPE_VERIFICATION\x10\x04\x12!\n\x1dREVIEW_DECISION_SCOPE_RELEASE\x10\x05*\xbc\x01\n\x11ReviewDisposition\x12\"\n\x1eREVIEW_DISPOSITION_UNSPECIFIED\x10\x00\x12\x1e\n\x1aREVIEW_DISPOSITION_APPROVE\x10\x01\x12&\n\"REVIEW_DISPOSITION_REQUEST_CHANGES\x10\x02\x12\x1d\n\x19REVIEW_DISPOSITION_REJECT\x10\x03\x12\x1c\n\x18REVIEW_DISPOSITION_DEFER\x10\x04*j\n\x0cRerunTrigger\x12\x1d\n\x19RERUN_TRIGGER_UNSPECIFIED\x10\x00\x12!\n\x1dRERUN_TRIGGER_REVIEW_DECISION\x10\x01\x12\x18\n\x14RERUN_TRIGGER_MANUAL\x10\x02*\xb4\x01\n\x16RerunSelectionStrategy\x12(\n$RERUN_SELECTION_STRATEGY_UNSPECIFIED\x10\x00\x12%\n!RERUN_SELECTION_STRATEGY_TASK_IDS\x10\x01\x12%\n!RERUN_SELECTION_STRATEGY_STEP_IDS\x10\x02\x12\"\n\x1eRERUN_SELECTION_STRATEGY_PATHS\x10\x03*\xcf\x01\n\x14RerunExecutionStatus\x12&\n\"RERUN_EXECUTION_STATUS_UNSPECIFIED\x10\x00\x12\"\n\x1eRERUN_EXECUTION_STATUS_PENDING\x10\x01\x12$\n RERUN_EXECUTION_STATUS_SUCCEEDED\x10\x02\x12!\n\x1dRERUN_EXECUTION_STATUS_FAILED\x10\x03\x12\"\n\x1eRERUN_EXECUTION_STATUS_PARTIAL\x10\x04*\xee\x01\n\x0eRunEventStream\x12 \n\x1cRUN_EVENT_STREAM_UNSPECIFIED\x10\x00\x12\x1e\n\x1aRUN_EVENT_STREAM_EXECUTION\x10\x01\x12\x1d\n\x19RUN_EVENT_STREAM_RECOVERY\x10\x02\x12\x1b\n\x17RUN_EVENT_STREAM_REVIEW\x10\x03\x12!\n\x1dRUN_EVENT_STREAM_VERIFICATION\x10\x04\x12\x1e\n\x1aRUN_EVENT_STREAM_LIFECYCLE\x10\x05\x12\x1b\n\x17RUN_EVENT_STREAM_CUSTOM\x10\x06*\xb5\x01\n\x0fTaskMessageKind\x12!\n\x1dTASK_MESSAGE_KIND_UNSPECIFIED\x10\x00\x12$\n TASK_MESSAGE_KIND_ARTIFACT_READY\x10\x01\x12+\n\'TASK_MESSAGE_KIND_CLARIFICATION_REQUEST\x10\x02\x12,\n(TASK_MESSAGE_KIND_CLARIFICATION_RESPONSE\x10\x03*\xb0\x01\n\x13LeaseLifecycleState\x12%\n!LEASE_LIFECYCLE_STATE_UNSPECIFIED\x10\x00\x12\x10\n\x0cLEASE_ISSUED\x10\x01\x12\x10\n\x0cLEASE_ACTIVE\x10\x02\x12\x12\n\x0eLEASE_RELEASED\x10\x03\x12\x11\n\rLEASE_EXPIRED\x10\x04\x12\x13\n\x0fLEASE_CANCELLED\x10\x05\x12\x12\n\x0eLEASE_REJECTED\x10\x06*\xc6\x01\n\x11RunLifecycleState\x12#\n\x1fRUN_LIFECYCLE_STATE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bRUN_PENDING\x10\x01\x12\x11\n\rRUN_EXECUTING\x10\x02\x12\x0e\n\nRUN_PAUSED\x10\x03\x12\x12\n\x0eRUN_CANCELLING\x10\x04\x12\x11\n\rRUN_CANCELLED\x10\x05\x12\x0e\n\nRUN_FAILED\x10\x06\x12\x10\n\x0cRUN_COMPLETE\x10\x07\x12\x0f\n\x0bRUN_BLOCKED\x10\x08*\xc9\x01\n\x12StepLifecycleState\x12$\n STEP_LIFECYCLE_STATE_UNSPECIFIED\x10\x00\x12\x10\n\x0cSTEP_PENDING\x10\x01\x12\x0e\n\nSTEP_READY\x10\x02\x12\x0f\n\x0bSTEP_LEASED\x10\x03\x12\x10\n\x0cSTEP_RUNNING\x10\x04\x12\x11\n\rSTEP_COMPLETE\x10\x05\x12\x0f\n\x0bSTEP_FAILED\x10\x06\x12\x12\n\x0eSTEP_CANCELLED\x10\x07\x12\x10\n\x0cSTEP_BLOCKED\x10\x08*\xee\x02\n\x14LeaseRejectionReason\x12&\n\"LEASE_REJECTION_REASON_UNSPECIFIED\x10\x00\x12\'\n#LEASE_REJECTION_STALE_FENCING_TOKEN\x10\x01\x12\x1b\n\x17LEASE_REJECTION_EXPIRED\x10\x02\x12$\n LEASE_REJECTION_SESSION_MISMATCH\x10\x03\x12!\n\x1dLEASE_REJECTION_UNKNOWN_LEASE\x10\x04\x12)\n%LEASE_REJECTION_STEP_ALREADY_TERMINAL\x10\x05\x12&\n\"LEASE_REJECTION_RUN_NOT_EXECUTABLE\x10\x06\x12&\n\"LEASE_REJECTION_DEPENDENCY_BLOCKED\x10\x07\x12$\n LEASE_REJECTION_LEASE_SUPERSEDED\x10\x08*\x88\x03\n\x11RecoveryEventKind\x12#\n\x1fRECOVERY_EVENT_KIND_UNSPECIFIED\x10\x00\x12\'\n#RECOVERY_EVENT_ORCHESTRATOR_STARTED\x10\x01\x12!\n\x1dRECOVERY_EVENT_STATE_RELOADED\x10\x02\x12!\n\x1dRECOVERY_EVENT_LEASE_RESTORED\x10\x03\x12!\n\x1dRECOVERY_EVENT_LEASE_REJECTED\x10\x04\x12 \n\x1cRECOVERY_EVENT_STEP_REQUEUED\x10\x05\x12\x1f\n\x1bRECOVERY_EVENT_STEP_BLOCKED\x10\x06\x12 \n\x1cRECOVERY_EVENT_RUN_RECOVERED\x10\x07\x12)\n%RECOVERY_EVENT_CANCELLATION_REQUESTED\x10\x08\x12,\n(RECOVERY_EVENT_CANCELLATION_ACKNOWLEDGED\x10\t*\xd7\x01\n\x15\x43ontrolPlaneRunAction\x12(\n$CONTROL_PLANE_RUN_ACTION_UNSPECIFIED\x10\x00\x12\"\n\x1e\x43ONTROL_PLANE_RUN_ACTION_PAUSE\x10\x01\x12#\n\x1f\x43ONTROL_PLANE_RUN_ACTION_RESUME\x10\x02\x12&\n\"CONTROL_PLANE_RUN_ACTION_INTERRUPT\x10\x03\x12#\n\x1f\x43ONTROL_PLANE_RUN_ACTION_CANCEL\x10\x04\x32\xe3\x08\n\x14RunnerControlService\x12y\n\x0eRegisterRunner\x12\x32.monarchic.agent_protocol.v1.RegisterRunnerRequest\x1a\x33.monarchic.agent_protocol.v1.RegisterRunnerResponse\x12j\n\tHeartbeat\x12-.monarchic.agent_protocol.v1.HeartbeatRequest\x1a..monarchic.agent_protocol.v1.HeartbeatResponse\x12s\n\x0c\x41\x63quireLease\x12\x30.monarchic.agent_protocol.v1.AcquireLeaseRequest\x1a\x31.monarchic.agent_protocol.v1.AcquireLeaseResponse\x12m\n\nRenewLease\x12..monarchic.agent_protocol.v1.RenewLeaseRequest\x1a/.monarchic.agent_protocol.v1.RenewLeaseResponse\x12p\n\x0bResumeLease\x12/.monarchic.agent_protocol.v1.ResumeLeaseRequest\x1a\x30.monarchic.agent_protocol.v1.ResumeLeaseResponse\x12\x82\x01\n\x11ReportStepStarted\x12\x35.monarchic.agent_protocol.v1.ReportStepStartedRequest\x1a\x36.monarchic.agent_protocol.v1.ReportStepStartedResponse\x12\x85\x01\n\x12ReportStepProgress\x12\x36.monarchic.agent_protocol.v1.ReportStepProgressRequest\x1a\x37.monarchic.agent_protocol.v1.ReportStepProgressResponse\x12\x82\x01\n\x11ReportStepOutcome\x12\x35.monarchic.agent_protocol.v1.ReportStepOutcomeRequest\x1a\x36.monarchic.agent_protocol.v1.ReportStepOutcomeResponse\x12|\n\x0f\x41\x63kCancellation\x12\x33.monarchic.agent_protocol.v1.AckCancellationRequest\x1a\x34.monarchic.agent_protocol.v1.AckCancellationResponse2\x80\x07\n\x14\x43lientControlService\x12\x7f\n\x08ListRuns\x12\x38.monarchic.agent_protocol.v1.ListControlPlaneRunsRequest\x1a\x39.monarchic.agent_protocol.v1.ListControlPlaneRunsResponse\x12y\n\x06GetRun\x12\x36.monarchic.agent_protocol.v1.GetControlPlaneRunRequest\x1a\x37.monarchic.agent_protocol.v1.GetControlPlaneRunResponse\x12\x9d\x01\n\x12GetRunActivityPage\x12\x42.monarchic.agent_protocol.v1.GetControlPlaneRunActivityPageRequest\x1a\x43.monarchic.agent_protocol.v1.GetControlPlaneRunActivityPageResponse\x12\x91\x01\n\x0e\x41pplyRunAction\x12>.monarchic.agent_protocol.v1.ApplyControlPlaneRunActionRequest\x1a?.monarchic.agent_protocol.v1.ApplyControlPlaneRunActionResponse\x12\xa9\x01\n\x16\x41pplyReviewDisposition\x12\x46.monarchic.agent_protocol.v1.ApplyControlPlaneReviewDispositionRequest\x1aG.monarchic.agent_protocol.v1.ApplyControlPlaneReviewDispositionResponse\x12\x8b\x01\n\x0c\x45nsureWorker\x12<.monarchic.agent_protocol.v1.EnsureControlPlaneWorkerRequest\x1a=.monarchic.agent_protocol.v1.EnsureControlPlaneWorkerResponseB\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)
@@ -23,6 +23,26 @@ module Monarchic
23
23
  FailureClass = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.FailureClass").msgclass
24
24
  Provenance = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.Provenance").msgclass
25
25
  Intent = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.Intent").msgclass
26
+ BootstrapIntent = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.BootstrapIntent").msgclass
27
+ AgentRunnerPreference = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.AgentRunnerPreference").msgclass
28
+ AgentRunnerPolicy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.AgentRunnerPolicy").msgclass
29
+ AgentProfile = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.AgentProfile").msgclass
30
+ ResolvedAgentRunner = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.ResolvedAgentRunner").msgclass
31
+ BootstrapPlanTask = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.BootstrapPlanTask").msgclass
32
+ BootstrapPlan = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.BootstrapPlan").msgclass
33
+ BootstrapFilesystemPolicy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.BootstrapFilesystemPolicy").msgclass
34
+ BootstrapSkillBinding = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.BootstrapSkillBinding").msgclass
35
+ BootstrapTemplateSlotContext = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.BootstrapTemplateSlotContext").msgclass
36
+ BootstrapTemplateConnectionContext = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.BootstrapTemplateConnectionContext").msgclass
37
+ BootstrapTemplateLaneContext = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.BootstrapTemplateLaneContext").msgclass
38
+ BootstrapTemplateContext = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.BootstrapTemplateContext").msgclass
39
+ AgentCommand = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.AgentCommand").msgclass
40
+ BootstrapPlanningContext = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.BootstrapPlanningContext").msgclass
41
+ CampaignPipelineTaskRef = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.CampaignPipelineTaskRef").msgclass
42
+ CampaignPipelineConnection = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.CampaignPipelineConnection").msgclass
43
+ CampaignPipelineGate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.CampaignPipelineGate").msgclass
44
+ CampaignPipelineGatePolicy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.CampaignPipelineGatePolicy").msgclass
45
+ CampaignPipelineSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.CampaignPipelineSpec").msgclass
26
46
  RoleProvenance = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.RoleProvenance").msgclass
27
47
  PlanProvenance = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.PlanProvenance").msgclass
28
48
  FailureDetail = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.FailureDetail").msgclass
@@ -80,9 +100,27 @@ module Monarchic
80
100
  ReportStepOutcomeResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.ReportStepOutcomeResponse").msgclass
81
101
  AckCancellationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.AckCancellationRequest").msgclass
82
102
  AckCancellationResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.AckCancellationResponse").msgclass
103
+ ControlPlaneScope = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.ControlPlaneScope").msgclass
104
+ RunOperatorSignals = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.RunOperatorSignals").msgclass
105
+ ControlPlaneRunSummary = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.ControlPlaneRunSummary").msgclass
106
+ ControlPlaneRunActivityCursor = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.ControlPlaneRunActivityCursor").msgclass
107
+ ListControlPlaneRunsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.ListControlPlaneRunsRequest").msgclass
108
+ ListControlPlaneRunsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.ListControlPlaneRunsResponse").msgclass
109
+ GetControlPlaneRunRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.GetControlPlaneRunRequest").msgclass
110
+ GetControlPlaneRunResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.GetControlPlaneRunResponse").msgclass
111
+ GetControlPlaneRunActivityPageRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.GetControlPlaneRunActivityPageRequest").msgclass
112
+ GetControlPlaneRunActivityPageResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.GetControlPlaneRunActivityPageResponse").msgclass
113
+ ApplyControlPlaneRunActionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.ApplyControlPlaneRunActionRequest").msgclass
114
+ ApplyControlPlaneRunActionResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.ApplyControlPlaneRunActionResponse").msgclass
115
+ ApplyControlPlaneReviewDispositionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.ApplyControlPlaneReviewDispositionRequest").msgclass
116
+ ApplyControlPlaneReviewDispositionResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.ApplyControlPlaneReviewDispositionResponse").msgclass
117
+ EnsureControlPlaneWorkerRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.EnsureControlPlaneWorkerRequest").msgclass
118
+ EnsureControlPlaneWorkerResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.EnsureControlPlaneWorkerResponse").msgclass
83
119
  AgentRole = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.AgentRole").enummodule
84
120
  OutcomeDecision = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.OutcomeDecision").enummodule
85
121
  IntentClass = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.IntentClass").enummodule
122
+ BootstrapPlanningMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.BootstrapPlanningMode").enummodule
123
+ CampaignPipelineConnectionKind = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.CampaignPipelineConnectionKind").enummodule
86
124
  PlanStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.PlanStatus").enummodule
87
125
  ArtifactKind = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.ArtifactKind").enummodule
88
126
  AuthMechanism = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.AuthMechanism").enummodule
@@ -99,11 +137,13 @@ module Monarchic
99
137
  RerunSelectionStrategy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.RerunSelectionStrategy").enummodule
100
138
  RerunExecutionStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.RerunExecutionStatus").enummodule
101
139
  RunEventStream = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.RunEventStream").enummodule
140
+ TaskMessageKind = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.TaskMessageKind").enummodule
102
141
  LeaseLifecycleState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.LeaseLifecycleState").enummodule
103
142
  RunLifecycleState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.RunLifecycleState").enummodule
104
143
  StepLifecycleState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.StepLifecycleState").enummodule
105
144
  LeaseRejectionReason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.LeaseRejectionReason").enummodule
106
145
  RecoveryEventKind = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.RecoveryEventKind").enummodule
146
+ ControlPlaneRunAction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("monarchic.agent_protocol.v1.ControlPlaneRunAction").enummodule
107
147
  end
108
148
  end
109
149
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: monarchic-agent-protocol
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.16
4
+ version: 0.1.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Monarchic AI
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-04-01 00:00:00.000000000 Z
11
+ date: 2026-07-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-protobuf
@@ -41,7 +41,6 @@ files:
41
41
  - schemas/v1/agent_role.json
42
42
  - schemas/v1/artifact.json
43
43
  - schemas/v1/dataset_ref.json
44
- - schemas/v1/delivery_contract.json
45
44
  - schemas/v1/eval_result.json
46
45
  - schemas/v1/event.json
47
46
  - schemas/v1/execution_receipt.json
@@ -51,7 +50,6 @@ files:
51
50
  - schemas/v1/gate_result.json
52
51
  - schemas/v1/google.protobuf.Struct.schema.json
53
52
  - schemas/v1/monarchic.agent_protocol.v1.DatasetRef.schema.json
54
- - schemas/v1/monarchic.agent_protocol.v1.DeliveryContract.schema.json
55
53
  - schemas/v1/monarchic.agent_protocol.v1.EvalResult.schema.json
56
54
  - schemas/v1/monarchic.agent_protocol.v1.ExperimentSpec.schema.json
57
55
  - schemas/v1/monarchic.agent_protocol.v1.ObjectiveSpec.schema.json
@@ -1,78 +0,0 @@
1
- {
2
- "$id": "https://monarchic.ai/schema/v1/delivery_contract.json",
3
- "$schema": "https://json-schema.org/draft/2020-12/schema",
4
- "title": "DeliveryContract",
5
- "type": "object",
6
- "additionalProperties": true,
7
- "required": [
8
- "objective",
9
- "definition_of_done",
10
- "required_checks",
11
- "risk_tier"
12
- ],
13
- "properties": {
14
- "objective": {
15
- "type": "string",
16
- "minLength": 1
17
- },
18
- "definition_of_done": {
19
- "type": "array",
20
- "minItems": 1,
21
- "items": {
22
- "type": "string",
23
- "minLength": 1
24
- }
25
- },
26
- "required_checks": {
27
- "type": "array",
28
- "minItems": 1,
29
- "items": {
30
- "type": "string",
31
- "minLength": 1
32
- }
33
- },
34
- "risk_tier": {
35
- "type": "string",
36
- "enum": [
37
- "low",
38
- "medium",
39
- "high",
40
- "critical"
41
- ]
42
- },
43
- "max_cycle_minutes": {
44
- "type": "integer",
45
- "minimum": 1
46
- },
47
- "max_agent_turns": {
48
- "type": "integer",
49
- "minimum": 1
50
- },
51
- "pr_strategy": {
52
- "type": "string",
53
- "enum": [
54
- "single",
55
- "stacked",
56
- "incremental"
57
- ]
58
- },
59
- "review_policy": {
60
- "type": "string",
61
- "enum": [
62
- "auto",
63
- "human_required"
64
- ]
65
- },
66
- "rollback_strategy": {
67
- "type": "string",
68
- "enum": [
69
- "revert_commit",
70
- "revert_pr",
71
- "manual"
72
- ]
73
- },
74
- "notes": {
75
- "type": "string"
76
- }
77
- }
78
- }
@@ -1,9 +0,0 @@
1
- {
2
- "$id": "monarchic.agent_protocol.v1.DeliveryContract.schema.json",
3
- "$schema": "https://json-schema.org/draft/2020-12/schema",
4
- "allOf": [
5
- {
6
- "$ref": "delivery_contract.json"
7
- }
8
- ]
9
- }