@claudexor/schema 2.1.2 → 3.0.0

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.
Files changed (174) hide show
  1. package/dist/agent-capabilities.d.ts +32 -24
  2. package/dist/agent-capabilities.d.ts.map +1 -1
  3. package/dist/agent-capabilities.js +20 -11
  4. package/dist/agent-capabilities.js.map +1 -1
  5. package/dist/apply-eligibility.d.ts +166 -0
  6. package/dist/apply-eligibility.d.ts.map +1 -1
  7. package/dist/apply-eligibility.js +63 -2
  8. package/dist/apply-eligibility.js.map +1 -1
  9. package/dist/attachment.d.ts +5 -5
  10. package/dist/budget.d.ts +4 -4
  11. package/dist/config.d.ts +59 -41
  12. package/dist/config.d.ts.map +1 -1
  13. package/dist/config.js +16 -6
  14. package/dist/config.js.map +1 -1
  15. package/dist/context.d.ts +6 -6
  16. package/dist/control-operation-responses.d.ts +190 -97
  17. package/dist/control-operation-responses.d.ts.map +1 -1
  18. package/dist/control-operation-responses.js +14 -1
  19. package/dist/control-operation-responses.js.map +1 -1
  20. package/dist/control-run-detail.d.ts +380 -215
  21. package/dist/control-run-detail.d.ts.map +1 -1
  22. package/dist/control-run-detail.js +54 -8
  23. package/dist/control-run-detail.js.map +1 -1
  24. package/dist/control-thread-apply.d.ts +5 -5
  25. package/dist/control-trust.d.ts +6 -6
  26. package/dist/control.d.ts +769 -323
  27. package/dist/control.d.ts.map +1 -1
  28. package/dist/control.js +164 -71
  29. package/dist/control.js.map +1 -1
  30. package/dist/credential-profile.d.ts +400 -1
  31. package/dist/credential-profile.d.ts.map +1 -1
  32. package/dist/credential-profile.js +109 -4
  33. package/dist/credential-profile.js.map +1 -1
  34. package/dist/decision.d.ts +78 -14
  35. package/dist/decision.d.ts.map +1 -1
  36. package/dist/decision.js +53 -20
  37. package/dist/decision.js.map +1 -1
  38. package/dist/delivery.d.ts +3 -3
  39. package/dist/delivery.js +1 -1
  40. package/dist/delivery.js.map +1 -1
  41. package/dist/events.d.ts +32 -6
  42. package/dist/events.d.ts.map +1 -1
  43. package/dist/events.js +46 -11
  44. package/dist/events.js.map +1 -1
  45. package/dist/gate.d.ts +4 -4
  46. package/dist/gate.d.ts.map +1 -1
  47. package/dist/gate.js +2 -2
  48. package/dist/gate.js.map +1 -1
  49. package/dist/harness.d.ts +137 -47
  50. package/dist/harness.d.ts.map +1 -1
  51. package/dist/harness.js +65 -16
  52. package/dist/harness.js.map +1 -1
  53. package/dist/index.d.ts +4 -3
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +4 -3
  56. package/dist/index.js.map +1 -1
  57. package/dist/operation.d.ts +66 -7
  58. package/dist/operation.d.ts.map +1 -1
  59. package/dist/operation.js +29 -2
  60. package/dist/operation.js.map +1 -1
  61. package/dist/output-schema.d.ts +40 -0
  62. package/dist/output-schema.d.ts.map +1 -0
  63. package/dist/output-schema.js +109 -0
  64. package/dist/output-schema.js.map +1 -0
  65. package/dist/plan.d.ts +206 -0
  66. package/dist/plan.d.ts.map +1 -0
  67. package/dist/plan.js +107 -0
  68. package/dist/plan.js.map +1 -0
  69. package/dist/primitives.d.ts +14 -10
  70. package/dist/primitives.d.ts.map +1 -1
  71. package/dist/primitives.js +14 -11
  72. package/dist/primitives.js.map +1 -1
  73. package/dist/project.d.ts +75 -0
  74. package/dist/project.d.ts.map +1 -1
  75. package/dist/project.js +17 -0
  76. package/dist/project.js.map +1 -1
  77. package/dist/quota.d.ts +119 -0
  78. package/dist/quota.d.ts.map +1 -1
  79. package/dist/quota.js +22 -0
  80. package/dist/quota.js.map +1 -1
  81. package/dist/raw.d.ts +4 -4
  82. package/dist/readiness.d.ts +14 -7
  83. package/dist/readiness.d.ts.map +1 -1
  84. package/dist/run-strategy.d.ts +17 -0
  85. package/dist/run-strategy.d.ts.map +1 -0
  86. package/dist/run-strategy.js +47 -0
  87. package/dist/run-strategy.js.map +1 -0
  88. package/dist/setup.d.ts +160 -160
  89. package/dist/status-projection.d.ts +78 -0
  90. package/dist/status-projection.d.ts.map +1 -0
  91. package/dist/status-projection.js +171 -0
  92. package/dist/status-projection.js.map +1 -0
  93. package/dist/task.d.ts +48 -316
  94. package/dist/task.d.ts.map +1 -1
  95. package/dist/task.js +3 -60
  96. package/dist/task.js.map +1 -1
  97. package/dist/telemetry.d.ts +89 -89
  98. package/dist/thread.d.ts +167 -32
  99. package/dist/thread.d.ts.map +1 -1
  100. package/dist/thread.js +92 -28
  101. package/dist/thread.js.map +1 -1
  102. package/dist/tool-ref.d.ts +1 -1
  103. package/generated/AgentCapabilityCatalog.schema.json +4 -6
  104. package/generated/ApplyEligibility.schema.json +1 -1
  105. package/generated/BudgetLease.schema.json +1 -2
  106. package/generated/ConformanceReport.schema.json +1 -2
  107. package/generated/ContinuityDisclosure.schema.json +74 -0
  108. package/generated/ControlApplyRequest.schema.json +1 -2
  109. package/generated/ControlCredentialProfileUpdateRequest.schema.json +20 -0
  110. package/generated/ControlCredentialProfileUpdateResponse.schema.json +142 -0
  111. package/generated/ControlCredentialProfilesResponse.schema.json +126 -2
  112. package/generated/ControlDeliveryResponse.schema.json +0 -1
  113. package/generated/ControlHandshakeResponse.schema.json +31 -3
  114. package/generated/ControlHarnessListResponse.schema.json +11 -6
  115. package/generated/ControlHarnessSettingsPatch.schema.json +4 -0
  116. package/generated/ControlOperationCatalog.schema.json +16 -1
  117. package/generated/ControlOperationDescriptor.schema.json +15 -0
  118. package/generated/ControlProject.schema.json +35 -0
  119. package/generated/ControlProjectListResponse.schema.json +35 -0
  120. package/generated/ControlProjectOutputsResponse.schema.json +57 -0
  121. package/generated/ControlQueuedRunInfo.schema.json +2 -11
  122. package/generated/ControlQuotaResponse.schema.json +42 -0
  123. package/generated/ControlRunAgainDraft.schema.json +37 -35
  124. package/generated/ControlRunDecisionRequest.schema.json +0 -1
  125. package/generated/ControlRunDetail.schema.json +305 -213
  126. package/generated/ControlRunListResponse.schema.json +88 -27
  127. package/generated/ControlRunStartRequest.schema.json +37 -35
  128. package/generated/ControlRunStartResponse.schema.json +2 -11
  129. package/generated/ControlRunSummary.schema.json +88 -27
  130. package/generated/ControlSettingsSnapshot.schema.json +6 -11
  131. package/generated/ControlSettingsUpdateRequest.schema.json +5 -10
  132. package/generated/ControlThread.schema.json +21 -3
  133. package/generated/ControlThreadApplyResponse.schema.json +0 -1
  134. package/generated/ControlThreadCreateRequest.schema.json +12 -3
  135. package/generated/ControlThreadDetail.schema.json +174 -16
  136. package/generated/ControlThreadListResponse.schema.json +60 -3
  137. package/generated/ControlThreadTurnRequest.schema.json +40 -34
  138. package/generated/ControlThreadUpdateRequest.schema.json +19 -0
  139. package/generated/DecisionRecord.schema.json +73 -33
  140. package/generated/GateResult.schema.json +1 -2
  141. package/generated/GlobalConfig.schema.json +7 -12
  142. package/generated/HarnessManifest.schema.json +11 -6
  143. package/generated/HarnessStatusDto.schema.json +11 -6
  144. package/generated/LaneCheckpoint.schema.json +59 -0
  145. package/generated/McpRunHandleResult.schema.json +234 -0
  146. package/generated/McpRunToolResult.schema.json +124 -2
  147. package/generated/RoutePrimaryDivergedPayload.schema.json +56 -0
  148. package/generated/RunEvent.schema.json +10 -5
  149. package/generated/RunTelemetry.schema.json +2 -4
  150. package/generated/TaskContract.schema.json +3 -135
  151. package/generated/Thread.schema.json +21 -3
  152. package/generated/ThreadTurn.schema.json +88 -0
  153. package/package.json +2 -2
  154. package/dist/control-spec.d.ts +0 -592
  155. package/dist/control-spec.d.ts.map +0 -1
  156. package/dist/control-spec.js +0 -85
  157. package/dist/control-spec.js.map +0 -1
  158. package/dist/orchestrate.d.ts +0 -556
  159. package/dist/orchestrate.d.ts.map +0 -1
  160. package/dist/orchestrate.js +0 -356
  161. package/dist/orchestrate.js.map +0 -1
  162. package/dist/spec.d.ts +0 -678
  163. package/dist/spec.d.ts.map +0 -1
  164. package/dist/spec.js +0 -186
  165. package/dist/spec.js.map +0 -1
  166. package/generated/ControlSpecAnswersRequest.schema.json +0 -74
  167. package/generated/ControlSpecQuestionsRequest.schema.json +0 -206
  168. package/generated/ControlSpecSession.schema.json +0 -249
  169. package/generated/ControlSpecSessionListResponse.schema.json +0 -261
  170. package/generated/OrchestrateContract.schema.json +0 -119
  171. package/generated/OrchestratePlan.schema.json +0 -264
  172. package/generated/OrchestratePlanProgress.schema.json +0 -164
  173. package/generated/SessionReboundLineage.schema.json +0 -73
  174. package/generated/SpecPack.schema.json +0 -483
@@ -1,4 +1,24 @@
1
1
  import { z } from "zod";
2
+ export declare const ControlPrimaryOutput: z.ZodObject<{
3
+ kind: z.ZodEnum<["answer", "report", "plan", "summary", "patch", "diagnostic", "structured_output"]>;
4
+ path: z.ZodString;
5
+ text: z.ZodDefault<z.ZodNullable<z.ZodString>>;
6
+ bytes: z.ZodOptional<z.ZodNumber>;
7
+ truncated: z.ZodDefault<z.ZodBoolean>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ path: string;
10
+ kind: "diagnostic" | "plan" | "summary" | "patch" | "answer" | "report" | "structured_output";
11
+ text: string | null;
12
+ truncated: boolean;
13
+ bytes?: number | undefined;
14
+ }, {
15
+ path: string;
16
+ kind: "diagnostic" | "plan" | "summary" | "patch" | "answer" | "report" | "structured_output";
17
+ bytes?: number | undefined;
18
+ text?: string | null | undefined;
19
+ truncated?: boolean | undefined;
20
+ }>;
21
+ export type ControlPrimaryOutput = z.infer<typeof ControlPrimaryOutput>;
2
22
  /** Per-candidate evidence card for a race run (projected from
3
23
  * attempts/<id>/attempt.yaml + reviews/<id>.yaml + the decision winner).
4
24
  * The macOS Candidates tab renders these; SSE freshness rides the client's
@@ -10,6 +30,7 @@ export declare const ControlCandidate: z.ZodObject<{
10
30
  costUsd: z.ZodDefault<z.ZodNumber>;
11
31
  costEstimated: z.ZodDefault<z.ZodBoolean>;
12
32
  errored: z.ZodDefault<z.ZodBoolean>;
33
+ errorReason: z.ZodDefault<z.ZodNullable<z.ZodString>>;
13
34
  gatesPassed: z.ZodDefault<z.ZodNumber>;
14
35
  gatesTotal: z.ZodDefault<z.ZodNumber>;
15
36
  /** Blocking review findings count (accepted blockers). */
@@ -39,6 +60,7 @@ export declare const ControlCandidate: z.ZodObject<{
39
60
  blockers: number;
40
61
  costEstimated: boolean;
41
62
  errored: boolean;
63
+ errorReason: string | null;
42
64
  gatesPassed: number;
43
65
  gatesTotal: number;
44
66
  reviewVerified: boolean;
@@ -57,6 +79,7 @@ export declare const ControlCandidate: z.ZodObject<{
57
79
  blockers?: number | undefined;
58
80
  costEstimated?: boolean | undefined;
59
81
  errored?: boolean | undefined;
82
+ errorReason?: string | null | undefined;
60
83
  gatesPassed?: number | undefined;
61
84
  gatesTotal?: number | undefined;
62
85
  reviewVerified?: boolean | undefined;
@@ -73,7 +96,7 @@ export declare const ControlRunDetail: z.ZodObject<{
73
96
  jobId: z.ZodString;
74
97
  runId: z.ZodString;
75
98
  taskId: z.ZodOptional<z.ZodString>;
76
- state: z.ZodEnum<["queued", "running", "blocked", "succeeded", "no_op", "ungated", "review_not_run", "failed", "cancelled", "interrupted_unknown", "cost_unverifiable", "exhausted_overshoot", "exhausted", "not_converged", "stuck_no_progress"]>;
99
+ state: z.ZodEnum<["queued", "running", "succeeded", "failed", "cancelled", "interrupted"]>;
77
100
  runDir: z.ZodOptional<z.ZodString>;
78
101
  error: z.ZodOptional<z.ZodString>;
79
102
  failure: z.ZodDefault<z.ZodNullable<z.ZodObject<{
@@ -126,8 +149,8 @@ export declare const ControlRunDetail: z.ZodObject<{
126
149
  context?: "off" | "auto" | undefined;
127
150
  projectName?: string | null | undefined;
128
151
  }>>;
129
- mode: z.ZodOptional<z.ZodEnum<["ask", "plan", "audit", "agent", "orchestrate"]>>;
130
- strategy: z.ZodOptional<z.ZodNullable<z.ZodEnum<["race", "attempts", "until_clean", "swarm", "create"]>>>;
152
+ mode: z.ZodOptional<z.ZodEnum<["ask", "plan", "agent"]>>;
153
+ strategy: z.ZodOptional<z.ZodNullable<z.ZodEnum<["race", "attempts", "until_clean", "deep_scan", "create"]>>>;
131
154
  prompt: z.ZodOptional<z.ZodString>;
132
155
  harnesses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
133
156
  primaryHarness: z.ZodOptional<z.ZodString>;
@@ -238,7 +261,7 @@ export declare const ControlRunDetail: z.ZodObject<{
238
261
  rawDetailRef: z.ZodDefault<z.ZodNullable<z.ZodString>>;
239
262
  available: z.ZodDefault<z.ZodBoolean>;
240
263
  }, "strip", z.ZodTypeAny, {
241
- status: "failed" | "none" | "attempted" | "satisfied" | "unverified";
264
+ status: "failed" | "none" | "attempted" | "unverified" | "satisfied";
242
265
  available: boolean;
243
266
  target: string | null;
244
267
  mode: "off" | "auto" | "cached" | "live";
@@ -250,7 +273,7 @@ export declare const ControlRunDetail: z.ZodObject<{
250
273
  satisfied: boolean;
251
274
  errorSummary: string | null;
252
275
  }, {
253
- status?: "failed" | "none" | "attempted" | "satisfied" | "unverified" | undefined;
276
+ status?: "failed" | "none" | "attempted" | "unverified" | "satisfied" | undefined;
254
277
  available?: boolean | undefined;
255
278
  target?: string | null | undefined;
256
279
  mode?: "off" | "auto" | "cached" | "live" | undefined;
@@ -314,6 +337,9 @@ export declare const ControlRunDetail: z.ZodObject<{
314
337
  revertable: z.ZodDefault<z.ZodBoolean>;
315
338
  }, "strip", z.ZodTypeAny, {
316
339
  kind: "plan" | "none" | "patch" | "answer" | "report";
340
+ applyState: "not_applied" | "applied" | "applied_review_blocked" | "reverted";
341
+ revertAnchorId: string | null;
342
+ postTurnSha: string | null;
317
343
  diffStat: {
318
344
  files: number;
319
345
  additions: number;
@@ -321,13 +347,13 @@ export declare const ControlRunDetail: z.ZodObject<{
321
347
  } | null;
322
348
  blockers: number;
323
349
  adopted: boolean | null;
324
- applyState: "not_applied" | "applied" | "applied_review_blocked" | "reverted";
325
350
  preTurnSha: string | null;
326
- postTurnSha: string | null;
327
- revertAnchorId: string | null;
328
351
  revertable: boolean;
329
352
  }, {
330
353
  kind?: "plan" | "none" | "patch" | "answer" | "report" | undefined;
354
+ applyState?: "not_applied" | "applied" | "applied_review_blocked" | "reverted" | undefined;
355
+ revertAnchorId?: string | null | undefined;
356
+ postTurnSha?: string | null | undefined;
331
357
  diffStat?: {
332
358
  files: number;
333
359
  additions: number;
@@ -335,12 +361,28 @@ export declare const ControlRunDetail: z.ZodObject<{
335
361
  } | null | undefined;
336
362
  blockers?: number | undefined;
337
363
  adopted?: boolean | null | undefined;
338
- applyState?: "not_applied" | "applied" | "applied_review_blocked" | "reverted" | undefined;
339
364
  preTurnSha?: string | null | undefined;
340
- postTurnSha?: string | null | undefined;
341
- revertAnchorId?: string | null | undefined;
342
365
  revertable?: boolean | undefined;
343
366
  }>>;
367
+ outcomeFacts: z.ZodDefault<z.ZodNullable<z.ZodObject<{
368
+ lifecycle: z.ZodEnum<["succeeded", "failed", "cancelled", "interrupted"]>;
369
+ noChanges: z.ZodDefault<z.ZodBoolean>;
370
+ checks: z.ZodDefault<z.ZodEnum<["passed", "failed", "not_configured"]>>;
371
+ review: z.ZodDefault<z.ZodEnum<["approved", "blocked", "not_run"]>>;
372
+ reason: z.ZodDefault<z.ZodNullable<z.ZodEnum<["harness_failed", "no_changes", "review_blocked", "checks_failed", "budget_exhausted", "budget_overshoot", "cost_unverifiable", "not_converged", "stuck_no_progress", "wall_clock_exceeded", "user_cancelled", "crash_interrupted"]>>>;
373
+ }, "strict", z.ZodTypeAny, {
374
+ review: "not_run" | "approved" | "blocked";
375
+ reason: "harness_failed" | "no_changes" | "review_blocked" | "checks_failed" | "budget_exhausted" | "budget_overshoot" | "cost_unverifiable" | "not_converged" | "stuck_no_progress" | "wall_clock_exceeded" | "user_cancelled" | "crash_interrupted" | null;
376
+ checks: "passed" | "failed" | "not_configured";
377
+ lifecycle: "failed" | "cancelled" | "succeeded" | "interrupted";
378
+ noChanges: boolean;
379
+ }, {
380
+ lifecycle: "failed" | "cancelled" | "succeeded" | "interrupted";
381
+ review?: "not_run" | "approved" | "blocked" | undefined;
382
+ reason?: "harness_failed" | "no_changes" | "review_blocked" | "checks_failed" | "budget_exhausted" | "budget_overshoot" | "cost_unverifiable" | "not_converged" | "stuck_no_progress" | "wall_clock_exceeded" | "user_cancelled" | "crash_interrupted" | null | undefined;
383
+ checks?: "passed" | "failed" | "not_configured" | undefined;
384
+ noChanges?: boolean | undefined;
385
+ }>>>;
344
386
  waitingOnUser: z.ZodDefault<z.ZodBoolean>;
345
387
  route: z.ZodDefault<z.ZodNullable<z.ZodObject<{
346
388
  requestedModel: z.ZodDefault<z.ZodNullable<z.ZodString>>;
@@ -364,24 +406,29 @@ export declare const ControlRunDetail: z.ZodObject<{
364
406
  cwd: z.ZodOptional<z.ZodString>;
365
407
  envAllowlist: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
366
408
  }, "strict", z.ZodTypeAny, {
367
- program: string;
368
409
  args: string[];
410
+ program: string;
369
411
  envAllowlist: string[];
370
412
  cwd?: string | undefined;
371
413
  }, {
372
414
  program: string;
373
- cwd?: string | undefined;
374
415
  args?: string[] | undefined;
416
+ cwd?: string | undefined;
375
417
  envAllowlist?: string[] | undefined;
376
418
  }>, "many">>;
377
- specId: z.ZodOptional<z.ZodString>;
378
- specHash: z.ZodOptional<z.ZodString>;
379
419
  createdAt: z.ZodOptional<z.ZodString>;
380
420
  startedAt: z.ZodOptional<z.ZodString>;
381
421
  finishedAt: z.ZodOptional<z.ZodString>;
382
422
  }, "strip", z.ZodTypeAny, {
383
- state: "failed" | "cancelled" | "running" | "interrupted_unknown" | "no_op" | "ungated" | "review_not_run" | "blocked" | "cost_unverifiable" | "exhausted_overshoot" | "exhausted" | "not_converged" | "stuck_no_progress" | "queued" | "succeeded";
423
+ state: "failed" | "cancelled" | "running" | "succeeded" | "interrupted" | "queued";
384
424
  runId: string;
425
+ outcomeFacts: {
426
+ review: "not_run" | "approved" | "blocked";
427
+ reason: "harness_failed" | "no_changes" | "review_blocked" | "checks_failed" | "budget_exhausted" | "budget_overshoot" | "cost_unverifiable" | "not_converged" | "stuck_no_progress" | "wall_clock_exceeded" | "user_cancelled" | "crash_interrupted" | null;
428
+ checks: "passed" | "failed" | "not_configured";
429
+ lifecycle: "failed" | "cancelled" | "succeeded" | "interrupted";
430
+ noChanges: boolean;
431
+ } | null;
385
432
  project: {
386
433
  kind: "none" | "project";
387
434
  root: string | null;
@@ -402,7 +449,7 @@ export declare const ControlRunDetail: z.ZodObject<{
402
449
  nextActions: string[];
403
450
  } | null;
404
451
  webEvidence: {
405
- status: "failed" | "none" | "attempted" | "satisfied" | "unverified";
452
+ status: "failed" | "none" | "attempted" | "unverified" | "satisfied";
406
453
  available: boolean;
407
454
  target: string | null;
408
455
  mode: "off" | "auto" | "cached" | "live";
@@ -427,6 +474,9 @@ export declare const ControlRunDetail: z.ZodObject<{
427
474
  toolWarningsTotal: number;
428
475
  result: {
429
476
  kind: "plan" | "none" | "patch" | "answer" | "report";
477
+ applyState: "not_applied" | "applied" | "applied_review_blocked" | "reverted";
478
+ revertAnchorId: string | null;
479
+ postTurnSha: string | null;
430
480
  diffStat: {
431
481
  files: number;
432
482
  additions: number;
@@ -434,10 +484,7 @@ export declare const ControlRunDetail: z.ZodObject<{
434
484
  } | null;
435
485
  blockers: number;
436
486
  adopted: boolean | null;
437
- applyState: "not_applied" | "applied" | "applied_review_blocked" | "reverted";
438
487
  preTurnSha: string | null;
439
- postTurnSha: string | null;
440
- revertAnchorId: string | null;
441
488
  revertable: boolean;
442
489
  };
443
490
  waitingOnUser: boolean;
@@ -450,22 +497,22 @@ export declare const ControlRunDetail: z.ZodObject<{
450
497
  startedAt?: string | undefined;
451
498
  error?: string | undefined;
452
499
  createdAt?: string | undefined;
453
- mode?: "ask" | "plan" | "audit" | "agent" | "orchestrate" | undefined;
500
+ mode?: "ask" | "plan" | "agent" | undefined;
454
501
  prompt?: string | undefined;
455
502
  access?: "readonly" | "workspace_write" | "full" | "external_sandbox_full" | "inherit_native" | undefined;
456
503
  harnesses?: string[] | undefined;
457
504
  runDir?: string | undefined;
458
505
  model?: string | undefined;
459
506
  tests?: {
460
- program: string;
461
507
  args: string[];
508
+ program: string;
462
509
  envAllowlist: string[];
463
510
  cwd?: string | undefined;
464
511
  }[] | undefined;
465
- n?: number | undefined;
466
512
  taskId?: string | undefined;
467
513
  primaryHarness?: string | undefined;
468
514
  routingGoal?: "auto" | "quality" | "economy" | undefined;
515
+ n?: number | undefined;
469
516
  paidBudget?: {
470
517
  kind: "unlimited";
471
518
  } | {
@@ -477,14 +524,12 @@ export declare const ControlRunDetail: z.ZodObject<{
477
524
  path: string;
478
525
  reason?: string | undefined;
479
526
  }[] | undefined;
480
- specId?: string | undefined;
481
- specHash?: string | undefined;
482
527
  reviewerPanel?: {
483
528
  harness: string;
484
529
  model?: string | undefined;
485
530
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
486
531
  }[] | undefined;
487
- strategy?: "race" | "attempts" | "swarm" | "create" | "until_clean" | null | undefined;
532
+ strategy?: "attempts" | "create" | "race" | "until_clean" | "deep_scan" | null | undefined;
488
533
  spendUsd?: number | null | undefined;
489
534
  spendEstimated?: boolean | undefined;
490
535
  inputTokens?: number | null | undefined;
@@ -510,22 +555,29 @@ export declare const ControlRunDetail: z.ZodObject<{
510
555
  toolPermissionPolicy?: Record<string, unknown> | undefined;
511
556
  finishedAt?: string | undefined;
512
557
  }, {
513
- state: "failed" | "cancelled" | "running" | "interrupted_unknown" | "no_op" | "ungated" | "review_not_run" | "blocked" | "cost_unverifiable" | "exhausted_overshoot" | "exhausted" | "not_converged" | "stuck_no_progress" | "queued" | "succeeded";
558
+ state: "failed" | "cancelled" | "running" | "succeeded" | "interrupted" | "queued";
514
559
  runId: string;
515
560
  jobId: string;
516
561
  startedAt?: string | undefined;
517
562
  error?: string | undefined;
518
563
  createdAt?: string | undefined;
519
- mode?: "ask" | "plan" | "audit" | "agent" | "orchestrate" | undefined;
564
+ mode?: "ask" | "plan" | "agent" | undefined;
520
565
  prompt?: string | undefined;
521
566
  access?: "readonly" | "workspace_write" | "full" | "external_sandbox_full" | "inherit_native" | undefined;
522
567
  harnesses?: string[] | undefined;
523
568
  runDir?: string | undefined;
569
+ outcomeFacts?: {
570
+ lifecycle: "failed" | "cancelled" | "succeeded" | "interrupted";
571
+ review?: "not_run" | "approved" | "blocked" | undefined;
572
+ reason?: "harness_failed" | "no_changes" | "review_blocked" | "checks_failed" | "budget_exhausted" | "budget_overshoot" | "cost_unverifiable" | "not_converged" | "stuck_no_progress" | "wall_clock_exceeded" | "user_cancelled" | "crash_interrupted" | null | undefined;
573
+ checks?: "passed" | "failed" | "not_configured" | undefined;
574
+ noChanges?: boolean | undefined;
575
+ } | null | undefined;
524
576
  model?: string | undefined;
525
577
  tests?: {
526
578
  program: string;
527
- cwd?: string | undefined;
528
579
  args?: string[] | undefined;
580
+ cwd?: string | undefined;
529
581
  envAllowlist?: string[] | undefined;
530
582
  }[] | undefined;
531
583
  project?: {
@@ -534,10 +586,10 @@ export declare const ControlRunDetail: z.ZodObject<{
534
586
  context?: "off" | "auto" | undefined;
535
587
  projectName?: string | null | undefined;
536
588
  } | undefined;
537
- n?: number | undefined;
538
589
  taskId?: string | undefined;
539
590
  primaryHarness?: string | undefined;
540
591
  routingGoal?: "auto" | "quality" | "economy" | undefined;
592
+ n?: number | undefined;
541
593
  paidBudget?: {
542
594
  kind: "unlimited";
543
595
  } | {
@@ -549,8 +601,6 @@ export declare const ControlRunDetail: z.ZodObject<{
549
601
  path: string;
550
602
  reason?: string | undefined;
551
603
  }[] | undefined;
552
- specId?: string | undefined;
553
- specHash?: string | undefined;
554
604
  reviewerPanel?: {
555
605
  harness: string;
556
606
  model?: string | undefined;
@@ -568,7 +618,7 @@ export declare const ControlRunDetail: z.ZodObject<{
568
618
  eventRefs?: string[] | undefined;
569
619
  nextActions?: string[] | undefined;
570
620
  } | null | undefined;
571
- strategy?: "race" | "attempts" | "swarm" | "create" | "until_clean" | null | undefined;
621
+ strategy?: "attempts" | "create" | "race" | "until_clean" | "deep_scan" | null | undefined;
572
622
  spendUsd?: number | null | undefined;
573
623
  spendEstimated?: boolean | undefined;
574
624
  inputTokens?: number | null | undefined;
@@ -592,7 +642,7 @@ export declare const ControlRunDetail: z.ZodObject<{
592
642
  webRequired?: boolean | undefined;
593
643
  webMode?: "off" | "auto" | "cached" | "live" | undefined;
594
644
  webEvidence?: {
595
- status?: "failed" | "none" | "attempted" | "satisfied" | "unverified" | undefined;
645
+ status?: "failed" | "none" | "attempted" | "unverified" | "satisfied" | undefined;
596
646
  available?: boolean | undefined;
597
647
  target?: string | null | undefined;
598
648
  mode?: "off" | "auto" | "cached" | "live" | undefined;
@@ -618,6 +668,9 @@ export declare const ControlRunDetail: z.ZodObject<{
618
668
  toolWarningsTotal?: number | undefined;
619
669
  result?: {
620
670
  kind?: "plan" | "none" | "patch" | "answer" | "report" | undefined;
671
+ applyState?: "not_applied" | "applied" | "applied_review_blocked" | "reverted" | undefined;
672
+ revertAnchorId?: string | null | undefined;
673
+ postTurnSha?: string | null | undefined;
621
674
  diffStat?: {
622
675
  files: number;
623
676
  additions: number;
@@ -625,10 +678,7 @@ export declare const ControlRunDetail: z.ZodObject<{
625
678
  } | null | undefined;
626
679
  blockers?: number | undefined;
627
680
  adopted?: boolean | null | undefined;
628
- applyState?: "not_applied" | "applied" | "applied_review_blocked" | "reverted" | undefined;
629
681
  preTurnSha?: string | null | undefined;
630
- postTurnSha?: string | null | undefined;
631
- revertAnchorId?: string | null | undefined;
632
682
  revertable?: boolean | undefined;
633
683
  } | undefined;
634
684
  waitingOnUser?: boolean | undefined;
@@ -640,6 +690,14 @@ export declare const ControlRunDetail: z.ZodObject<{
640
690
  } | null | undefined;
641
691
  finishedAt?: string | undefined;
642
692
  }>;
693
+ /**
694
+ * Server-owned outcome banner (D18): the ONE honest headline for this run,
695
+ * derived by the single projection owner (status-projection.outcomeBanner)
696
+ * from the terminal outcome facts + delivery state — e.g. "Candidate ready
697
+ * — NOT APPLIED", "Applied", "Needs review". Surfaces render this verbatim
698
+ * above any model prose; null while the run is not terminal.
699
+ */
700
+ outcomeBanner: z.ZodDefault<z.ZodNullable<z.ZodString>>;
643
701
  /**
644
702
  * Highest event seq included in this snapshot. Clients subscribe to the
645
703
  * event stream from this cursor; events with seq <= lastSeq are already
@@ -667,16 +725,19 @@ export declare const ControlRunDetail: z.ZodObject<{
667
725
  path: z.ZodString;
668
726
  text: z.ZodDefault<z.ZodNullable<z.ZodString>>;
669
727
  bytes: z.ZodOptional<z.ZodNumber>;
728
+ truncated: z.ZodDefault<z.ZodBoolean>;
670
729
  }, "strip", z.ZodTypeAny, {
671
730
  path: string;
672
731
  kind: "diagnostic" | "plan" | "summary" | "patch" | "answer" | "report" | "structured_output";
673
732
  text: string | null;
733
+ truncated: boolean;
674
734
  bytes?: number | undefined;
675
735
  }, {
676
736
  path: string;
677
737
  kind: "diagnostic" | "plan" | "summary" | "patch" | "answer" | "report" | "structured_output";
678
738
  bytes?: number | undefined;
679
739
  text?: string | null | undefined;
740
+ truncated?: boolean | undefined;
680
741
  }>>>;
681
742
  timeline: z.ZodDefault<z.ZodArray<z.ZodObject<{
682
743
  type: z.ZodString;
@@ -762,8 +823,25 @@ export declare const ControlRunDetail: z.ZodObject<{
762
823
  finalSummary: z.ZodDefault<z.ZodNullable<z.ZodString>>;
763
824
  decision: z.ZodDefault<z.ZodNullable<z.ZodObject<{
764
825
  winner: z.ZodNullable<z.ZodString>;
765
- status: z.ZodEnum<["success", "no_op", "ungated", "review_not_run", "blocked", "failed", "interrupted_unknown", "cost_unverifiable", "exhausted_overshoot", "exhausted", "not_converged", "stuck_no_progress", "cancelled"]>;
766
- outcome: z.ZodDefault<z.ZodEnum<["ready", "no_op", "ungated", "review_not_run", "blocked"]>>;
826
+ facts: z.ZodObject<{
827
+ lifecycle: z.ZodEnum<["succeeded", "failed", "cancelled", "interrupted"]>;
828
+ noChanges: z.ZodDefault<z.ZodBoolean>;
829
+ checks: z.ZodDefault<z.ZodEnum<["passed", "failed", "not_configured"]>>;
830
+ review: z.ZodDefault<z.ZodEnum<["approved", "blocked", "not_run"]>>;
831
+ reason: z.ZodDefault<z.ZodNullable<z.ZodEnum<["harness_failed", "no_changes", "review_blocked", "checks_failed", "budget_exhausted", "budget_overshoot", "cost_unverifiable", "not_converged", "stuck_no_progress", "wall_clock_exceeded", "user_cancelled", "crash_interrupted"]>>>;
832
+ }, "strict", z.ZodTypeAny, {
833
+ review: "not_run" | "approved" | "blocked";
834
+ reason: "harness_failed" | "no_changes" | "review_blocked" | "checks_failed" | "budget_exhausted" | "budget_overshoot" | "cost_unverifiable" | "not_converged" | "stuck_no_progress" | "wall_clock_exceeded" | "user_cancelled" | "crash_interrupted" | null;
835
+ checks: "passed" | "failed" | "not_configured";
836
+ lifecycle: "failed" | "cancelled" | "succeeded" | "interrupted";
837
+ noChanges: boolean;
838
+ }, {
839
+ lifecycle: "failed" | "cancelled" | "succeeded" | "interrupted";
840
+ review?: "not_run" | "approved" | "blocked" | undefined;
841
+ reason?: "harness_failed" | "no_changes" | "review_blocked" | "checks_failed" | "budget_exhausted" | "budget_overshoot" | "cost_unverifiable" | "not_converged" | "stuck_no_progress" | "wall_clock_exceeded" | "user_cancelled" | "crash_interrupted" | null | undefined;
842
+ checks?: "passed" | "failed" | "not_configured" | undefined;
843
+ noChanges?: boolean | undefined;
844
+ }>;
767
845
  why_winner: z.ZodDefault<z.ZodString>;
768
846
  why_not_others: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
769
847
  accepted_risks: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
@@ -779,7 +857,7 @@ export declare const ControlRunDetail: z.ZodObject<{
779
857
  estimated?: boolean | undefined;
780
858
  spend_usd?: number | null | undefined;
781
859
  }>>;
782
- apply_recommendation: z.ZodDefault<z.ZodEnum<["apply", "inspect", "continue", "split_task", "human_review"]>>;
860
+ apply_recommendation: z.ZodDefault<z.ZodEnum<["apply", "inspect", "continue", "human_review"]>>;
783
861
  verification_basis: z.ZodDefault<z.ZodEnum<["none", "cross_family_review", "both"]>>;
784
862
  final_verify: z.ZodDefault<z.ZodNullable<z.ZodObject<{
785
863
  attempted: z.ZodBoolean;
@@ -822,9 +900,14 @@ export declare const ControlRunDetail: z.ZodObject<{
822
900
  }[] | undefined;
823
901
  }>>>;
824
902
  }, "strip", z.ZodTypeAny, {
825
- status: "failed" | "cancelled" | "interrupted_unknown" | "success" | "no_op" | "ungated" | "review_not_run" | "blocked" | "cost_unverifiable" | "exhausted_overshoot" | "exhausted" | "not_converged" | "stuck_no_progress";
826
903
  winner: string | null;
827
- outcome: "ready" | "no_op" | "ungated" | "review_not_run" | "blocked";
904
+ facts: {
905
+ review: "not_run" | "approved" | "blocked";
906
+ reason: "harness_failed" | "no_changes" | "review_blocked" | "checks_failed" | "budget_exhausted" | "budget_overshoot" | "cost_unverifiable" | "not_converged" | "stuck_no_progress" | "wall_clock_exceeded" | "user_cancelled" | "crash_interrupted" | null;
907
+ checks: "passed" | "failed" | "not_configured";
908
+ lifecycle: "failed" | "cancelled" | "succeeded" | "interrupted";
909
+ noChanges: boolean;
910
+ };
828
911
  why_winner: string;
829
912
  why_not_others: Record<string, string>;
830
913
  accepted_risks: string[];
@@ -834,7 +917,7 @@ export declare const ControlRunDetail: z.ZodObject<{
834
917
  estimated: boolean;
835
918
  spend_usd: number | null;
836
919
  };
837
- apply_recommendation: "apply" | "inspect" | "continue" | "split_task" | "human_review";
920
+ apply_recommendation: "apply" | "inspect" | "continue" | "human_review";
838
921
  verification_basis: "none" | "cross_family_review" | "both";
839
922
  final_verify: {
840
923
  reason: string | null;
@@ -849,9 +932,14 @@ export declare const ControlRunDetail: z.ZodObject<{
849
932
  }[];
850
933
  } | null;
851
934
  }, {
852
- status: "failed" | "cancelled" | "interrupted_unknown" | "success" | "no_op" | "ungated" | "review_not_run" | "blocked" | "cost_unverifiable" | "exhausted_overshoot" | "exhausted" | "not_converged" | "stuck_no_progress";
853
935
  winner: string | null;
854
- outcome?: "ready" | "no_op" | "ungated" | "review_not_run" | "blocked" | undefined;
936
+ facts: {
937
+ lifecycle: "failed" | "cancelled" | "succeeded" | "interrupted";
938
+ review?: "not_run" | "approved" | "blocked" | undefined;
939
+ reason?: "harness_failed" | "no_changes" | "review_blocked" | "checks_failed" | "budget_exhausted" | "budget_overshoot" | "cost_unverifiable" | "not_converged" | "stuck_no_progress" | "wall_clock_exceeded" | "user_cancelled" | "crash_interrupted" | null | undefined;
940
+ checks?: "passed" | "failed" | "not_configured" | undefined;
941
+ noChanges?: boolean | undefined;
942
+ };
855
943
  why_winner?: string | undefined;
856
944
  why_not_others?: Record<string, string> | undefined;
857
945
  accepted_risks?: string[] | undefined;
@@ -861,7 +949,7 @@ export declare const ControlRunDetail: z.ZodObject<{
861
949
  estimated?: boolean | undefined;
862
950
  spend_usd?: number | null | undefined;
863
951
  } | undefined;
864
- apply_recommendation?: "apply" | "inspect" | "continue" | "split_task" | "human_review" | undefined;
952
+ apply_recommendation?: "apply" | "inspect" | "continue" | "human_review" | undefined;
865
953
  verification_basis?: "none" | "cross_family_review" | "both" | undefined;
866
954
  final_verify?: {
867
955
  attempted: boolean;
@@ -913,6 +1001,105 @@ export declare const ControlRunDetail: z.ZodObject<{
913
1001
  meta?: Record<string, unknown> | undefined;
914
1002
  }>>>;
915
1003
  /** Derived apply-gate verdict (single producer: the delivery gate); null when the run has no patch artifact. */
1004
+ /** Derived plan readiness (mode=plan runs; single derivation owner —
1005
+ * derivePlanReadiness over final/questions.json). Null otherwise. */
1006
+ planReadiness: z.ZodDefault<z.ZodNullable<z.ZodObject<{
1007
+ state: z.ZodEnum<["ready", "needs_answers", "unverified"]>;
1008
+ questionCount: z.ZodDefault<z.ZodNumber>;
1009
+ }, "strict", z.ZodTypeAny, {
1010
+ state: "ready" | "needs_answers" | "unverified";
1011
+ questionCount: number;
1012
+ }, {
1013
+ state: "ready" | "needs_answers" | "unverified";
1014
+ questionCount?: number | undefined;
1015
+ }>>>;
1016
+ /** The plan run's OPEN questions, projected from the same
1017
+ * final/questions.json the readiness derives from (D17). Empty for a ready
1018
+ * plan, an unverified plan, and every non-plan run. Surfaces render these
1019
+ * as a question set (CLI TTY answer loop / ACP turn text) and answer them
1020
+ * as an ordinary follow-up plan turn — the questions are never re-parsed
1021
+ * from plan text on any surface. */
1022
+ planQuestions: z.ZodDefault<z.ZodArray<z.ZodObject<{
1023
+ id: z.ZodString;
1024
+ kind: z.ZodEnum<["single", "multi", "text"]>;
1025
+ prompt: z.ZodString;
1026
+ options: z.ZodDefault<z.ZodArray<z.ZodObject<{
1027
+ id: z.ZodString;
1028
+ label: z.ZodString;
1029
+ }, "strict", z.ZodTypeAny, {
1030
+ id: string;
1031
+ label: string;
1032
+ }, {
1033
+ id: string;
1034
+ label: string;
1035
+ }>, "many">>;
1036
+ allow_text: z.ZodDefault<z.ZodBoolean>;
1037
+ }, "strict", z.ZodTypeAny, {
1038
+ options: {
1039
+ id: string;
1040
+ label: string;
1041
+ }[];
1042
+ kind: "text" | "single" | "multi";
1043
+ id: string;
1044
+ prompt: string;
1045
+ allow_text: boolean;
1046
+ }, {
1047
+ kind: "text" | "single" | "multi";
1048
+ id: string;
1049
+ prompt: string;
1050
+ options?: {
1051
+ id: string;
1052
+ label: string;
1053
+ }[] | undefined;
1054
+ allow_text?: boolean | undefined;
1055
+ }>, "many">>;
1056
+ /** Council membership + merge disclosure (INV-031); null for solo plans
1057
+ * and every non-plan run. Purely additive — the plan artifacts themselves
1058
+ * are shape-identical to a solo plan. */
1059
+ council: z.ZodDefault<z.ZodNullable<z.ZodObject<{
1060
+ requested: z.ZodNumber;
1061
+ drafted: z.ZodNumber;
1062
+ degraded: z.ZodDefault<z.ZodBoolean>;
1063
+ mergedBy: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1064
+ members: z.ZodDefault<z.ZodArray<z.ZodObject<{
1065
+ harnessId: z.ZodString;
1066
+ role: z.ZodEnum<["primary", "member"]>;
1067
+ status: z.ZodEnum<["drafted", "failed", "merged"]>;
1068
+ error: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1069
+ }, "strict", z.ZodTypeAny, {
1070
+ status: "failed" | "drafted" | "merged";
1071
+ harnessId: string;
1072
+ error: string | null;
1073
+ role: "primary" | "member";
1074
+ }, {
1075
+ status: "failed" | "drafted" | "merged";
1076
+ harnessId: string;
1077
+ role: "primary" | "member";
1078
+ error?: string | null | undefined;
1079
+ }>, "many">>;
1080
+ }, "strict", z.ZodTypeAny, {
1081
+ requested: number;
1082
+ degraded: boolean;
1083
+ drafted: number;
1084
+ mergedBy: string | null;
1085
+ members: {
1086
+ status: "failed" | "drafted" | "merged";
1087
+ harnessId: string;
1088
+ error: string | null;
1089
+ role: "primary" | "member";
1090
+ }[];
1091
+ }, {
1092
+ requested: number;
1093
+ drafted: number;
1094
+ degraded?: boolean | undefined;
1095
+ mergedBy?: string | null | undefined;
1096
+ members?: {
1097
+ status: "failed" | "drafted" | "merged";
1098
+ harnessId: string;
1099
+ role: "primary" | "member";
1100
+ error?: string | null | undefined;
1101
+ }[] | undefined;
1102
+ }>>>;
916
1103
  applyEligibility: z.ZodDefault<z.ZodNullable<z.ZodObject<{
917
1104
  eligible: z.ZodBoolean;
918
1105
  state: z.ZodNullable<z.ZodString>;
@@ -1146,77 +1333,6 @@ export declare const ControlRunDetail: z.ZodObject<{
1146
1333
  sourceTool?: string | null | undefined;
1147
1334
  timeoutAt?: string | null | undefined;
1148
1335
  }>, "many">>;
1149
- /** Typed executor progress for an orchestrate run (auto_safe/auto_full);
1150
- * null for non-orchestrate runs or suggest autonomy. Projected from
1151
- * final/orchestration_progress.yaml. */
1152
- orchestrate: z.ZodDefault<z.ZodNullable<z.ZodObject<{
1153
- steps: z.ZodDefault<z.ZodArray<z.ZodObject<{
1154
- index: z.ZodNumber;
1155
- tool: z.ZodEnum<["start_run", "race", "status", "answer_question", "apply", "review"]>;
1156
- risk: z.ZodEnum<["safe", "risky"]>;
1157
- status: z.ZodEnum<["pending", "running", "done", "skipped", "blocked", "failed"]>;
1158
- required: z.ZodDefault<z.ZodBoolean>;
1159
- terminal_status: z.ZodDefault<z.ZodNullable<z.ZodEnum<["success", "no_op", "ungated", "review_not_run", "blocked", "failed", "interrupted_unknown", "cost_unverifiable", "exhausted_overshoot", "exhausted", "not_converged", "stuck_no_progress", "cancelled"]>>>;
1160
- terminal_source: z.ZodDefault<z.ZodNullable<z.ZodEnum<["executor", "subrun", "review", "delivery", "policy", "budget"]>>>;
1161
- evidence_refs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1162
- run_id: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1163
- detail: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1164
- }, "strip", z.ZodTypeAny, {
1165
- status: "pending" | "failed" | "running" | "blocked" | "done" | "skipped";
1166
- detail: string | null;
1167
- index: number;
1168
- evidence_refs: string[];
1169
- tool: "status" | "review" | "apply" | "start_run" | "race" | "answer_question";
1170
- run_id: string | null;
1171
- required: boolean;
1172
- risk: "safe" | "risky";
1173
- terminal_status: "failed" | "cancelled" | "interrupted_unknown" | "success" | "no_op" | "ungated" | "review_not_run" | "blocked" | "cost_unverifiable" | "exhausted_overshoot" | "exhausted" | "not_converged" | "stuck_no_progress" | null;
1174
- terminal_source: "review" | "delivery" | "policy" | "budget" | "executor" | "subrun" | null;
1175
- }, {
1176
- status: "pending" | "failed" | "running" | "blocked" | "done" | "skipped";
1177
- index: number;
1178
- tool: "status" | "review" | "apply" | "start_run" | "race" | "answer_question";
1179
- risk: "safe" | "risky";
1180
- detail?: string | null | undefined;
1181
- evidence_refs?: string[] | undefined;
1182
- run_id?: string | null | undefined;
1183
- required?: boolean | undefined;
1184
- terminal_status?: "failed" | "cancelled" | "interrupted_unknown" | "success" | "no_op" | "ungated" | "review_not_run" | "blocked" | "cost_unverifiable" | "exhausted_overshoot" | "exhausted" | "not_converged" | "stuck_no_progress" | null | undefined;
1185
- terminal_source?: "review" | "delivery" | "policy" | "budget" | "executor" | "subrun" | null | undefined;
1186
- }>, "many">>;
1187
- autonomy: z.ZodEnum<["suggest", "auto_safe", "auto_full"]>;
1188
- stopped_reason: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1189
- }, "strip", z.ZodTypeAny, {
1190
- autonomy: "suggest" | "auto_safe" | "auto_full";
1191
- steps: {
1192
- status: "pending" | "failed" | "running" | "blocked" | "done" | "skipped";
1193
- detail: string | null;
1194
- index: number;
1195
- evidence_refs: string[];
1196
- tool: "status" | "review" | "apply" | "start_run" | "race" | "answer_question";
1197
- run_id: string | null;
1198
- required: boolean;
1199
- risk: "safe" | "risky";
1200
- terminal_status: "failed" | "cancelled" | "interrupted_unknown" | "success" | "no_op" | "ungated" | "review_not_run" | "blocked" | "cost_unverifiable" | "exhausted_overshoot" | "exhausted" | "not_converged" | "stuck_no_progress" | null;
1201
- terminal_source: "review" | "delivery" | "policy" | "budget" | "executor" | "subrun" | null;
1202
- }[];
1203
- stopped_reason: string | null;
1204
- }, {
1205
- autonomy: "suggest" | "auto_safe" | "auto_full";
1206
- steps?: {
1207
- status: "pending" | "failed" | "running" | "blocked" | "done" | "skipped";
1208
- index: number;
1209
- tool: "status" | "review" | "apply" | "start_run" | "race" | "answer_question";
1210
- risk: "safe" | "risky";
1211
- detail?: string | null | undefined;
1212
- evidence_refs?: string[] | undefined;
1213
- run_id?: string | null | undefined;
1214
- required?: boolean | undefined;
1215
- terminal_status?: "failed" | "cancelled" | "interrupted_unknown" | "success" | "no_op" | "ungated" | "review_not_run" | "blocked" | "cost_unverifiable" | "exhausted_overshoot" | "exhausted" | "not_converged" | "stuck_no_progress" | null | undefined;
1216
- terminal_source?: "review" | "delivery" | "policy" | "budget" | "executor" | "subrun" | null | undefined;
1217
- }[] | undefined;
1218
- stopped_reason?: string | null | undefined;
1219
- }>>>;
1220
1336
  /** Per-candidate evidence cards. Present for EVERY envelope-producing
1221
1337
  * mode (races show N lanes; single-candidate turns and convergence
1222
1338
  * refinements project their attempts too); empty only when no attempt
@@ -1228,6 +1344,7 @@ export declare const ControlRunDetail: z.ZodObject<{
1228
1344
  costUsd: z.ZodDefault<z.ZodNumber>;
1229
1345
  costEstimated: z.ZodDefault<z.ZodBoolean>;
1230
1346
  errored: z.ZodDefault<z.ZodBoolean>;
1347
+ errorReason: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1231
1348
  gatesPassed: z.ZodDefault<z.ZodNumber>;
1232
1349
  gatesTotal: z.ZodDefault<z.ZodNumber>;
1233
1350
  /** Blocking review findings count (accepted blockers). */
@@ -1257,6 +1374,7 @@ export declare const ControlRunDetail: z.ZodObject<{
1257
1374
  blockers: number;
1258
1375
  costEstimated: boolean;
1259
1376
  errored: boolean;
1377
+ errorReason: string | null;
1260
1378
  gatesPassed: number;
1261
1379
  gatesTotal: number;
1262
1380
  reviewVerified: boolean;
@@ -1275,6 +1393,7 @@ export declare const ControlRunDetail: z.ZodObject<{
1275
1393
  blockers?: number | undefined;
1276
1394
  costEstimated?: boolean | undefined;
1277
1395
  errored?: boolean | undefined;
1396
+ errorReason?: string | null | undefined;
1278
1397
  gatesPassed?: number | undefined;
1279
1398
  gatesTotal?: number | undefined;
1280
1399
  reviewVerified?: boolean | undefined;
@@ -1349,25 +1468,16 @@ export declare const ControlRunDetail: z.ZodObject<{
1349
1468
  nextActions?: string[] | undefined;
1350
1469
  }>>>;
1351
1470
  }, "strip", z.ZodTypeAny, {
1352
- orchestrate: {
1353
- autonomy: "suggest" | "auto_safe" | "auto_full";
1354
- steps: {
1355
- status: "pending" | "failed" | "running" | "blocked" | "done" | "skipped";
1356
- detail: string | null;
1357
- index: number;
1358
- evidence_refs: string[];
1359
- tool: "status" | "review" | "apply" | "start_run" | "race" | "answer_question";
1360
- run_id: string | null;
1361
- required: boolean;
1362
- risk: "safe" | "risky";
1363
- terminal_status: "failed" | "cancelled" | "interrupted_unknown" | "success" | "no_op" | "ungated" | "review_not_run" | "blocked" | "cost_unverifiable" | "exhausted_overshoot" | "exhausted" | "not_converged" | "stuck_no_progress" | null;
1364
- terminal_source: "review" | "delivery" | "policy" | "budget" | "executor" | "subrun" | null;
1365
- }[];
1366
- stopped_reason: string | null;
1367
- } | null;
1368
1471
  summary: {
1369
- state: "failed" | "cancelled" | "running" | "interrupted_unknown" | "no_op" | "ungated" | "review_not_run" | "blocked" | "cost_unverifiable" | "exhausted_overshoot" | "exhausted" | "not_converged" | "stuck_no_progress" | "queued" | "succeeded";
1472
+ state: "failed" | "cancelled" | "running" | "succeeded" | "interrupted" | "queued";
1370
1473
  runId: string;
1474
+ outcomeFacts: {
1475
+ review: "not_run" | "approved" | "blocked";
1476
+ reason: "harness_failed" | "no_changes" | "review_blocked" | "checks_failed" | "budget_exhausted" | "budget_overshoot" | "cost_unverifiable" | "not_converged" | "stuck_no_progress" | "wall_clock_exceeded" | "user_cancelled" | "crash_interrupted" | null;
1477
+ checks: "passed" | "failed" | "not_configured";
1478
+ lifecycle: "failed" | "cancelled" | "succeeded" | "interrupted";
1479
+ noChanges: boolean;
1480
+ } | null;
1371
1481
  project: {
1372
1482
  kind: "none" | "project";
1373
1483
  root: string | null;
@@ -1388,7 +1498,7 @@ export declare const ControlRunDetail: z.ZodObject<{
1388
1498
  nextActions: string[];
1389
1499
  } | null;
1390
1500
  webEvidence: {
1391
- status: "failed" | "none" | "attempted" | "satisfied" | "unverified";
1501
+ status: "failed" | "none" | "attempted" | "unverified" | "satisfied";
1392
1502
  available: boolean;
1393
1503
  target: string | null;
1394
1504
  mode: "off" | "auto" | "cached" | "live";
@@ -1413,6 +1523,9 @@ export declare const ControlRunDetail: z.ZodObject<{
1413
1523
  toolWarningsTotal: number;
1414
1524
  result: {
1415
1525
  kind: "plan" | "none" | "patch" | "answer" | "report";
1526
+ applyState: "not_applied" | "applied" | "applied_review_blocked" | "reverted";
1527
+ revertAnchorId: string | null;
1528
+ postTurnSha: string | null;
1416
1529
  diffStat: {
1417
1530
  files: number;
1418
1531
  additions: number;
@@ -1420,10 +1533,7 @@ export declare const ControlRunDetail: z.ZodObject<{
1420
1533
  } | null;
1421
1534
  blockers: number;
1422
1535
  adopted: boolean | null;
1423
- applyState: "not_applied" | "applied" | "applied_review_blocked" | "reverted";
1424
1536
  preTurnSha: string | null;
1425
- postTurnSha: string | null;
1426
- revertAnchorId: string | null;
1427
1537
  revertable: boolean;
1428
1538
  };
1429
1539
  waitingOnUser: boolean;
@@ -1436,22 +1546,22 @@ export declare const ControlRunDetail: z.ZodObject<{
1436
1546
  startedAt?: string | undefined;
1437
1547
  error?: string | undefined;
1438
1548
  createdAt?: string | undefined;
1439
- mode?: "ask" | "plan" | "audit" | "agent" | "orchestrate" | undefined;
1549
+ mode?: "ask" | "plan" | "agent" | undefined;
1440
1550
  prompt?: string | undefined;
1441
1551
  access?: "readonly" | "workspace_write" | "full" | "external_sandbox_full" | "inherit_native" | undefined;
1442
1552
  harnesses?: string[] | undefined;
1443
1553
  runDir?: string | undefined;
1444
1554
  model?: string | undefined;
1445
1555
  tests?: {
1446
- program: string;
1447
1556
  args: string[];
1557
+ program: string;
1448
1558
  envAllowlist: string[];
1449
1559
  cwd?: string | undefined;
1450
1560
  }[] | undefined;
1451
- n?: number | undefined;
1452
1561
  taskId?: string | undefined;
1453
1562
  primaryHarness?: string | undefined;
1454
1563
  routingGoal?: "auto" | "quality" | "economy" | undefined;
1564
+ n?: number | undefined;
1455
1565
  paidBudget?: {
1456
1566
  kind: "unlimited";
1457
1567
  } | {
@@ -1463,14 +1573,12 @@ export declare const ControlRunDetail: z.ZodObject<{
1463
1573
  path: string;
1464
1574
  reason?: string | undefined;
1465
1575
  }[] | undefined;
1466
- specId?: string | undefined;
1467
- specHash?: string | undefined;
1468
1576
  reviewerPanel?: {
1469
1577
  harness: string;
1470
1578
  model?: string | undefined;
1471
1579
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1472
1580
  }[] | undefined;
1473
- strategy?: "race" | "attempts" | "swarm" | "create" | "until_clean" | null | undefined;
1581
+ strategy?: "attempts" | "create" | "race" | "until_clean" | "deep_scan" | null | undefined;
1474
1582
  spendUsd?: number | null | undefined;
1475
1583
  spendEstimated?: boolean | undefined;
1476
1584
  inputTokens?: number | null | undefined;
@@ -1497,9 +1605,14 @@ export declare const ControlRunDetail: z.ZodObject<{
1497
1605
  finishedAt?: string | undefined;
1498
1606
  };
1499
1607
  decision: {
1500
- status: "failed" | "cancelled" | "interrupted_unknown" | "success" | "no_op" | "ungated" | "review_not_run" | "blocked" | "cost_unverifiable" | "exhausted_overshoot" | "exhausted" | "not_converged" | "stuck_no_progress";
1501
1608
  winner: string | null;
1502
- outcome: "ready" | "no_op" | "ungated" | "review_not_run" | "blocked";
1609
+ facts: {
1610
+ review: "not_run" | "approved" | "blocked";
1611
+ reason: "harness_failed" | "no_changes" | "review_blocked" | "checks_failed" | "budget_exhausted" | "budget_overshoot" | "cost_unverifiable" | "not_converged" | "stuck_no_progress" | "wall_clock_exceeded" | "user_cancelled" | "crash_interrupted" | null;
1612
+ checks: "passed" | "failed" | "not_configured";
1613
+ lifecycle: "failed" | "cancelled" | "succeeded" | "interrupted";
1614
+ noChanges: boolean;
1615
+ };
1503
1616
  why_winner: string;
1504
1617
  why_not_others: Record<string, string>;
1505
1618
  accepted_risks: string[];
@@ -1509,7 +1622,7 @@ export declare const ControlRunDetail: z.ZodObject<{
1509
1622
  estimated: boolean;
1510
1623
  spend_usd: number | null;
1511
1624
  };
1512
- apply_recommendation: "apply" | "inspect" | "continue" | "split_task" | "human_review";
1625
+ apply_recommendation: "apply" | "inspect" | "continue" | "human_review";
1513
1626
  verification_basis: "none" | "cross_family_review" | "both";
1514
1627
  final_verify: {
1515
1628
  reason: string | null;
@@ -1530,6 +1643,30 @@ export declare const ControlRunDetail: z.ZodObject<{
1530
1643
  eligible: boolean;
1531
1644
  requiredAction: string | null;
1532
1645
  } | null;
1646
+ outcomeBanner: string | null;
1647
+ planReadiness: {
1648
+ state: "ready" | "needs_answers" | "unverified";
1649
+ questionCount: number;
1650
+ } | null;
1651
+ pendingInteractions: {
1652
+ harnessId: string | null;
1653
+ attemptId: string | null;
1654
+ questions: {
1655
+ options: {
1656
+ label: string;
1657
+ description: string | null;
1658
+ }[];
1659
+ id: string;
1660
+ question: string;
1661
+ header: string | null;
1662
+ multi_select: boolean;
1663
+ }[];
1664
+ runId: string;
1665
+ interactionId: string;
1666
+ sourceTool: string | null;
1667
+ requestedAt: string;
1668
+ timeoutAt: string | null;
1669
+ }[];
1533
1670
  budget: {
1534
1671
  source: "unknown" | "decision" | "events" | "settings";
1535
1672
  estimated: boolean;
@@ -1542,6 +1679,18 @@ export declare const ControlRunDetail: z.ZodObject<{
1542
1679
  spendUsd: number | null;
1543
1680
  remainingUsd: number | null;
1544
1681
  };
1682
+ council: {
1683
+ requested: number;
1684
+ degraded: boolean;
1685
+ drafted: number;
1686
+ mergedBy: string | null;
1687
+ members: {
1688
+ status: "failed" | "drafted" | "merged";
1689
+ harnessId: string;
1690
+ error: string | null;
1691
+ role: "primary" | "member";
1692
+ }[];
1693
+ } | null;
1545
1694
  failure: {
1546
1695
  harnessId: string | null;
1547
1696
  attemptId: string | null;
@@ -1565,6 +1714,7 @@ export declare const ControlRunDetail: z.ZodObject<{
1565
1714
  path: string;
1566
1715
  kind: "diagnostic" | "plan" | "summary" | "patch" | "answer" | "report" | "structured_output";
1567
1716
  text: string | null;
1717
+ truncated: boolean;
1568
1718
  bytes?: number | undefined;
1569
1719
  } | null;
1570
1720
  timeline: {
@@ -1594,6 +1744,16 @@ export declare const ControlRunDetail: z.ZodObject<{
1594
1744
  producer_attempt_id?: string | undefined;
1595
1745
  evidence_dir?: string | undefined;
1596
1746
  } | null;
1747
+ planQuestions: {
1748
+ options: {
1749
+ id: string;
1750
+ label: string;
1751
+ }[];
1752
+ kind: "text" | "single" | "multi";
1753
+ id: string;
1754
+ prompt: string;
1755
+ allow_text: boolean;
1756
+ }[];
1597
1757
  reviewFindings: {
1598
1758
  status: "stale" | "accepted" | "proposed" | "rebutted" | "fixed" | "accepted_risk" | "duplicate" | "out_of_scope" | "insufficient_evidence";
1599
1759
  id: string;
@@ -1624,25 +1784,6 @@ export declare const ControlRunDetail: z.ZodObject<{
1624
1784
  };
1625
1785
  revalidation_note?: string | undefined;
1626
1786
  }[];
1627
- pendingInteractions: {
1628
- harnessId: string | null;
1629
- attemptId: string | null;
1630
- questions: {
1631
- options: {
1632
- label: string;
1633
- description: string | null;
1634
- }[];
1635
- id: string;
1636
- question: string;
1637
- header: string | null;
1638
- multi_select: boolean;
1639
- }[];
1640
- runId: string;
1641
- interactionId: string;
1642
- sourceTool: string | null;
1643
- requestedAt: string;
1644
- timeoutAt: string | null;
1645
- }[];
1646
1787
  candidates: {
1647
1788
  harnessId: string;
1648
1789
  attemptId: string;
@@ -1652,6 +1793,7 @@ export declare const ControlRunDetail: z.ZodObject<{
1652
1793
  blockers: number;
1653
1794
  costEstimated: boolean;
1654
1795
  errored: boolean;
1796
+ errorReason: string | null;
1655
1797
  gatesPassed: number;
1656
1798
  gatesTotal: number;
1657
1799
  reviewVerified: boolean;
@@ -1671,22 +1813,29 @@ export declare const ControlRunDetail: z.ZodObject<{
1671
1813
  } | null;
1672
1814
  }, {
1673
1815
  summary: {
1674
- state: "failed" | "cancelled" | "running" | "interrupted_unknown" | "no_op" | "ungated" | "review_not_run" | "blocked" | "cost_unverifiable" | "exhausted_overshoot" | "exhausted" | "not_converged" | "stuck_no_progress" | "queued" | "succeeded";
1816
+ state: "failed" | "cancelled" | "running" | "succeeded" | "interrupted" | "queued";
1675
1817
  runId: string;
1676
1818
  jobId: string;
1677
1819
  startedAt?: string | undefined;
1678
1820
  error?: string | undefined;
1679
1821
  createdAt?: string | undefined;
1680
- mode?: "ask" | "plan" | "audit" | "agent" | "orchestrate" | undefined;
1822
+ mode?: "ask" | "plan" | "agent" | undefined;
1681
1823
  prompt?: string | undefined;
1682
1824
  access?: "readonly" | "workspace_write" | "full" | "external_sandbox_full" | "inherit_native" | undefined;
1683
1825
  harnesses?: string[] | undefined;
1684
1826
  runDir?: string | undefined;
1827
+ outcomeFacts?: {
1828
+ lifecycle: "failed" | "cancelled" | "succeeded" | "interrupted";
1829
+ review?: "not_run" | "approved" | "blocked" | undefined;
1830
+ reason?: "harness_failed" | "no_changes" | "review_blocked" | "checks_failed" | "budget_exhausted" | "budget_overshoot" | "cost_unverifiable" | "not_converged" | "stuck_no_progress" | "wall_clock_exceeded" | "user_cancelled" | "crash_interrupted" | null | undefined;
1831
+ checks?: "passed" | "failed" | "not_configured" | undefined;
1832
+ noChanges?: boolean | undefined;
1833
+ } | null | undefined;
1685
1834
  model?: string | undefined;
1686
1835
  tests?: {
1687
1836
  program: string;
1688
- cwd?: string | undefined;
1689
1837
  args?: string[] | undefined;
1838
+ cwd?: string | undefined;
1690
1839
  envAllowlist?: string[] | undefined;
1691
1840
  }[] | undefined;
1692
1841
  project?: {
@@ -1695,10 +1844,10 @@ export declare const ControlRunDetail: z.ZodObject<{
1695
1844
  context?: "off" | "auto" | undefined;
1696
1845
  projectName?: string | null | undefined;
1697
1846
  } | undefined;
1698
- n?: number | undefined;
1699
1847
  taskId?: string | undefined;
1700
1848
  primaryHarness?: string | undefined;
1701
1849
  routingGoal?: "auto" | "quality" | "economy" | undefined;
1850
+ n?: number | undefined;
1702
1851
  paidBudget?: {
1703
1852
  kind: "unlimited";
1704
1853
  } | {
@@ -1710,8 +1859,6 @@ export declare const ControlRunDetail: z.ZodObject<{
1710
1859
  path: string;
1711
1860
  reason?: string | undefined;
1712
1861
  }[] | undefined;
1713
- specId?: string | undefined;
1714
- specHash?: string | undefined;
1715
1862
  reviewerPanel?: {
1716
1863
  harness: string;
1717
1864
  model?: string | undefined;
@@ -1729,7 +1876,7 @@ export declare const ControlRunDetail: z.ZodObject<{
1729
1876
  eventRefs?: string[] | undefined;
1730
1877
  nextActions?: string[] | undefined;
1731
1878
  } | null | undefined;
1732
- strategy?: "race" | "attempts" | "swarm" | "create" | "until_clean" | null | undefined;
1879
+ strategy?: "attempts" | "create" | "race" | "until_clean" | "deep_scan" | null | undefined;
1733
1880
  spendUsd?: number | null | undefined;
1734
1881
  spendEstimated?: boolean | undefined;
1735
1882
  inputTokens?: number | null | undefined;
@@ -1753,7 +1900,7 @@ export declare const ControlRunDetail: z.ZodObject<{
1753
1900
  webRequired?: boolean | undefined;
1754
1901
  webMode?: "off" | "auto" | "cached" | "live" | undefined;
1755
1902
  webEvidence?: {
1756
- status?: "failed" | "none" | "attempted" | "satisfied" | "unverified" | undefined;
1903
+ status?: "failed" | "none" | "attempted" | "unverified" | "satisfied" | undefined;
1757
1904
  available?: boolean | undefined;
1758
1905
  target?: string | null | undefined;
1759
1906
  mode?: "off" | "auto" | "cached" | "live" | undefined;
@@ -1779,6 +1926,9 @@ export declare const ControlRunDetail: z.ZodObject<{
1779
1926
  toolWarningsTotal?: number | undefined;
1780
1927
  result?: {
1781
1928
  kind?: "plan" | "none" | "patch" | "answer" | "report" | undefined;
1929
+ applyState?: "not_applied" | "applied" | "applied_review_blocked" | "reverted" | undefined;
1930
+ revertAnchorId?: string | null | undefined;
1931
+ postTurnSha?: string | null | undefined;
1782
1932
  diffStat?: {
1783
1933
  files: number;
1784
1934
  additions: number;
@@ -1786,10 +1936,7 @@ export declare const ControlRunDetail: z.ZodObject<{
1786
1936
  } | null | undefined;
1787
1937
  blockers?: number | undefined;
1788
1938
  adopted?: boolean | null | undefined;
1789
- applyState?: "not_applied" | "applied" | "applied_review_blocked" | "reverted" | undefined;
1790
1939
  preTurnSha?: string | null | undefined;
1791
- postTurnSha?: string | null | undefined;
1792
- revertAnchorId?: string | null | undefined;
1793
1940
  revertable?: boolean | undefined;
1794
1941
  } | undefined;
1795
1942
  waitingOnUser?: boolean | undefined;
@@ -1801,26 +1948,15 @@ export declare const ControlRunDetail: z.ZodObject<{
1801
1948
  } | null | undefined;
1802
1949
  finishedAt?: string | undefined;
1803
1950
  };
1804
- orchestrate?: {
1805
- autonomy: "suggest" | "auto_safe" | "auto_full";
1806
- steps?: {
1807
- status: "pending" | "failed" | "running" | "blocked" | "done" | "skipped";
1808
- index: number;
1809
- tool: "status" | "review" | "apply" | "start_run" | "race" | "answer_question";
1810
- risk: "safe" | "risky";
1811
- detail?: string | null | undefined;
1812
- evidence_refs?: string[] | undefined;
1813
- run_id?: string | null | undefined;
1814
- required?: boolean | undefined;
1815
- terminal_status?: "failed" | "cancelled" | "interrupted_unknown" | "success" | "no_op" | "ungated" | "review_not_run" | "blocked" | "cost_unverifiable" | "exhausted_overshoot" | "exhausted" | "not_converged" | "stuck_no_progress" | null | undefined;
1816
- terminal_source?: "review" | "delivery" | "policy" | "budget" | "executor" | "subrun" | null | undefined;
1817
- }[] | undefined;
1818
- stopped_reason?: string | null | undefined;
1819
- } | null | undefined;
1820
1951
  decision?: {
1821
- status: "failed" | "cancelled" | "interrupted_unknown" | "success" | "no_op" | "ungated" | "review_not_run" | "blocked" | "cost_unverifiable" | "exhausted_overshoot" | "exhausted" | "not_converged" | "stuck_no_progress";
1822
1952
  winner: string | null;
1823
- outcome?: "ready" | "no_op" | "ungated" | "review_not_run" | "blocked" | undefined;
1953
+ facts: {
1954
+ lifecycle: "failed" | "cancelled" | "succeeded" | "interrupted";
1955
+ review?: "not_run" | "approved" | "blocked" | undefined;
1956
+ reason?: "harness_failed" | "no_changes" | "review_blocked" | "checks_failed" | "budget_exhausted" | "budget_overshoot" | "cost_unverifiable" | "not_converged" | "stuck_no_progress" | "wall_clock_exceeded" | "user_cancelled" | "crash_interrupted" | null | undefined;
1957
+ checks?: "passed" | "failed" | "not_configured" | undefined;
1958
+ noChanges?: boolean | undefined;
1959
+ };
1824
1960
  why_winner?: string | undefined;
1825
1961
  why_not_others?: Record<string, string> | undefined;
1826
1962
  accepted_risks?: string[] | undefined;
@@ -1830,7 +1966,7 @@ export declare const ControlRunDetail: z.ZodObject<{
1830
1966
  estimated?: boolean | undefined;
1831
1967
  spend_usd?: number | null | undefined;
1832
1968
  } | undefined;
1833
- apply_recommendation?: "apply" | "inspect" | "continue" | "split_task" | "human_review" | undefined;
1969
+ apply_recommendation?: "apply" | "inspect" | "continue" | "human_review" | undefined;
1834
1970
  verification_basis?: "none" | "cross_family_review" | "both" | undefined;
1835
1971
  final_verify?: {
1836
1972
  attempted: boolean;
@@ -1851,6 +1987,30 @@ export declare const ControlRunDetail: z.ZodObject<{
1851
1987
  eligible: boolean;
1852
1988
  requiredAction: string | null;
1853
1989
  } | null | undefined;
1990
+ outcomeBanner?: string | null | undefined;
1991
+ planReadiness?: {
1992
+ state: "ready" | "needs_answers" | "unverified";
1993
+ questionCount?: number | undefined;
1994
+ } | null | undefined;
1995
+ pendingInteractions?: {
1996
+ runId: string;
1997
+ interactionId: string;
1998
+ requestedAt: string;
1999
+ harnessId?: string | null | undefined;
2000
+ attemptId?: string | null | undefined;
2001
+ questions?: {
2002
+ id: string;
2003
+ question: string;
2004
+ options?: {
2005
+ label: string;
2006
+ description?: string | null | undefined;
2007
+ }[] | undefined;
2008
+ header?: string | null | undefined;
2009
+ multi_select?: boolean | undefined;
2010
+ }[] | undefined;
2011
+ sourceTool?: string | null | undefined;
2012
+ timeoutAt?: string | null | undefined;
2013
+ }[] | undefined;
1854
2014
  budget?: {
1855
2015
  source?: "unknown" | "decision" | "events" | "settings" | undefined;
1856
2016
  estimated?: boolean | undefined;
@@ -1863,6 +2023,18 @@ export declare const ControlRunDetail: z.ZodObject<{
1863
2023
  spendUsd?: number | null | undefined;
1864
2024
  remainingUsd?: number | null | undefined;
1865
2025
  } | undefined;
2026
+ council?: {
2027
+ requested: number;
2028
+ drafted: number;
2029
+ degraded?: boolean | undefined;
2030
+ mergedBy?: string | null | undefined;
2031
+ members?: {
2032
+ status: "failed" | "drafted" | "merged";
2033
+ harnessId: string;
2034
+ role: "primary" | "member";
2035
+ error?: string | null | undefined;
2036
+ }[] | undefined;
2037
+ } | null | undefined;
1866
2038
  failure?: {
1867
2039
  safeMessage: string;
1868
2040
  harnessId?: string | null | undefined;
@@ -1887,6 +2059,7 @@ export declare const ControlRunDetail: z.ZodObject<{
1887
2059
  kind: "diagnostic" | "plan" | "summary" | "patch" | "answer" | "report" | "structured_output";
1888
2060
  bytes?: number | undefined;
1889
2061
  text?: string | null | undefined;
2062
+ truncated?: boolean | undefined;
1890
2063
  } | null | undefined;
1891
2064
  timeline?: {
1892
2065
  type: string;
@@ -1915,6 +2088,16 @@ export declare const ControlRunDetail: z.ZodObject<{
1915
2088
  evidence_dir?: string | undefined;
1916
2089
  meta?: Record<string, unknown> | undefined;
1917
2090
  } | null | undefined;
2091
+ planQuestions?: {
2092
+ kind: "text" | "single" | "multi";
2093
+ id: string;
2094
+ prompt: string;
2095
+ options?: {
2096
+ id: string;
2097
+ label: string;
2098
+ }[] | undefined;
2099
+ allow_text?: boolean | undefined;
2100
+ }[] | undefined;
1918
2101
  reviewFindings?: {
1919
2102
  id: string;
1920
2103
  category: "correctness" | "regression" | "security" | "performance" | "maintainability" | "test_gap" | "spec_gap" | "deploy" | "architecture" | "ux";
@@ -1945,25 +2128,6 @@ export declare const ControlRunDetail: z.ZodObject<{
1945
2128
  proposed_fix?: string | null | undefined;
1946
2129
  revalidation_note?: string | undefined;
1947
2130
  }[] | undefined;
1948
- pendingInteractions?: {
1949
- runId: string;
1950
- interactionId: string;
1951
- requestedAt: string;
1952
- harnessId?: string | null | undefined;
1953
- attemptId?: string | null | undefined;
1954
- questions?: {
1955
- id: string;
1956
- question: string;
1957
- options?: {
1958
- label: string;
1959
- description?: string | null | undefined;
1960
- }[] | undefined;
1961
- header?: string | null | undefined;
1962
- multi_select?: boolean | undefined;
1963
- }[] | undefined;
1964
- sourceTool?: string | null | undefined;
1965
- timeoutAt?: string | null | undefined;
1966
- }[] | undefined;
1967
2131
  candidates?: {
1968
2132
  harnessId: string;
1969
2133
  attemptId: string;
@@ -1973,6 +2137,7 @@ export declare const ControlRunDetail: z.ZodObject<{
1973
2137
  blockers?: number | undefined;
1974
2138
  costEstimated?: boolean | undefined;
1975
2139
  errored?: boolean | undefined;
2140
+ errorReason?: string | null | undefined;
1976
2141
  gatesPassed?: number | undefined;
1977
2142
  gatesTotal?: number | undefined;
1978
2143
  reviewVerified?: boolean | undefined;