@claudexor/schema 5.0.2 → 6.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 (281) hide show
  1. package/dist/account-routing-evidence.d.ts +324 -0
  2. package/dist/account-routing-evidence.d.ts.map +1 -1
  3. package/dist/account-routing-evidence.js +27 -2
  4. package/dist/account-routing-evidence.js.map +1 -1
  5. package/dist/agent-capabilities.d.ts +3 -0
  6. package/dist/agent-capabilities.d.ts.map +1 -1
  7. package/dist/agent-capabilities.js +6 -2
  8. package/dist/agent-capabilities.js.map +1 -1
  9. package/dist/attachment.d.ts +103 -6
  10. package/dist/attachment.d.ts.map +1 -1
  11. package/dist/attachment.js +32 -6
  12. package/dist/attachment.js.map +1 -1
  13. package/dist/attempt-execution.d.ts +23 -0
  14. package/dist/attempt-execution.d.ts.map +1 -1
  15. package/dist/attempt-execution.js +2 -0
  16. package/dist/attempt-execution.js.map +1 -1
  17. package/dist/browser-evidence.d.ts +85 -0
  18. package/dist/browser-evidence.d.ts.map +1 -0
  19. package/dist/browser-evidence.js +72 -0
  20. package/dist/browser-evidence.js.map +1 -0
  21. package/dist/config.d.ts.map +1 -1
  22. package/dist/config.js +1 -1
  23. package/dist/config.js.map +1 -1
  24. package/dist/control-gc.d.ts +30 -0
  25. package/dist/control-gc.d.ts.map +1 -1
  26. package/dist/control-gc.js +28 -1
  27. package/dist/control-gc.js.map +1 -1
  28. package/dist/control-harness-list.d.ts +34 -0
  29. package/dist/control-harness-list.d.ts.map +1 -1
  30. package/dist/control-harness-models.d.ts +122 -0
  31. package/dist/control-harness-models.d.ts.map +1 -1
  32. package/dist/control-harness-models.js +2 -0
  33. package/dist/control-harness-models.js.map +1 -1
  34. package/dist/control-operation-responses.d.ts +459 -36
  35. package/dist/control-operation-responses.d.ts.map +1 -1
  36. package/dist/control-operation-responses.js +11 -2
  37. package/dist/control-operation-responses.js.map +1 -1
  38. package/dist/control-pending-interaction.d.ts +96 -0
  39. package/dist/control-pending-interaction.d.ts.map +1 -0
  40. package/dist/control-pending-interaction.js +42 -0
  41. package/dist/control-pending-interaction.js.map +1 -0
  42. package/dist/control-process-scope.d.ts +34 -0
  43. package/dist/control-process-scope.d.ts.map +1 -1
  44. package/dist/control-process-scope.js +13 -0
  45. package/dist/control-process-scope.js.map +1 -1
  46. package/dist/control-run-detail.d.ts +877 -89
  47. package/dist/control-run-detail.d.ts.map +1 -1
  48. package/dist/control-run-detail.js +2 -1
  49. package/dist/control-run-detail.js.map +1 -1
  50. package/dist/control-run-failure.d.ts +40 -6
  51. package/dist/control-run-failure.d.ts.map +1 -1
  52. package/dist/control-run-failure.js +34 -3
  53. package/dist/control-run-failure.js.map +1 -1
  54. package/dist/control-run-message.js +1 -1
  55. package/dist/control-run-message.js.map +1 -1
  56. package/dist/control-trust.d.ts +8 -0
  57. package/dist/control-trust.d.ts.map +1 -1
  58. package/dist/control-trust.js +4 -0
  59. package/dist/control-trust.js.map +1 -1
  60. package/dist/control-web-evidence.d.ts +125 -0
  61. package/dist/control-web-evidence.d.ts.map +1 -0
  62. package/dist/control-web-evidence.js +109 -0
  63. package/dist/control-web-evidence.js.map +1 -0
  64. package/dist/control.d.ts +322 -179
  65. package/dist/control.d.ts.map +1 -1
  66. package/dist/control.js +52 -75
  67. package/dist/control.js.map +1 -1
  68. package/dist/credential-profile-snapshot.d.ts +136 -0
  69. package/dist/credential-profile-snapshot.d.ts.map +1 -1
  70. package/dist/credential-profile.d.ts +4 -3
  71. package/dist/credential-profile.d.ts.map +1 -1
  72. package/dist/credential-profile.js +4 -3
  73. package/dist/credential-profile.js.map +1 -1
  74. package/dist/decision.d.ts +9 -9
  75. package/dist/decision.d.ts.map +1 -1
  76. package/dist/decision.js +2 -0
  77. package/dist/decision.js.map +1 -1
  78. package/dist/deferred-message.d.ts +646 -0
  79. package/dist/deferred-message.d.ts.map +1 -1
  80. package/dist/deferred-message.js +16 -2
  81. package/dist/deferred-message.js.map +1 -1
  82. package/dist/events.d.ts +6 -6
  83. package/dist/events.d.ts.map +1 -1
  84. package/dist/events.js +1 -0
  85. package/dist/events.js.map +1 -1
  86. package/dist/harness-confinement.js +1 -1
  87. package/dist/harness-confinement.js.map +1 -1
  88. package/dist/harness-input.d.ts +12 -0
  89. package/dist/harness-input.d.ts.map +1 -1
  90. package/dist/harness-input.js +11 -1
  91. package/dist/harness-input.js.map +1 -1
  92. package/dist/harness-interaction.d.ts +32 -0
  93. package/dist/harness-interaction.d.ts.map +1 -1
  94. package/dist/harness-interaction.js +47 -0
  95. package/dist/harness-interaction.js.map +1 -1
  96. package/dist/harness-maintenance.d.ts +3561 -717
  97. package/dist/harness-maintenance.d.ts.map +1 -1
  98. package/dist/harness-maintenance.js +107 -111
  99. package/dist/harness-maintenance.js.map +1 -1
  100. package/dist/harness-program.d.ts +2164 -0
  101. package/dist/harness-program.d.ts.map +1 -0
  102. package/dist/harness-program.js +110 -0
  103. package/dist/harness-program.js.map +1 -0
  104. package/dist/harness.d.ts +162 -19
  105. package/dist/harness.d.ts.map +1 -1
  106. package/dist/harness.js +25 -15
  107. package/dist/harness.js.map +1 -1
  108. package/dist/index.d.ts +6 -0
  109. package/dist/index.d.ts.map +1 -1
  110. package/dist/index.js +6 -0
  111. package/dist/index.js.map +1 -1
  112. package/dist/mcp-run-result.d.ts +453 -50
  113. package/dist/mcp-run-result.d.ts.map +1 -1
  114. package/dist/mcp-run-wait.d.ts +131 -0
  115. package/dist/mcp-run-wait.d.ts.map +1 -1
  116. package/dist/mcp-run-wait.js +3 -2
  117. package/dist/mcp-run-wait.js.map +1 -1
  118. package/dist/model-operation.d.ts +107 -0
  119. package/dist/model-operation.d.ts.map +1 -1
  120. package/dist/model-operation.js +3 -0
  121. package/dist/model-operation.js.map +1 -1
  122. package/dist/operation.d.ts +1 -1
  123. package/dist/operation.d.ts.map +1 -1
  124. package/dist/operation.js +1 -1
  125. package/dist/operation.js.map +1 -1
  126. package/dist/process-scope.d.ts +154 -0
  127. package/dist/process-scope.d.ts.map +1 -1
  128. package/dist/process-scope.js +16 -1
  129. package/dist/process-scope.js.map +1 -1
  130. package/dist/quota.d.ts +15 -0
  131. package/dist/quota.d.ts.map +1 -1
  132. package/dist/quota.js +15 -0
  133. package/dist/quota.js.map +1 -1
  134. package/dist/rate-limit.d.ts +3 -0
  135. package/dist/rate-limit.d.ts.map +1 -1
  136. package/dist/rate-limit.js +4 -0
  137. package/dist/rate-limit.js.map +1 -1
  138. package/dist/raw.d.ts.map +1 -1
  139. package/dist/raw.js +11 -5
  140. package/dist/raw.js.map +1 -1
  141. package/dist/readiness.d.ts +26 -0
  142. package/dist/readiness.d.ts.map +1 -1
  143. package/dist/route-controls.d.ts +49 -0
  144. package/dist/route-controls.d.ts.map +1 -0
  145. package/dist/route-controls.js +53 -0
  146. package/dist/route-controls.js.map +1 -0
  147. package/dist/route-health.d.ts +23 -23
  148. package/dist/route-health.js +1 -1
  149. package/dist/route-health.js.map +1 -1
  150. package/dist/run-continuation.d.ts +6 -6
  151. package/dist/run-continuity.d.ts +7 -7
  152. package/dist/run-continuity.d.ts.map +1 -1
  153. package/dist/run-continuity.js +2 -1
  154. package/dist/run-continuity.js.map +1 -1
  155. package/dist/run-facts.d.ts +5 -5
  156. package/dist/run-facts.js +1 -1
  157. package/dist/run-facts.js.map +1 -1
  158. package/dist/run-observation.d.ts +70 -0
  159. package/dist/run-observation.d.ts.map +1 -1
  160. package/dist/run-observation.js +31 -12
  161. package/dist/run-observation.js.map +1 -1
  162. package/dist/status-projection.d.ts +3 -2
  163. package/dist/status-projection.d.ts.map +1 -1
  164. package/dist/status-projection.js +5 -2
  165. package/dist/status-projection.js.map +1 -1
  166. package/dist/task-group.d.ts +3 -0
  167. package/dist/task-group.d.ts.map +1 -1
  168. package/dist/task-group.js +11 -1
  169. package/dist/task-group.js.map +1 -1
  170. package/dist/task.d.ts +2 -2
  171. package/dist/task.d.ts.map +1 -1
  172. package/dist/task.js +4 -4
  173. package/dist/task.js.map +1 -1
  174. package/dist/telemetry.d.ts +658 -117
  175. package/dist/telemetry.d.ts.map +1 -1
  176. package/dist/telemetry.js +19 -88
  177. package/dist/telemetry.js.map +1 -1
  178. package/dist/thread-export.d.ts +847 -0
  179. package/dist/thread-export.d.ts.map +1 -0
  180. package/dist/thread-export.js +238 -0
  181. package/dist/thread-export.js.map +1 -0
  182. package/dist/thread-history.d.ts +356 -132
  183. package/dist/thread-history.d.ts.map +1 -1
  184. package/dist/thread.d.ts +72 -6
  185. package/dist/thread.d.ts.map +1 -1
  186. package/dist/thread.js +19 -3
  187. package/dist/thread.js.map +1 -1
  188. package/dist/tool-ref.d.ts +172 -21
  189. package/dist/tool-ref.d.ts.map +1 -1
  190. package/dist/tool-ref.js +114 -29
  191. package/dist/tool-ref.js.map +1 -1
  192. package/dist/web-evidence.d.ts +91 -0
  193. package/dist/web-evidence.d.ts.map +1 -0
  194. package/dist/web-evidence.js +77 -0
  195. package/dist/web-evidence.js.map +1 -0
  196. package/dist/workspace.js +1 -1
  197. package/dist/workspace.js.map +1 -1
  198. package/generated/AgentCapabilityCatalog.schema.json +20 -2
  199. package/generated/AttemptExecutionEvidence.schema.json +35 -0
  200. package/generated/ConformanceReport.schema.json +26 -0
  201. package/generated/ControlAccountRoutingEvidenceResponse.schema.json +61 -1
  202. package/generated/ControlCredentialProfilesQueryResponse.schema.json +28 -2
  203. package/generated/ControlCredentialProfilesResourcesResponse.schema.json +28 -2
  204. package/generated/ControlCredentialProfilesSnapshotResponse.schema.json +28 -2
  205. package/generated/ControlGcLastResponse.schema.json +22 -0
  206. package/generated/ControlGcReceipt.schema.json +13 -1
  207. package/generated/ControlHarnessAccountCatalog.schema.json +27 -0
  208. package/generated/ControlHarnessAccountModelsResponse.schema.json +27 -0
  209. package/generated/ControlHarnessListResponse.schema.json +28 -2
  210. package/generated/ControlHarnessMaintenanceCreateRequest.schema.json +2 -28
  211. package/generated/ControlHarnessMaintenanceInventory.schema.json +547 -184
  212. package/generated/ControlHarnessMaintenanceOperation.schema.json +211 -63
  213. package/generated/ControlHarnessModelsQueryResponse.schema.json +30 -0
  214. package/generated/ControlHarnessModelsResponse.schema.json +27 -0
  215. package/generated/ControlModelAccountCatalogResponse.schema.json +27 -0
  216. package/generated/ControlModelCatalogQueryResponse.schema.json +27 -0
  217. package/generated/ControlModelCatalogResponse.schema.json +27 -0
  218. package/generated/ControlPendingInteraction.schema.json +10 -1
  219. package/generated/ControlQueuedRunInfo.schema.json +1 -1
  220. package/generated/ControlResource.schema.json +5 -0
  221. package/generated/ControlResourceRelease.schema.json +44 -0
  222. package/generated/ControlResourceReleaseRequest.schema.json +27 -0
  223. package/generated/ControlRetainedEnvelope.schema.json +2 -1
  224. package/generated/ControlRouteHealth.schema.json +13 -1
  225. package/generated/ControlRunControlResponse.schema.json +41 -3
  226. package/generated/ControlRunDecisionRequest.schema.json +8 -2
  227. package/generated/ControlRunDecisionResponse.schema.json +4 -3
  228. package/generated/ControlRunDetail.schema.json +403 -11
  229. package/generated/ControlRunListResponse.schema.json +317 -7
  230. package/generated/ControlRunMessageResponse.schema.json +1 -1
  231. package/generated/ControlRunRetryResponse.schema.json +1 -1
  232. package/generated/ControlRunStartInfo.schema.json +1 -1
  233. package/generated/ControlRunStartResponse.schema.json +2 -2
  234. package/generated/ControlRunSummary.schema.json +317 -7
  235. package/generated/ControlThreadDetail.schema.json +6 -0
  236. package/generated/ControlThreadTurnResponse.schema.json +9 -0
  237. package/generated/ControlTrustListResponse.schema.json +8 -0
  238. package/generated/ControlTrustState.schema.json +8 -0
  239. package/generated/ControlUploadImport.schema.json +12 -2
  240. package/generated/ControlUploadImportRequest.schema.json +5 -0
  241. package/generated/DecisionRecord.schema.json +1 -0
  242. package/generated/DeferredMessageDetail.schema.json +43 -7
  243. package/generated/DeferredMessageProjection.schema.json +41 -3
  244. package/generated/DeferredMessageReadResult.schema.json +42 -4
  245. package/generated/DeferredMessageReceipt.schema.json +41 -3
  246. package/generated/EnvelopeCustody.schema.json +3 -2
  247. package/generated/GlobalConfig.schema.json +1 -1
  248. package/generated/HarnessEvent.schema.json +181 -4
  249. package/generated/HarnessManifest.schema.json +28 -2
  250. package/generated/HarnessProgram.schema.json +278 -0
  251. package/generated/HarnessProgramIdentity.schema.json +25 -0
  252. package/generated/HarnessStatusDto.schema.json +28 -2
  253. package/generated/McpAccountsToolResult.schema.json +88 -2
  254. package/generated/McpRunHandleResult.schema.json +141 -6
  255. package/generated/McpRunToolResult.schema.json +140 -6
  256. package/generated/McpRunWaitResult.schema.json +52 -5
  257. package/generated/McpThreadTurnResult.schema.json +9 -0
  258. package/generated/NativeProgramEvidence.schema.json +38 -0
  259. package/generated/RawContextPacket.schema.json +6 -4
  260. package/generated/RawGitPatchEnvelope.schema.json +1 -1
  261. package/generated/RoutePoolDegradedPayload.schema.json +2 -1
  262. package/generated/RunContinuityReceipt.schema.json +2 -1
  263. package/generated/RunFacts.schema.json +1 -0
  264. package/generated/RunFailure.schema.json +62 -2
  265. package/generated/RunResumable.schema.json +2 -1
  266. package/generated/RunTelemetry.schema.json +323 -7
  267. package/generated/RunWaitManyInput.schema.json +4 -0
  268. package/generated/RunWaitManyResult.schema.json +30 -0
  269. package/generated/SelectedHarnessProgram.schema.json +56 -0
  270. package/generated/TaskContract.schema.json +3 -3
  271. package/generated/TaskGroupReceipt.schema.json +1 -1
  272. package/generated/Thread.schema.json +41 -0
  273. package/generated/ThreadExportManifest.schema.json +461 -0
  274. package/generated/ThreadExportReceipt.schema.json +94 -0
  275. package/generated/ThreadHistoryPage.schema.json +71 -2
  276. package/generated/ThreadRetireAbandonRequest.schema.json +21 -0
  277. package/generated/ThreadRetireRequest.schema.json +41 -0
  278. package/generated/ThreadRetirement.schema.json +175 -0
  279. package/generated/ThreadTurn.schema.json +1 -1
  280. package/generated/WorkspaceEnvelope.schema.json +1 -1
  281. package/package.json +2 -2
@@ -124,13 +124,14 @@
124
124
  "transport",
125
125
  "permission_denied",
126
126
  "context_exhausted",
127
+ "turn_limit",
127
128
  "wall_clock",
128
129
  "cancelled",
129
130
  "host_restart",
130
131
  "input_required",
131
132
  "other"
132
133
  ],
133
- "description": "Typed reason the previous process stopped: a vendor limit (next account eligible), the whole pool spent, a pinned account's limit, a transport death (crash, timeout, watchdog), a confirmed native tool permission refusal, context exhaustion, the wall-clock deadline, a cancel, a daemon/host restart, a model that asked for input, or another typed cause."
134
+ "description": "Typed reason the previous process stopped: a vendor limit (next account eligible), the whole pool spent, a pinned account's limit, an error without a typed cause (`transport`: a crash, an inactivity timeout or a harness-reported error; not proof that a process died or the network failed), a confirmed native tool permission refusal, context exhaustion, the run's max-turns cap, the wall-clock deadline, a cancel, a daemon/host restart, a model that asked for input, or another typed cause."
134
135
  },
135
136
  "resetsAt": {
136
137
  "type": [
@@ -520,6 +521,17 @@
520
521
  {
521
522
  "type": "object",
522
523
  "properties": {
524
+ "lastVendorError": {
525
+ "anyOf": [
526
+ {
527
+ "type": "string",
528
+ "maxLength": 1000
529
+ },
530
+ {
531
+ "type": "null"
532
+ }
533
+ ]
534
+ },
523
535
  "requestRefusal": {
524
536
  "anyOf": [
525
537
  {
@@ -658,9 +670,41 @@
658
670
  "reported_source"
659
671
  ],
660
672
  "additionalProperties": false
673
+ },
674
+ {
675
+ "type": "object",
676
+ "properties": {
677
+ "kind": {
678
+ "type": "string",
679
+ "const": "vendor_not_retryable"
680
+ },
681
+ "source": {
682
+ "type": "string",
683
+ "const": "agy_stderr"
684
+ },
685
+ "error_id": {
686
+ "anyOf": [
687
+ {
688
+ "type": "string",
689
+ "minLength": 1,
690
+ "maxLength": 128
691
+ },
692
+ {
693
+ "type": "null"
694
+ }
695
+ ],
696
+ "description": "The vendor's own error id from the same record, verbatim; null when absent."
697
+ }
698
+ },
699
+ "required": [
700
+ "kind",
701
+ "source",
702
+ "error_id"
703
+ ],
704
+ "additionalProperties": false
661
705
  }
662
706
  ],
663
- "description": "Vendor-attested request refusal that stops retries and account rotation on its harness; input, executable and credential-source causes carry their own evidence."
707
+ "description": "Vendor-attested request refusal that stops retries and account rotation on its harness; input, executable and credential-source causes and an explicit vendor not-retryable verdict carry their own evidence."
664
708
  },
665
709
  "rawContextShortfall": {
666
710
  "type": "object",
@@ -911,8 +955,20 @@
911
955
  "raw_context_mandatory_unavailable",
912
956
  "raw_context_exceeds_window",
913
957
  "model_catalog_unavailable",
958
+ "model_selection_required",
959
+ "raw_patch_requires_isolation",
960
+ "raw_patch_missing_evidence",
961
+ "raw_patch_digest_mismatch",
962
+ "raw_patch_base_mismatch",
963
+ "raw_patch_path_traversal",
964
+ "raw_patch_outside_scope",
965
+ "raw_patch_stale_preimage",
966
+ "raw_patch_binary_unsupported",
967
+ "raw_patch_truncated",
968
+ "raw_patch_apply_failed",
914
969
  "vendor_cli_too_old",
915
970
  "credential_source_unconfirmed",
971
+ "vendor_not_retryable",
916
972
  "delegated_home_unavailable",
917
973
  "delegated_confinement_unavailable",
918
974
  "delegated_evidence_incomplete",
@@ -1041,7 +1097,7 @@
1041
1097
  "threshold"
1042
1098
  ],
1043
1099
  "additionalProperties": false,
1044
- "description": "Present when quota admission refused the account (code subscription_window_exhausted): separates the owner's saved reserve from provider exhaustion. Absent on other failures and on records written before this field existed."
1100
+ "description": "Present when quota admission or a typed provider limit refused the account: with code subscription_window_exhausted it separates the owner's saved reserve from provider exhaustion; with a null code the provider refused usage and no reopening time is known, so no timer is implied. Absent on other failures and on records written before this field existed."
1045
1101
  },
1046
1102
  "vendorFailure": {
1047
1103
  "anyOf": [
@@ -1100,6 +1156,11 @@
1100
1156
  "items": {
1101
1157
  "type": "object",
1102
1158
  "properties": {
1159
+ "lastVendorError": {
1160
+ "type": "string",
1161
+ "maxLength": 1000,
1162
+ "description": "Last vendor diagnostic line, bounded and redacted; never classified."
1163
+ },
1103
1164
  "harnessId": {
1104
1165
  "type": "string",
1105
1166
  "minLength": 1,
@@ -1687,7 +1748,7 @@
1687
1748
  },
1688
1749
  "effectiveAccess": {
1689
1750
  "$ref": "#/definitions/ControlRunListResponse/properties/runs/items/properties/access",
1690
- "description": "Access profile actually enforced by the engine."
1751
+ "description": "Access profile the engine resolved and passed to its routes; routeControls names each route's native setting."
1691
1752
  },
1692
1753
  "externalContextPolicy": {
1693
1754
  "type": "string",
@@ -1705,7 +1766,7 @@
1705
1766
  },
1706
1767
  "webMode": {
1707
1768
  "$ref": "#/definitions/ControlRunListResponse/properties/runs/items/properties/externalContextPolicy",
1708
- "description": "Web policy actually executed by the selected route."
1769
+ "description": "Web policy given to the selected route, after disclosed upgrades; not proof that a native session ran."
1709
1770
  },
1710
1771
  "webEvidence": {
1711
1772
  "type": "object",
@@ -1723,12 +1784,12 @@
1723
1784
  "effectiveMode": {
1724
1785
  "$ref": "#/definitions/ControlRunListResponse/properties/runs/items/properties/externalContextPolicy",
1725
1786
  "default": "auto",
1726
- "description": "Policy the selected route actually executed (disclosed upgrades, e.g. cached to live)."
1787
+ "description": "Policy given to the selected route, after disclosed upgrades (e.g. cached to live); not proof that a native session ran."
1727
1788
  },
1728
1789
  "attempted": {
1729
1790
  "type": "boolean",
1730
1791
  "default": false,
1731
- "description": "Whether any web activity was attempted."
1792
+ "description": "Whether a web tool call or engine Browser call was observed; not a network measurement."
1732
1793
  },
1733
1794
  "satisfied": {
1734
1795
  "type": "boolean",
@@ -1747,6 +1808,62 @@
1747
1808
  "default": "none",
1748
1809
  "description": "Observed web status; satisfied does not prove retrieved content was verified."
1749
1810
  },
1811
+ "verification": {
1812
+ "type": "string",
1813
+ "enum": [
1814
+ "verified",
1815
+ "dispatched",
1816
+ "none"
1817
+ ],
1818
+ "default": "none",
1819
+ "description": "Retrieval-proof strength: verified when a typed result shows a retrieval (verifiedContent says of what); dispatched when a web call completed without one; none when no search or page retrieval was observed, though a Browser action may have completed."
1820
+ },
1821
+ "verifiedContent": {
1822
+ "anyOf": [
1823
+ {
1824
+ "type": "string",
1825
+ "enum": [
1826
+ "page",
1827
+ "search_results"
1828
+ ]
1829
+ },
1830
+ {
1831
+ "type": "null"
1832
+ }
1833
+ ],
1834
+ "default": null,
1835
+ "description": "What the verified retrieval returned: page (a fetched or loaded page) or search_results (a web search's results, not a fetched page); null when nothing was verified or the engine did not record it."
1836
+ },
1837
+ "observation": {
1838
+ "anyOf": [
1839
+ {
1840
+ "type": "object",
1841
+ "properties": {
1842
+ "evidence": {
1843
+ "type": "string",
1844
+ "const": "tool_calls",
1845
+ "description": "Web evidence comes from typed web tool calls and engine Browser MCP calls."
1846
+ },
1847
+ "network": {
1848
+ "type": "string",
1849
+ "const": "not_measured",
1850
+ "description": "Process network traffic is not measured: vendor API traffic, shell commands and other tools can use the network without appearing here."
1851
+ }
1852
+ },
1853
+ "required": [
1854
+ "evidence",
1855
+ "network"
1856
+ ],
1857
+ "additionalProperties": false,
1858
+ "description": "Scope of the web evidence: observed tool calls only, never a network measurement."
1859
+ },
1860
+ {
1861
+ "type": "null"
1862
+ }
1863
+ ],
1864
+ "description": "What the evidence covers (tool calls; network not measured); null when no telemetry was recorded.",
1865
+ "default": null
1866
+ },
1750
1867
  "tool": {
1751
1868
  "type": [
1752
1869
  "string",
@@ -1789,6 +1906,141 @@
1789
1906
  "description": "Web evidence projected onto a run summary from the telemetry artifact.",
1790
1907
  "default": {}
1791
1908
  },
1909
+ "routeControls": {
1910
+ "type": "array",
1911
+ "items": {
1912
+ "type": "object",
1913
+ "properties": {
1914
+ "harnessId": {
1915
+ "type": "string",
1916
+ "description": "Harness of the route."
1917
+ },
1918
+ "webMode": {
1919
+ "type": "string",
1920
+ "enum": [
1921
+ "off",
1922
+ "auto",
1923
+ "cached",
1924
+ "live"
1925
+ ],
1926
+ "description": "Web policy given to the route."
1927
+ },
1928
+ "webMechanism": {
1929
+ "type": "string",
1930
+ "enum": [
1931
+ "native",
1932
+ "tools",
1933
+ "uncontrolled",
1934
+ "none"
1935
+ ],
1936
+ "description": "How the route's own web tools are switched."
1937
+ },
1938
+ "browser": {
1939
+ "type": "boolean",
1940
+ "description": "Whether the engine Browser MCP was handed to the route (prepared; not a connection)."
1941
+ },
1942
+ "browserStartup": {
1943
+ "anyOf": [
1944
+ {
1945
+ "type": "object",
1946
+ "properties": {
1947
+ "status": {
1948
+ "type": "string",
1949
+ "enum": [
1950
+ "ready",
1951
+ "failed",
1952
+ "cancelled",
1953
+ "starting",
1954
+ "not_observed"
1955
+ ],
1956
+ "description": "Startup state when the first model request was allowed: ready (Codex reported the server started), failed, cancelled, starting (still starting when the hold ended: Codex's 90 s limit plus a 5 s grace for its status), or not_observed (no startup status at all)."
1957
+ },
1958
+ "waitedMs": {
1959
+ "type": "integer",
1960
+ "minimum": 0,
1961
+ "description": "How long the first model request was held for this outcome."
1962
+ },
1963
+ "error": {
1964
+ "type": [
1965
+ "string",
1966
+ "null"
1967
+ ],
1968
+ "description": "The vendor's own reason for a failed or cancelled startup, masked."
1969
+ }
1970
+ },
1971
+ "required": [
1972
+ "status",
1973
+ "waitedMs",
1974
+ "error"
1975
+ ],
1976
+ "additionalProperties": false,
1977
+ "description": "The selected Browser's reported startup outcome on one route (#215)."
1978
+ },
1979
+ {
1980
+ "type": "null"
1981
+ }
1982
+ ],
1983
+ "description": "The Browser's startup as the route reported it before the first model request; null when it reported none, so an armed Browser was only prepared.",
1984
+ "default": null
1985
+ },
1986
+ "access": {
1987
+ "type": "string",
1988
+ "enum": [
1989
+ "readonly",
1990
+ "workspace_write",
1991
+ "full",
1992
+ "inherit_native"
1993
+ ],
1994
+ "description": "Access profile handed to the route."
1995
+ },
1996
+ "nativeAccess": {
1997
+ "type": [
1998
+ "string",
1999
+ "null"
2000
+ ],
2001
+ "description": "The vendor access setting prepared for the route; null when none or undisclosed."
2002
+ },
2003
+ "accessMechanism": {
2004
+ "type": "string",
2005
+ "enum": [
2006
+ "fs_sandbox",
2007
+ "permission_deny",
2008
+ "tool_allowlist",
2009
+ "tool_policy",
2010
+ "native_settings",
2011
+ "none"
2012
+ ],
2013
+ "description": "How the route's access profile reaches the harness: fs_sandbox (the vendor's own file-system sandbox, as the vendor applies it), permission_deny, tool_allowlist or tool_policy (vendor tool permissions; the manifest declares no OS file boundary), native_settings (inherit_native: Claudexor passes no access profile, so the harness's own configuration decides and what it confines is unknown here), or none (full access, or a route that declares no control)."
2014
+ },
2015
+ "nativeSessionStarted": {
2016
+ "type": "boolean",
2017
+ "description": "Whether an adapter reported a native session started under these controls. False means none was observed (refused before launch, or stopped or ended before a start was reported); it does not prove that no process ran."
2018
+ },
2019
+ "homeScoped": {
2020
+ "type": [
2021
+ "boolean",
2022
+ "null"
2023
+ ],
2024
+ "description": "Applied HOME fact: true when the engine assigned the child a Claudexor-owned HOME, false when the engine did not replace HOME, so the child inherits the engine's own environment; null when the route recorded none."
2025
+ }
2026
+ },
2027
+ "required": [
2028
+ "harnessId",
2029
+ "webMode",
2030
+ "webMechanism",
2031
+ "browser",
2032
+ "access",
2033
+ "nativeAccess",
2034
+ "accessMechanism",
2035
+ "nativeSessionStarted",
2036
+ "homeScoped"
2037
+ ],
2038
+ "additionalProperties": false,
2039
+ "description": "Native web and access controls prepared for one route of the run; Claudexor adds no outer boundary."
2040
+ },
2041
+ "default": [],
2042
+ "description": "Distinct routes of the run: the native web/access controls prepared for each and whether a native session was reported started."
2043
+ },
1792
2044
  "requestRequirements": {
1793
2045
  "type": "array",
1794
2046
  "items": {
@@ -2053,6 +2305,7 @@
2053
2305
  "input_required",
2054
2306
  "work_incomplete",
2055
2307
  "context_capacity_exhausted",
2308
+ "turn_limit_reached",
2056
2309
  "work_report_contract"
2057
2310
  ],
2058
2311
  "description": "Typed reason qualifying a non-clean terminal; null on a clean success."
@@ -2172,6 +2425,11 @@
2172
2425
  "default": false,
2173
2426
  "description": "True while at least one interactive question awaits answer, timeout, run-terminal, or interruption release."
2174
2427
  },
2428
+ "asyncQuestionsOnly": {
2429
+ "type": "boolean",
2430
+ "default": false,
2431
+ "description": "True while questions are pending and every one is async: the agent keeps working and the questions are attention only. False when none is pending or any pending question is blocking."
2432
+ },
2175
2433
  "processScope": {
2176
2434
  "anyOf": [
2177
2435
  {
@@ -2234,6 +2492,58 @@
2234
2492
  "description": "Compact process-scope outcome from final/process_scope.yaml (settled, coverage, completeness, survivors, unreadable, census). Always present in this engine's responses: null means unknown (the run is live, or the record is missing, unreadable or invalid), never clean. Engines that predate the field omit the key, which is equally unknown.",
2235
2493
  "default": null
2236
2494
  },
2495
+ "processScopeLater": {
2496
+ "anyOf": [
2497
+ {
2498
+ "type": "object",
2499
+ "properties": {
2500
+ "settled": {
2501
+ "$ref": "#/definitions/ControlRunListResponse/properties/runs/items/properties/processScope/anyOf/0/properties/settled"
2502
+ },
2503
+ "coverage": {
2504
+ "$ref": "#/definitions/ControlRunListResponse/properties/runs/items/properties/processScope/anyOf/0/properties/coverage"
2505
+ },
2506
+ "completeness": {
2507
+ "$ref": "#/definitions/ControlRunListResponse/properties/runs/items/properties/processScope/anyOf/0/properties/completeness"
2508
+ },
2509
+ "census": {
2510
+ "$ref": "#/definitions/ControlRunListResponse/properties/runs/items/properties/processScope/anyOf/0/properties/census"
2511
+ },
2512
+ "survivors": {
2513
+ "$ref": "#/definitions/ControlRunListResponse/properties/runs/items/properties/processScope/anyOf/0/properties/survivors"
2514
+ },
2515
+ "unreadable": {
2516
+ "$ref": "#/definitions/ControlRunListResponse/properties/runs/items/properties/processScope/anyOf/0/properties/unreadable"
2517
+ },
2518
+ "attempt": {
2519
+ "type": "integer",
2520
+ "exclusiveMinimum": 0
2521
+ },
2522
+ "at": {
2523
+ "type": "string",
2524
+ "minLength": 1
2525
+ }
2526
+ },
2527
+ "required": [
2528
+ "settled",
2529
+ "coverage",
2530
+ "completeness",
2531
+ "census",
2532
+ "survivors",
2533
+ "unreadable",
2534
+ "attempt",
2535
+ "at"
2536
+ ],
2537
+ "additionalProperties": false,
2538
+ "description": "Compact process-scope outcome of a terminal run (full artifact: final/process_scope.yaml)."
2539
+ },
2540
+ {
2541
+ "type": "null"
2542
+ }
2543
+ ],
2544
+ "description": "Latest later, separately bounded settlement attempt of this finished run's scope (final/process_scope_later.yaml), beside the unchanged terminal processScope. Null when none ran or it is unreadable: unknown, never clean.",
2545
+ "default": null
2546
+ },
2237
2547
  "route": {
2238
2548
  "anyOf": [
2239
2549
  {
@@ -35,7 +35,7 @@
35
35
  "transport_lost",
36
36
  "response_timeout"
37
37
  ],
38
- "description": "Why the outcome is not delivered: no_active_turn (the harness has no active native turn), run_terminal, attempt_mismatch (expectedAttemptId is not the live attempt), no_live_session (no registered live attempt, no adapter channel, or no native session yet), multi_attempt (several live attempts and no expectedAttemptId), thread_bound (thread turns are not steerable in v1), interaction_pending (a question is open; the message was not sent), rpc_refused (the vendor refused the steer on a still-active turn), admission_persist_failed (the daemon could not journal admission; nothing was sent), transport_lost, response_timeout."
38
+ "description": "Why the outcome is not delivered: no_active_turn (the harness has no active native turn), run_terminal, attempt_mismatch (expectedAttemptId is not the live attempt), no_live_session (no registered live attempt, no adapter channel, or no native session yet), multi_attempt (several live attempts and no expectedAttemptId), thread_bound (thread turns are not steerable in v1), interaction_pending (a blocking question is open; the message was not sent), rpc_refused (the vendor refused the steer on a still-active turn), admission_persist_failed (the daemon could not journal admission; nothing was sent), transport_lost, response_timeout."
39
39
  },
40
40
  "runId": {
41
41
  "type": "string",
@@ -12,7 +12,7 @@
12
12
  "storeId": {
13
13
  "type": "string",
14
14
  "minLength": 1,
15
- "description": "Identity of the durable engine store that accepted this group member, stable across restarts."
15
+ "description": "Identity of the durable engine store that accepted this command, stable across restarts. A group member always carries it; an ordinary receipt carries it only for a request sending `X-Claudexor-Store-Identity: 1`, and it stays absent, meaning unknown, when the store has no identity to give."
16
16
  },
17
17
  "retryOf": {
18
18
  "type": "string",
@@ -12,7 +12,7 @@
12
12
  "storeId": {
13
13
  "type": "string",
14
14
  "minLength": 1,
15
- "description": "Identity of the durable engine store that accepted this group member, stable across restarts."
15
+ "description": "Identity of the durable engine store that accepted this command, stable across restarts. A group member always carries it; an ordinary receipt carries it only for a request sending `X-Claudexor-Store-Identity: 1`, and it stays absent, meaning unknown, when the store has no identity to give."
16
16
  },
17
17
  "jobId": {
18
18
  "type": "string",
@@ -14,7 +14,7 @@
14
14
  "storeId": {
15
15
  "type": "string",
16
16
  "minLength": 1,
17
- "description": "Identity of the durable engine store that accepted this group member, stable across restarts."
17
+ "description": "Identity of the durable engine store that accepted this command, stable across restarts. A group member always carries it; an ordinary receipt carries it only for a request sending `X-Claudexor-Store-Identity: 1`, and it stays absent, meaning unknown, when the store has no identity to give."
18
18
  },
19
19
  "jobId": {
20
20
  "type": "string",
@@ -49,7 +49,7 @@
49
49
  },
50
50
  "storeId": {
51
51
  "$ref": "#/definitions/ControlRunStartResponse/anyOf/0/properties/storeId",
52
- "description": "Identity of the durable engine store that accepted this group member, stable across restarts."
52
+ "description": "Identity of the durable engine store that accepted this command, stable across restarts. A group member always carries it; an ordinary receipt carries it only for a request sending `X-Claudexor-Store-Identity: 1`, and it stays absent, meaning unknown, when the store has no identity to give."
53
53
  },
54
54
  "jobId": {
55
55
  "type": "string",