@claudexor/schema 2.1.3 → 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 +347 -215
  21. package/dist/control-run-detail.d.ts.map +1 -1
  22. package/dist/control-run-detail.js +34 -7
  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 -306
  27. package/dist/control.d.ts.map +1 -1
  28. package/dist/control.js +164 -61
  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 +45 -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 +292 -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 +9 -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 -603
  155. package/dist/control-spec.d.ts.map +0 -1
  156. package/dist/control-spec.js +0 -87
  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 -209
  168. package/generated/ControlSpecSession.schema.json +0 -261
  169. package/generated/ControlSpecSessionListResponse.schema.json +0 -273
  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
@@ -96,7 +96,7 @@ export declare const ControlRunDetail: z.ZodObject<{
96
96
  jobId: z.ZodString;
97
97
  runId: z.ZodString;
98
98
  taskId: z.ZodOptional<z.ZodString>;
99
- 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"]>;
100
100
  runDir: z.ZodOptional<z.ZodString>;
101
101
  error: z.ZodOptional<z.ZodString>;
102
102
  failure: z.ZodDefault<z.ZodNullable<z.ZodObject<{
@@ -149,8 +149,8 @@ export declare const ControlRunDetail: z.ZodObject<{
149
149
  context?: "off" | "auto" | undefined;
150
150
  projectName?: string | null | undefined;
151
151
  }>>;
152
- mode: z.ZodOptional<z.ZodEnum<["ask", "plan", "audit", "agent", "orchestrate"]>>;
153
- 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"]>>>;
154
154
  prompt: z.ZodOptional<z.ZodString>;
155
155
  harnesses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
156
156
  primaryHarness: z.ZodOptional<z.ZodString>;
@@ -261,7 +261,7 @@ export declare const ControlRunDetail: z.ZodObject<{
261
261
  rawDetailRef: z.ZodDefault<z.ZodNullable<z.ZodString>>;
262
262
  available: z.ZodDefault<z.ZodBoolean>;
263
263
  }, "strip", z.ZodTypeAny, {
264
- status: "failed" | "none" | "attempted" | "satisfied" | "unverified";
264
+ status: "failed" | "none" | "attempted" | "unverified" | "satisfied";
265
265
  available: boolean;
266
266
  target: string | null;
267
267
  mode: "off" | "auto" | "cached" | "live";
@@ -273,7 +273,7 @@ export declare const ControlRunDetail: z.ZodObject<{
273
273
  satisfied: boolean;
274
274
  errorSummary: string | null;
275
275
  }, {
276
- status?: "failed" | "none" | "attempted" | "satisfied" | "unverified" | undefined;
276
+ status?: "failed" | "none" | "attempted" | "unverified" | "satisfied" | undefined;
277
277
  available?: boolean | undefined;
278
278
  target?: string | null | undefined;
279
279
  mode?: "off" | "auto" | "cached" | "live" | undefined;
@@ -337,6 +337,9 @@ export declare const ControlRunDetail: z.ZodObject<{
337
337
  revertable: z.ZodDefault<z.ZodBoolean>;
338
338
  }, "strip", z.ZodTypeAny, {
339
339
  kind: "plan" | "none" | "patch" | "answer" | "report";
340
+ applyState: "not_applied" | "applied" | "applied_review_blocked" | "reverted";
341
+ revertAnchorId: string | null;
342
+ postTurnSha: string | null;
340
343
  diffStat: {
341
344
  files: number;
342
345
  additions: number;
@@ -344,13 +347,13 @@ export declare const ControlRunDetail: z.ZodObject<{
344
347
  } | null;
345
348
  blockers: number;
346
349
  adopted: boolean | null;
347
- applyState: "not_applied" | "applied" | "applied_review_blocked" | "reverted";
348
350
  preTurnSha: string | null;
349
- postTurnSha: string | null;
350
- revertAnchorId: string | null;
351
351
  revertable: boolean;
352
352
  }, {
353
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;
354
357
  diffStat?: {
355
358
  files: number;
356
359
  additions: number;
@@ -358,12 +361,28 @@ export declare const ControlRunDetail: z.ZodObject<{
358
361
  } | null | undefined;
359
362
  blockers?: number | undefined;
360
363
  adopted?: boolean | null | undefined;
361
- applyState?: "not_applied" | "applied" | "applied_review_blocked" | "reverted" | undefined;
362
364
  preTurnSha?: string | null | undefined;
363
- postTurnSha?: string | null | undefined;
364
- revertAnchorId?: string | null | undefined;
365
365
  revertable?: boolean | undefined;
366
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
+ }>>>;
367
386
  waitingOnUser: z.ZodDefault<z.ZodBoolean>;
368
387
  route: z.ZodDefault<z.ZodNullable<z.ZodObject<{
369
388
  requestedModel: z.ZodDefault<z.ZodNullable<z.ZodString>>;
@@ -387,24 +406,29 @@ export declare const ControlRunDetail: z.ZodObject<{
387
406
  cwd: z.ZodOptional<z.ZodString>;
388
407
  envAllowlist: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
389
408
  }, "strict", z.ZodTypeAny, {
390
- program: string;
391
409
  args: string[];
410
+ program: string;
392
411
  envAllowlist: string[];
393
412
  cwd?: string | undefined;
394
413
  }, {
395
414
  program: string;
396
- cwd?: string | undefined;
397
415
  args?: string[] | undefined;
416
+ cwd?: string | undefined;
398
417
  envAllowlist?: string[] | undefined;
399
418
  }>, "many">>;
400
- specId: z.ZodOptional<z.ZodString>;
401
- specHash: z.ZodOptional<z.ZodString>;
402
419
  createdAt: z.ZodOptional<z.ZodString>;
403
420
  startedAt: z.ZodOptional<z.ZodString>;
404
421
  finishedAt: z.ZodOptional<z.ZodString>;
405
422
  }, "strip", z.ZodTypeAny, {
406
- 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";
407
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;
408
432
  project: {
409
433
  kind: "none" | "project";
410
434
  root: string | null;
@@ -425,7 +449,7 @@ export declare const ControlRunDetail: z.ZodObject<{
425
449
  nextActions: string[];
426
450
  } | null;
427
451
  webEvidence: {
428
- status: "failed" | "none" | "attempted" | "satisfied" | "unverified";
452
+ status: "failed" | "none" | "attempted" | "unverified" | "satisfied";
429
453
  available: boolean;
430
454
  target: string | null;
431
455
  mode: "off" | "auto" | "cached" | "live";
@@ -450,6 +474,9 @@ export declare const ControlRunDetail: z.ZodObject<{
450
474
  toolWarningsTotal: number;
451
475
  result: {
452
476
  kind: "plan" | "none" | "patch" | "answer" | "report";
477
+ applyState: "not_applied" | "applied" | "applied_review_blocked" | "reverted";
478
+ revertAnchorId: string | null;
479
+ postTurnSha: string | null;
453
480
  diffStat: {
454
481
  files: number;
455
482
  additions: number;
@@ -457,10 +484,7 @@ export declare const ControlRunDetail: z.ZodObject<{
457
484
  } | null;
458
485
  blockers: number;
459
486
  adopted: boolean | null;
460
- applyState: "not_applied" | "applied" | "applied_review_blocked" | "reverted";
461
487
  preTurnSha: string | null;
462
- postTurnSha: string | null;
463
- revertAnchorId: string | null;
464
488
  revertable: boolean;
465
489
  };
466
490
  waitingOnUser: boolean;
@@ -473,22 +497,22 @@ export declare const ControlRunDetail: z.ZodObject<{
473
497
  startedAt?: string | undefined;
474
498
  error?: string | undefined;
475
499
  createdAt?: string | undefined;
476
- mode?: "ask" | "plan" | "audit" | "agent" | "orchestrate" | undefined;
500
+ mode?: "ask" | "plan" | "agent" | undefined;
477
501
  prompt?: string | undefined;
478
502
  access?: "readonly" | "workspace_write" | "full" | "external_sandbox_full" | "inherit_native" | undefined;
479
503
  harnesses?: string[] | undefined;
480
504
  runDir?: string | undefined;
481
505
  model?: string | undefined;
482
506
  tests?: {
483
- program: string;
484
507
  args: string[];
508
+ program: string;
485
509
  envAllowlist: string[];
486
510
  cwd?: string | undefined;
487
511
  }[] | undefined;
488
- n?: number | undefined;
489
512
  taskId?: string | undefined;
490
513
  primaryHarness?: string | undefined;
491
514
  routingGoal?: "auto" | "quality" | "economy" | undefined;
515
+ n?: number | undefined;
492
516
  paidBudget?: {
493
517
  kind: "unlimited";
494
518
  } | {
@@ -500,14 +524,12 @@ export declare const ControlRunDetail: z.ZodObject<{
500
524
  path: string;
501
525
  reason?: string | undefined;
502
526
  }[] | undefined;
503
- specId?: string | undefined;
504
- specHash?: string | undefined;
505
527
  reviewerPanel?: {
506
528
  harness: string;
507
529
  model?: string | undefined;
508
530
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
509
531
  }[] | undefined;
510
- strategy?: "race" | "attempts" | "swarm" | "create" | "until_clean" | null | undefined;
532
+ strategy?: "attempts" | "create" | "race" | "until_clean" | "deep_scan" | null | undefined;
511
533
  spendUsd?: number | null | undefined;
512
534
  spendEstimated?: boolean | undefined;
513
535
  inputTokens?: number | null | undefined;
@@ -533,22 +555,29 @@ export declare const ControlRunDetail: z.ZodObject<{
533
555
  toolPermissionPolicy?: Record<string, unknown> | undefined;
534
556
  finishedAt?: string | undefined;
535
557
  }, {
536
- 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";
537
559
  runId: string;
538
560
  jobId: string;
539
561
  startedAt?: string | undefined;
540
562
  error?: string | undefined;
541
563
  createdAt?: string | undefined;
542
- mode?: "ask" | "plan" | "audit" | "agent" | "orchestrate" | undefined;
564
+ mode?: "ask" | "plan" | "agent" | undefined;
543
565
  prompt?: string | undefined;
544
566
  access?: "readonly" | "workspace_write" | "full" | "external_sandbox_full" | "inherit_native" | undefined;
545
567
  harnesses?: string[] | undefined;
546
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;
547
576
  model?: string | undefined;
548
577
  tests?: {
549
578
  program: string;
550
- cwd?: string | undefined;
551
579
  args?: string[] | undefined;
580
+ cwd?: string | undefined;
552
581
  envAllowlist?: string[] | undefined;
553
582
  }[] | undefined;
554
583
  project?: {
@@ -557,10 +586,10 @@ export declare const ControlRunDetail: z.ZodObject<{
557
586
  context?: "off" | "auto" | undefined;
558
587
  projectName?: string | null | undefined;
559
588
  } | undefined;
560
- n?: number | undefined;
561
589
  taskId?: string | undefined;
562
590
  primaryHarness?: string | undefined;
563
591
  routingGoal?: "auto" | "quality" | "economy" | undefined;
592
+ n?: number | undefined;
564
593
  paidBudget?: {
565
594
  kind: "unlimited";
566
595
  } | {
@@ -572,8 +601,6 @@ export declare const ControlRunDetail: z.ZodObject<{
572
601
  path: string;
573
602
  reason?: string | undefined;
574
603
  }[] | undefined;
575
- specId?: string | undefined;
576
- specHash?: string | undefined;
577
604
  reviewerPanel?: {
578
605
  harness: string;
579
606
  model?: string | undefined;
@@ -591,7 +618,7 @@ export declare const ControlRunDetail: z.ZodObject<{
591
618
  eventRefs?: string[] | undefined;
592
619
  nextActions?: string[] | undefined;
593
620
  } | null | undefined;
594
- strategy?: "race" | "attempts" | "swarm" | "create" | "until_clean" | null | undefined;
621
+ strategy?: "attempts" | "create" | "race" | "until_clean" | "deep_scan" | null | undefined;
595
622
  spendUsd?: number | null | undefined;
596
623
  spendEstimated?: boolean | undefined;
597
624
  inputTokens?: number | null | undefined;
@@ -615,7 +642,7 @@ export declare const ControlRunDetail: z.ZodObject<{
615
642
  webRequired?: boolean | undefined;
616
643
  webMode?: "off" | "auto" | "cached" | "live" | undefined;
617
644
  webEvidence?: {
618
- status?: "failed" | "none" | "attempted" | "satisfied" | "unverified" | undefined;
645
+ status?: "failed" | "none" | "attempted" | "unverified" | "satisfied" | undefined;
619
646
  available?: boolean | undefined;
620
647
  target?: string | null | undefined;
621
648
  mode?: "off" | "auto" | "cached" | "live" | undefined;
@@ -641,6 +668,9 @@ export declare const ControlRunDetail: z.ZodObject<{
641
668
  toolWarningsTotal?: number | undefined;
642
669
  result?: {
643
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;
644
674
  diffStat?: {
645
675
  files: number;
646
676
  additions: number;
@@ -648,10 +678,7 @@ export declare const ControlRunDetail: z.ZodObject<{
648
678
  } | null | undefined;
649
679
  blockers?: number | undefined;
650
680
  adopted?: boolean | null | undefined;
651
- applyState?: "not_applied" | "applied" | "applied_review_blocked" | "reverted" | undefined;
652
681
  preTurnSha?: string | null | undefined;
653
- postTurnSha?: string | null | undefined;
654
- revertAnchorId?: string | null | undefined;
655
682
  revertable?: boolean | undefined;
656
683
  } | undefined;
657
684
  waitingOnUser?: boolean | undefined;
@@ -663,6 +690,14 @@ export declare const ControlRunDetail: z.ZodObject<{
663
690
  } | null | undefined;
664
691
  finishedAt?: string | undefined;
665
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>>;
666
701
  /**
667
702
  * Highest event seq included in this snapshot. Clients subscribe to the
668
703
  * event stream from this cursor; events with seq <= lastSeq are already
@@ -788,8 +823,25 @@ export declare const ControlRunDetail: z.ZodObject<{
788
823
  finalSummary: z.ZodDefault<z.ZodNullable<z.ZodString>>;
789
824
  decision: z.ZodDefault<z.ZodNullable<z.ZodObject<{
790
825
  winner: z.ZodNullable<z.ZodString>;
791
- 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"]>;
792
- 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
+ }>;
793
845
  why_winner: z.ZodDefault<z.ZodString>;
794
846
  why_not_others: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
795
847
  accepted_risks: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
@@ -805,7 +857,7 @@ export declare const ControlRunDetail: z.ZodObject<{
805
857
  estimated?: boolean | undefined;
806
858
  spend_usd?: number | null | undefined;
807
859
  }>>;
808
- 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"]>>;
809
861
  verification_basis: z.ZodDefault<z.ZodEnum<["none", "cross_family_review", "both"]>>;
810
862
  final_verify: z.ZodDefault<z.ZodNullable<z.ZodObject<{
811
863
  attempted: z.ZodBoolean;
@@ -848,9 +900,14 @@ export declare const ControlRunDetail: z.ZodObject<{
848
900
  }[] | undefined;
849
901
  }>>>;
850
902
  }, "strip", z.ZodTypeAny, {
851
- status: "failed" | "cancelled" | "interrupted_unknown" | "success" | "no_op" | "ungated" | "review_not_run" | "blocked" | "cost_unverifiable" | "exhausted_overshoot" | "exhausted" | "not_converged" | "stuck_no_progress";
852
903
  winner: string | null;
853
- 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
+ };
854
911
  why_winner: string;
855
912
  why_not_others: Record<string, string>;
856
913
  accepted_risks: string[];
@@ -860,7 +917,7 @@ export declare const ControlRunDetail: z.ZodObject<{
860
917
  estimated: boolean;
861
918
  spend_usd: number | null;
862
919
  };
863
- apply_recommendation: "apply" | "inspect" | "continue" | "split_task" | "human_review";
920
+ apply_recommendation: "apply" | "inspect" | "continue" | "human_review";
864
921
  verification_basis: "none" | "cross_family_review" | "both";
865
922
  final_verify: {
866
923
  reason: string | null;
@@ -875,9 +932,14 @@ export declare const ControlRunDetail: z.ZodObject<{
875
932
  }[];
876
933
  } | null;
877
934
  }, {
878
- status: "failed" | "cancelled" | "interrupted_unknown" | "success" | "no_op" | "ungated" | "review_not_run" | "blocked" | "cost_unverifiable" | "exhausted_overshoot" | "exhausted" | "not_converged" | "stuck_no_progress";
879
935
  winner: string | null;
880
- 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
+ };
881
943
  why_winner?: string | undefined;
882
944
  why_not_others?: Record<string, string> | undefined;
883
945
  accepted_risks?: string[] | undefined;
@@ -887,7 +949,7 @@ export declare const ControlRunDetail: z.ZodObject<{
887
949
  estimated?: boolean | undefined;
888
950
  spend_usd?: number | null | undefined;
889
951
  } | undefined;
890
- apply_recommendation?: "apply" | "inspect" | "continue" | "split_task" | "human_review" | undefined;
952
+ apply_recommendation?: "apply" | "inspect" | "continue" | "human_review" | undefined;
891
953
  verification_basis?: "none" | "cross_family_review" | "both" | undefined;
892
954
  final_verify?: {
893
955
  attempted: boolean;
@@ -939,6 +1001,105 @@ export declare const ControlRunDetail: z.ZodObject<{
939
1001
  meta?: Record<string, unknown> | undefined;
940
1002
  }>>>;
941
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
+ }>>>;
942
1103
  applyEligibility: z.ZodDefault<z.ZodNullable<z.ZodObject<{
943
1104
  eligible: z.ZodBoolean;
944
1105
  state: z.ZodNullable<z.ZodString>;
@@ -1172,77 +1333,6 @@ export declare const ControlRunDetail: z.ZodObject<{
1172
1333
  sourceTool?: string | null | undefined;
1173
1334
  timeoutAt?: string | null | undefined;
1174
1335
  }>, "many">>;
1175
- /** Typed executor progress for an orchestrate run (auto_safe/auto_full);
1176
- * null for non-orchestrate runs or suggest autonomy. Projected from
1177
- * final/orchestration_progress.yaml. */
1178
- orchestrate: z.ZodDefault<z.ZodNullable<z.ZodObject<{
1179
- steps: z.ZodDefault<z.ZodArray<z.ZodObject<{
1180
- index: z.ZodNumber;
1181
- tool: z.ZodEnum<["start_run", "race", "status", "answer_question", "apply", "review"]>;
1182
- risk: z.ZodEnum<["safe", "risky"]>;
1183
- status: z.ZodEnum<["pending", "running", "done", "skipped", "blocked", "failed"]>;
1184
- required: z.ZodDefault<z.ZodBoolean>;
1185
- 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"]>>>;
1186
- terminal_source: z.ZodDefault<z.ZodNullable<z.ZodEnum<["executor", "subrun", "review", "delivery", "policy", "budget"]>>>;
1187
- evidence_refs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1188
- run_id: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1189
- detail: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1190
- }, "strip", z.ZodTypeAny, {
1191
- status: "pending" | "failed" | "running" | "blocked" | "done" | "skipped";
1192
- detail: string | null;
1193
- index: number;
1194
- evidence_refs: string[];
1195
- tool: "status" | "review" | "apply" | "start_run" | "race" | "answer_question";
1196
- run_id: string | null;
1197
- required: boolean;
1198
- risk: "safe" | "risky";
1199
- 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;
1200
- terminal_source: "review" | "delivery" | "policy" | "budget" | "executor" | "subrun" | null;
1201
- }, {
1202
- status: "pending" | "failed" | "running" | "blocked" | "done" | "skipped";
1203
- index: number;
1204
- tool: "status" | "review" | "apply" | "start_run" | "race" | "answer_question";
1205
- risk: "safe" | "risky";
1206
- detail?: string | null | undefined;
1207
- evidence_refs?: string[] | undefined;
1208
- run_id?: string | null | undefined;
1209
- required?: boolean | undefined;
1210
- 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;
1211
- terminal_source?: "review" | "delivery" | "policy" | "budget" | "executor" | "subrun" | null | undefined;
1212
- }>, "many">>;
1213
- autonomy: z.ZodEnum<["suggest", "auto_safe", "auto_full"]>;
1214
- stopped_reason: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1215
- }, "strip", z.ZodTypeAny, {
1216
- autonomy: "suggest" | "auto_safe" | "auto_full";
1217
- steps: {
1218
- status: "pending" | "failed" | "running" | "blocked" | "done" | "skipped";
1219
- detail: string | null;
1220
- index: number;
1221
- evidence_refs: string[];
1222
- tool: "status" | "review" | "apply" | "start_run" | "race" | "answer_question";
1223
- run_id: string | null;
1224
- required: boolean;
1225
- risk: "safe" | "risky";
1226
- 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;
1227
- terminal_source: "review" | "delivery" | "policy" | "budget" | "executor" | "subrun" | null;
1228
- }[];
1229
- stopped_reason: string | null;
1230
- }, {
1231
- autonomy: "suggest" | "auto_safe" | "auto_full";
1232
- steps?: {
1233
- status: "pending" | "failed" | "running" | "blocked" | "done" | "skipped";
1234
- index: number;
1235
- tool: "status" | "review" | "apply" | "start_run" | "race" | "answer_question";
1236
- risk: "safe" | "risky";
1237
- detail?: string | null | undefined;
1238
- evidence_refs?: string[] | undefined;
1239
- run_id?: string | null | undefined;
1240
- required?: boolean | undefined;
1241
- 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;
1242
- terminal_source?: "review" | "delivery" | "policy" | "budget" | "executor" | "subrun" | null | undefined;
1243
- }[] | undefined;
1244
- stopped_reason?: string | null | undefined;
1245
- }>>>;
1246
1336
  /** Per-candidate evidence cards. Present for EVERY envelope-producing
1247
1337
  * mode (races show N lanes; single-candidate turns and convergence
1248
1338
  * refinements project their attempts too); empty only when no attempt
@@ -1378,25 +1468,16 @@ export declare const ControlRunDetail: z.ZodObject<{
1378
1468
  nextActions?: string[] | undefined;
1379
1469
  }>>>;
1380
1470
  }, "strip", z.ZodTypeAny, {
1381
- orchestrate: {
1382
- autonomy: "suggest" | "auto_safe" | "auto_full";
1383
- steps: {
1384
- status: "pending" | "failed" | "running" | "blocked" | "done" | "skipped";
1385
- detail: string | null;
1386
- index: number;
1387
- evidence_refs: string[];
1388
- tool: "status" | "review" | "apply" | "start_run" | "race" | "answer_question";
1389
- run_id: string | null;
1390
- required: boolean;
1391
- risk: "safe" | "risky";
1392
- 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;
1393
- terminal_source: "review" | "delivery" | "policy" | "budget" | "executor" | "subrun" | null;
1394
- }[];
1395
- stopped_reason: string | null;
1396
- } | null;
1397
1471
  summary: {
1398
- 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";
1399
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;
1400
1481
  project: {
1401
1482
  kind: "none" | "project";
1402
1483
  root: string | null;
@@ -1417,7 +1498,7 @@ export declare const ControlRunDetail: z.ZodObject<{
1417
1498
  nextActions: string[];
1418
1499
  } | null;
1419
1500
  webEvidence: {
1420
- status: "failed" | "none" | "attempted" | "satisfied" | "unverified";
1501
+ status: "failed" | "none" | "attempted" | "unverified" | "satisfied";
1421
1502
  available: boolean;
1422
1503
  target: string | null;
1423
1504
  mode: "off" | "auto" | "cached" | "live";
@@ -1442,6 +1523,9 @@ export declare const ControlRunDetail: z.ZodObject<{
1442
1523
  toolWarningsTotal: number;
1443
1524
  result: {
1444
1525
  kind: "plan" | "none" | "patch" | "answer" | "report";
1526
+ applyState: "not_applied" | "applied" | "applied_review_blocked" | "reverted";
1527
+ revertAnchorId: string | null;
1528
+ postTurnSha: string | null;
1445
1529
  diffStat: {
1446
1530
  files: number;
1447
1531
  additions: number;
@@ -1449,10 +1533,7 @@ export declare const ControlRunDetail: z.ZodObject<{
1449
1533
  } | null;
1450
1534
  blockers: number;
1451
1535
  adopted: boolean | null;
1452
- applyState: "not_applied" | "applied" | "applied_review_blocked" | "reverted";
1453
1536
  preTurnSha: string | null;
1454
- postTurnSha: string | null;
1455
- revertAnchorId: string | null;
1456
1537
  revertable: boolean;
1457
1538
  };
1458
1539
  waitingOnUser: boolean;
@@ -1465,22 +1546,22 @@ export declare const ControlRunDetail: z.ZodObject<{
1465
1546
  startedAt?: string | undefined;
1466
1547
  error?: string | undefined;
1467
1548
  createdAt?: string | undefined;
1468
- mode?: "ask" | "plan" | "audit" | "agent" | "orchestrate" | undefined;
1549
+ mode?: "ask" | "plan" | "agent" | undefined;
1469
1550
  prompt?: string | undefined;
1470
1551
  access?: "readonly" | "workspace_write" | "full" | "external_sandbox_full" | "inherit_native" | undefined;
1471
1552
  harnesses?: string[] | undefined;
1472
1553
  runDir?: string | undefined;
1473
1554
  model?: string | undefined;
1474
1555
  tests?: {
1475
- program: string;
1476
1556
  args: string[];
1557
+ program: string;
1477
1558
  envAllowlist: string[];
1478
1559
  cwd?: string | undefined;
1479
1560
  }[] | undefined;
1480
- n?: number | undefined;
1481
1561
  taskId?: string | undefined;
1482
1562
  primaryHarness?: string | undefined;
1483
1563
  routingGoal?: "auto" | "quality" | "economy" | undefined;
1564
+ n?: number | undefined;
1484
1565
  paidBudget?: {
1485
1566
  kind: "unlimited";
1486
1567
  } | {
@@ -1492,14 +1573,12 @@ export declare const ControlRunDetail: z.ZodObject<{
1492
1573
  path: string;
1493
1574
  reason?: string | undefined;
1494
1575
  }[] | undefined;
1495
- specId?: string | undefined;
1496
- specHash?: string | undefined;
1497
1576
  reviewerPanel?: {
1498
1577
  harness: string;
1499
1578
  model?: string | undefined;
1500
1579
  effort?: "low" | "medium" | "high" | "xhigh" | "max" | undefined;
1501
1580
  }[] | undefined;
1502
- strategy?: "race" | "attempts" | "swarm" | "create" | "until_clean" | null | undefined;
1581
+ strategy?: "attempts" | "create" | "race" | "until_clean" | "deep_scan" | null | undefined;
1503
1582
  spendUsd?: number | null | undefined;
1504
1583
  spendEstimated?: boolean | undefined;
1505
1584
  inputTokens?: number | null | undefined;
@@ -1526,9 +1605,14 @@ export declare const ControlRunDetail: z.ZodObject<{
1526
1605
  finishedAt?: string | undefined;
1527
1606
  };
1528
1607
  decision: {
1529
- status: "failed" | "cancelled" | "interrupted_unknown" | "success" | "no_op" | "ungated" | "review_not_run" | "blocked" | "cost_unverifiable" | "exhausted_overshoot" | "exhausted" | "not_converged" | "stuck_no_progress";
1530
1608
  winner: string | null;
1531
- 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
+ };
1532
1616
  why_winner: string;
1533
1617
  why_not_others: Record<string, string>;
1534
1618
  accepted_risks: string[];
@@ -1538,7 +1622,7 @@ export declare const ControlRunDetail: z.ZodObject<{
1538
1622
  estimated: boolean;
1539
1623
  spend_usd: number | null;
1540
1624
  };
1541
- apply_recommendation: "apply" | "inspect" | "continue" | "split_task" | "human_review";
1625
+ apply_recommendation: "apply" | "inspect" | "continue" | "human_review";
1542
1626
  verification_basis: "none" | "cross_family_review" | "both";
1543
1627
  final_verify: {
1544
1628
  reason: string | null;
@@ -1559,6 +1643,30 @@ export declare const ControlRunDetail: z.ZodObject<{
1559
1643
  eligible: boolean;
1560
1644
  requiredAction: string | null;
1561
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
+ }[];
1562
1670
  budget: {
1563
1671
  source: "unknown" | "decision" | "events" | "settings";
1564
1672
  estimated: boolean;
@@ -1571,6 +1679,18 @@ export declare const ControlRunDetail: z.ZodObject<{
1571
1679
  spendUsd: number | null;
1572
1680
  remainingUsd: number | null;
1573
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;
1574
1694
  failure: {
1575
1695
  harnessId: string | null;
1576
1696
  attemptId: string | null;
@@ -1624,6 +1744,16 @@ export declare const ControlRunDetail: z.ZodObject<{
1624
1744
  producer_attempt_id?: string | undefined;
1625
1745
  evidence_dir?: string | undefined;
1626
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
+ }[];
1627
1757
  reviewFindings: {
1628
1758
  status: "stale" | "accepted" | "proposed" | "rebutted" | "fixed" | "accepted_risk" | "duplicate" | "out_of_scope" | "insufficient_evidence";
1629
1759
  id: string;
@@ -1654,25 +1784,6 @@ export declare const ControlRunDetail: z.ZodObject<{
1654
1784
  };
1655
1785
  revalidation_note?: string | undefined;
1656
1786
  }[];
1657
- pendingInteractions: {
1658
- harnessId: string | null;
1659
- attemptId: string | null;
1660
- questions: {
1661
- options: {
1662
- label: string;
1663
- description: string | null;
1664
- }[];
1665
- id: string;
1666
- question: string;
1667
- header: string | null;
1668
- multi_select: boolean;
1669
- }[];
1670
- runId: string;
1671
- interactionId: string;
1672
- sourceTool: string | null;
1673
- requestedAt: string;
1674
- timeoutAt: string | null;
1675
- }[];
1676
1787
  candidates: {
1677
1788
  harnessId: string;
1678
1789
  attemptId: string;
@@ -1702,22 +1813,29 @@ export declare const ControlRunDetail: z.ZodObject<{
1702
1813
  } | null;
1703
1814
  }, {
1704
1815
  summary: {
1705
- 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";
1706
1817
  runId: string;
1707
1818
  jobId: string;
1708
1819
  startedAt?: string | undefined;
1709
1820
  error?: string | undefined;
1710
1821
  createdAt?: string | undefined;
1711
- mode?: "ask" | "plan" | "audit" | "agent" | "orchestrate" | undefined;
1822
+ mode?: "ask" | "plan" | "agent" | undefined;
1712
1823
  prompt?: string | undefined;
1713
1824
  access?: "readonly" | "workspace_write" | "full" | "external_sandbox_full" | "inherit_native" | undefined;
1714
1825
  harnesses?: string[] | undefined;
1715
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;
1716
1834
  model?: string | undefined;
1717
1835
  tests?: {
1718
1836
  program: string;
1719
- cwd?: string | undefined;
1720
1837
  args?: string[] | undefined;
1838
+ cwd?: string | undefined;
1721
1839
  envAllowlist?: string[] | undefined;
1722
1840
  }[] | undefined;
1723
1841
  project?: {
@@ -1726,10 +1844,10 @@ export declare const ControlRunDetail: z.ZodObject<{
1726
1844
  context?: "off" | "auto" | undefined;
1727
1845
  projectName?: string | null | undefined;
1728
1846
  } | undefined;
1729
- n?: number | undefined;
1730
1847
  taskId?: string | undefined;
1731
1848
  primaryHarness?: string | undefined;
1732
1849
  routingGoal?: "auto" | "quality" | "economy" | undefined;
1850
+ n?: number | undefined;
1733
1851
  paidBudget?: {
1734
1852
  kind: "unlimited";
1735
1853
  } | {
@@ -1741,8 +1859,6 @@ export declare const ControlRunDetail: z.ZodObject<{
1741
1859
  path: string;
1742
1860
  reason?: string | undefined;
1743
1861
  }[] | undefined;
1744
- specId?: string | undefined;
1745
- specHash?: string | undefined;
1746
1862
  reviewerPanel?: {
1747
1863
  harness: string;
1748
1864
  model?: string | undefined;
@@ -1760,7 +1876,7 @@ export declare const ControlRunDetail: z.ZodObject<{
1760
1876
  eventRefs?: string[] | undefined;
1761
1877
  nextActions?: string[] | undefined;
1762
1878
  } | null | undefined;
1763
- strategy?: "race" | "attempts" | "swarm" | "create" | "until_clean" | null | undefined;
1879
+ strategy?: "attempts" | "create" | "race" | "until_clean" | "deep_scan" | null | undefined;
1764
1880
  spendUsd?: number | null | undefined;
1765
1881
  spendEstimated?: boolean | undefined;
1766
1882
  inputTokens?: number | null | undefined;
@@ -1784,7 +1900,7 @@ export declare const ControlRunDetail: z.ZodObject<{
1784
1900
  webRequired?: boolean | undefined;
1785
1901
  webMode?: "off" | "auto" | "cached" | "live" | undefined;
1786
1902
  webEvidence?: {
1787
- status?: "failed" | "none" | "attempted" | "satisfied" | "unverified" | undefined;
1903
+ status?: "failed" | "none" | "attempted" | "unverified" | "satisfied" | undefined;
1788
1904
  available?: boolean | undefined;
1789
1905
  target?: string | null | undefined;
1790
1906
  mode?: "off" | "auto" | "cached" | "live" | undefined;
@@ -1810,6 +1926,9 @@ export declare const ControlRunDetail: z.ZodObject<{
1810
1926
  toolWarningsTotal?: number | undefined;
1811
1927
  result?: {
1812
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;
1813
1932
  diffStat?: {
1814
1933
  files: number;
1815
1934
  additions: number;
@@ -1817,10 +1936,7 @@ export declare const ControlRunDetail: z.ZodObject<{
1817
1936
  } | null | undefined;
1818
1937
  blockers?: number | undefined;
1819
1938
  adopted?: boolean | null | undefined;
1820
- applyState?: "not_applied" | "applied" | "applied_review_blocked" | "reverted" | undefined;
1821
1939
  preTurnSha?: string | null | undefined;
1822
- postTurnSha?: string | null | undefined;
1823
- revertAnchorId?: string | null | undefined;
1824
1940
  revertable?: boolean | undefined;
1825
1941
  } | undefined;
1826
1942
  waitingOnUser?: boolean | undefined;
@@ -1832,26 +1948,15 @@ export declare const ControlRunDetail: z.ZodObject<{
1832
1948
  } | null | undefined;
1833
1949
  finishedAt?: string | undefined;
1834
1950
  };
1835
- orchestrate?: {
1836
- autonomy: "suggest" | "auto_safe" | "auto_full";
1837
- steps?: {
1838
- status: "pending" | "failed" | "running" | "blocked" | "done" | "skipped";
1839
- index: number;
1840
- tool: "status" | "review" | "apply" | "start_run" | "race" | "answer_question";
1841
- risk: "safe" | "risky";
1842
- detail?: string | null | undefined;
1843
- evidence_refs?: string[] | undefined;
1844
- run_id?: string | null | undefined;
1845
- required?: boolean | undefined;
1846
- 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;
1847
- terminal_source?: "review" | "delivery" | "policy" | "budget" | "executor" | "subrun" | null | undefined;
1848
- }[] | undefined;
1849
- stopped_reason?: string | null | undefined;
1850
- } | null | undefined;
1851
1951
  decision?: {
1852
- status: "failed" | "cancelled" | "interrupted_unknown" | "success" | "no_op" | "ungated" | "review_not_run" | "blocked" | "cost_unverifiable" | "exhausted_overshoot" | "exhausted" | "not_converged" | "stuck_no_progress";
1853
1952
  winner: string | null;
1854
- 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
+ };
1855
1960
  why_winner?: string | undefined;
1856
1961
  why_not_others?: Record<string, string> | undefined;
1857
1962
  accepted_risks?: string[] | undefined;
@@ -1861,7 +1966,7 @@ export declare const ControlRunDetail: z.ZodObject<{
1861
1966
  estimated?: boolean | undefined;
1862
1967
  spend_usd?: number | null | undefined;
1863
1968
  } | undefined;
1864
- apply_recommendation?: "apply" | "inspect" | "continue" | "split_task" | "human_review" | undefined;
1969
+ apply_recommendation?: "apply" | "inspect" | "continue" | "human_review" | undefined;
1865
1970
  verification_basis?: "none" | "cross_family_review" | "both" | undefined;
1866
1971
  final_verify?: {
1867
1972
  attempted: boolean;
@@ -1882,6 +1987,30 @@ export declare const ControlRunDetail: z.ZodObject<{
1882
1987
  eligible: boolean;
1883
1988
  requiredAction: string | null;
1884
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;
1885
2014
  budget?: {
1886
2015
  source?: "unknown" | "decision" | "events" | "settings" | undefined;
1887
2016
  estimated?: boolean | undefined;
@@ -1894,6 +2023,18 @@ export declare const ControlRunDetail: z.ZodObject<{
1894
2023
  spendUsd?: number | null | undefined;
1895
2024
  remainingUsd?: number | null | undefined;
1896
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;
1897
2038
  failure?: {
1898
2039
  safeMessage: string;
1899
2040
  harnessId?: string | null | undefined;
@@ -1947,6 +2088,16 @@ export declare const ControlRunDetail: z.ZodObject<{
1947
2088
  evidence_dir?: string | undefined;
1948
2089
  meta?: Record<string, unknown> | undefined;
1949
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;
1950
2101
  reviewFindings?: {
1951
2102
  id: string;
1952
2103
  category: "correctness" | "regression" | "security" | "performance" | "maintainability" | "test_gap" | "spec_gap" | "deploy" | "architecture" | "ux";
@@ -1977,25 +2128,6 @@ export declare const ControlRunDetail: z.ZodObject<{
1977
2128
  proposed_fix?: string | null | undefined;
1978
2129
  revalidation_note?: string | undefined;
1979
2130
  }[] | undefined;
1980
- pendingInteractions?: {
1981
- runId: string;
1982
- interactionId: string;
1983
- requestedAt: string;
1984
- harnessId?: string | null | undefined;
1985
- attemptId?: string | null | undefined;
1986
- questions?: {
1987
- id: string;
1988
- question: string;
1989
- options?: {
1990
- label: string;
1991
- description?: string | null | undefined;
1992
- }[] | undefined;
1993
- header?: string | null | undefined;
1994
- multi_select?: boolean | undefined;
1995
- }[] | undefined;
1996
- sourceTool?: string | null | undefined;
1997
- timeoutAt?: string | null | undefined;
1998
- }[] | undefined;
1999
2131
  candidates?: {
2000
2132
  harnessId: string;
2001
2133
  attemptId: string;