@claudexor/schema 3.17.1 → 3.19.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 (80) hide show
  1. package/dist/agent-capabilities.d.ts +144 -0
  2. package/dist/agent-capabilities.d.ts.map +1 -1
  3. package/dist/agent-capabilities.js +2 -0
  4. package/dist/agent-capabilities.js.map +1 -1
  5. package/dist/control-harness-list.d.ts +76 -0
  6. package/dist/control-harness-list.d.ts.map +1 -1
  7. package/dist/control-operation-responses.d.ts +92 -75
  8. package/dist/control-operation-responses.d.ts.map +1 -1
  9. package/dist/control-operation-responses.js +2 -1
  10. package/dist/control-operation-responses.js.map +1 -1
  11. package/dist/control-run-detail.d.ts +241 -19
  12. package/dist/control-run-detail.d.ts.map +1 -1
  13. package/dist/control-run-failure.d.ts +48 -4
  14. package/dist/control-run-failure.d.ts.map +1 -1
  15. package/dist/control-run-failure.js +3 -0
  16. package/dist/control-run-failure.js.map +1 -1
  17. package/dist/control.d.ts +67 -5
  18. package/dist/control.d.ts.map +1 -1
  19. package/dist/control.js +1 -1
  20. package/dist/control.js.map +1 -1
  21. package/dist/credential-profile-snapshot.d.ts +173 -0
  22. package/dist/credential-profile-snapshot.d.ts.map +1 -1
  23. package/dist/credential-profile.d.ts +61 -0
  24. package/dist/credential-profile.d.ts.map +1 -1
  25. package/dist/credential-profile.js +29 -0
  26. package/dist/credential-profile.js.map +1 -1
  27. package/dist/harness-input.d.ts +90 -0
  28. package/dist/harness-input.d.ts.map +1 -0
  29. package/dist/harness-input.js +33 -0
  30. package/dist/harness-input.js.map +1 -0
  31. package/dist/harness.d.ts +128 -1
  32. package/dist/harness.d.ts.map +1 -1
  33. package/dist/harness.js +6 -2
  34. package/dist/harness.js.map +1 -1
  35. package/dist/mcp-run-result.d.ts +186 -10
  36. package/dist/mcp-run-result.d.ts.map +1 -1
  37. package/dist/mcp-run-result.js +17 -0
  38. package/dist/mcp-run-result.js.map +1 -1
  39. package/dist/model-operation.d.ts +31 -0
  40. package/dist/model-operation.d.ts.map +1 -1
  41. package/dist/model-operation.js +5 -1
  42. package/dist/model-operation.js.map +1 -1
  43. package/dist/readiness.d.ts +62 -0
  44. package/dist/readiness.d.ts.map +1 -1
  45. package/dist/setup.js +1 -1
  46. package/dist/setup.js.map +1 -1
  47. package/dist/surface-run-controls.d.ts.map +1 -1
  48. package/dist/surface-run-controls.js +3 -0
  49. package/dist/surface-run-controls.js.map +1 -1
  50. package/dist/telemetry.d.ts +106 -0
  51. package/dist/telemetry.d.ts.map +1 -1
  52. package/dist/telemetry.js +2 -1
  53. package/dist/telemetry.js.map +1 -1
  54. package/generated/AgentCapabilityCatalog.schema.json +61 -0
  55. package/generated/ControlCredentialProfileCreateResponse.schema.json +7 -0
  56. package/generated/ControlCredentialProfileUpdateResponse.schema.json +7 -0
  57. package/generated/ControlCredentialProfilesQueryResponse.schema.json +48 -0
  58. package/generated/ControlCredentialProfilesResponse.schema.json +7 -0
  59. package/generated/ControlCredentialProfilesSnapshotResponse.schema.json +48 -0
  60. package/generated/ControlHarnessListResponse.schema.json +41 -0
  61. package/generated/ControlModelAccountCatalogResponse.schema.json +7 -0
  62. package/generated/ControlModelCatalogQueryResponse.schema.json +7 -0
  63. package/generated/ControlModelCatalogResponse.schema.json +7 -0
  64. package/generated/ControlModelOperationDetail.schema.json +1 -1
  65. package/generated/ControlRunAgainDraft.schema.json +1 -1
  66. package/generated/ControlRunDetail.schema.json +63 -0
  67. package/generated/ControlRunListResponse.schema.json +63 -0
  68. package/generated/ControlRunStartRequest.schema.json +1 -1
  69. package/generated/ControlRunSummary.schema.json +63 -0
  70. package/generated/ControlThreadTurnRequest.schema.json +2 -3
  71. package/generated/CredentialProfileStatus.schema.json +7 -0
  72. package/generated/HarnessEvent.schema.json +62 -0
  73. package/generated/HarnessManifest.schema.json +41 -0
  74. package/generated/HarnessStatusDto.schema.json +41 -0
  75. package/generated/McpRunHandleResult.schema.json +63 -0
  76. package/generated/McpRunToolResult.schema.json +63 -0
  77. package/generated/McpThreadTurnResult.schema.json +82 -0
  78. package/generated/RunFailure.schema.json +63 -0
  79. package/generated/RunTelemetry.schema.json +62 -0
  80. package/package.json +3 -3
@@ -62,6 +62,67 @@
62
62
  "items": {
63
63
  "type": "object",
64
64
  "properties": {
65
+ "inputLimits": {
66
+ "type": "array",
67
+ "items": {
68
+ "type": "object",
69
+ "properties": {
70
+ "scope": {
71
+ "type": "string",
72
+ "const": "turn_text",
73
+ "description": "All text input items in one native turn; separate instructions are excluded."
74
+ },
75
+ "unit": {
76
+ "type": "string",
77
+ "const": "unicode_scalars"
78
+ },
79
+ "limit": {
80
+ "type": "integer",
81
+ "exclusiveMinimum": 0,
82
+ "minimum": -9007199254740991,
83
+ "maximum": 9007199254740991
84
+ },
85
+ "source": {
86
+ "type": "string",
87
+ "minLength": 1
88
+ },
89
+ "verified_against": {
90
+ "type": "string",
91
+ "minLength": 1,
92
+ "description": "Native runtime version against which the bound was observed."
93
+ },
94
+ "askPromptBudget": {
95
+ "type": "object",
96
+ "properties": {
97
+ "shape": {
98
+ "type": "string",
99
+ "const": "ordinary_initial_attempt",
100
+ "description": "Ordinary ASK initial attempt, including thread-turn continuity; excludes deep-scan and automatic continuation attempts."
101
+ },
102
+ "engineOverheadMax": {
103
+ "type": "integer",
104
+ "minimum": -9007199254740991,
105
+ "maximum": 9007199254740991
106
+ }
107
+ },
108
+ "required": [
109
+ "shape",
110
+ "engineOverheadMax"
111
+ ],
112
+ "additionalProperties": false
113
+ }
114
+ },
115
+ "required": [
116
+ "scope",
117
+ "unit",
118
+ "limit",
119
+ "source",
120
+ "verified_against"
121
+ ],
122
+ "additionalProperties": false,
123
+ "description": "Adapter-owned observed input bound, not a predictive refusal or a model-window claim."
124
+ }
125
+ },
65
126
  "processingPreferences": {
66
127
  "type": "array",
67
128
  "items": {
@@ -121,6 +121,13 @@
121
121
  "minimum": 0,
122
122
  "description": "Age in milliseconds of the bounded stale observation, when stale is true."
123
123
  },
124
+ "stale_basis": {
125
+ "type": "string",
126
+ "enum": [
127
+ "last_positive_after_timeout"
128
+ ],
129
+ "description": "Basis of a stale observation: last_positive_after_timeout = the status probe did not answer within its budget and this row store's last positive status answer, still inside its bounded interval, stands in; unpinned pool admission alone may consume it. Absent = the generic last-known-good grace, consumable only by an already selected route."
130
+ },
124
131
  "detail": {
125
132
  "type": "string",
126
133
  "description": "Redacted human-readable probe evidence."
@@ -121,6 +121,13 @@
121
121
  "minimum": 0,
122
122
  "description": "Age in milliseconds of the bounded stale observation, when stale is true."
123
123
  },
124
+ "stale_basis": {
125
+ "type": "string",
126
+ "enum": [
127
+ "last_positive_after_timeout"
128
+ ],
129
+ "description": "Basis of a stale observation: last_positive_after_timeout = the status probe did not answer within its budget and this row store's last positive status answer, still inside its bounded interval, stands in; unpinned pool admission alone may consume it. Absent = the generic last-known-good grace, consumable only by an already selected route."
130
+ },
124
131
  "detail": {
125
132
  "type": "string",
126
133
  "description": "Redacted human-readable probe evidence."
@@ -128,6 +128,13 @@
128
128
  "minimum": 0,
129
129
  "description": "Age in milliseconds of the bounded stale observation, when stale is true."
130
130
  },
131
+ "stale_basis": {
132
+ "type": "string",
133
+ "enum": [
134
+ "last_positive_after_timeout"
135
+ ],
136
+ "description": "Basis of a stale observation: last_positive_after_timeout = the status probe did not answer within its budget and this row store's last positive status answer, still inside its bounded interval, stands in; unpinned pool admission alone may consume it. Absent = the generic last-known-good grace, consumable only by an already selected route."
137
+ },
131
138
  "detail": {
132
139
  "type": "string",
133
140
  "description": "Redacted human-readable probe evidence."
@@ -746,6 +753,47 @@
746
753
  },
747
754
  "default": []
748
755
  },
756
+ "input_limits": {
757
+ "type": "array",
758
+ "items": {
759
+ "type": "object",
760
+ "properties": {
761
+ "scope": {
762
+ "type": "string",
763
+ "const": "turn_text",
764
+ "description": "All text input items in one native turn; separate instructions are excluded."
765
+ },
766
+ "unit": {
767
+ "type": "string",
768
+ "const": "unicode_scalars"
769
+ },
770
+ "limit": {
771
+ "type": "integer",
772
+ "exclusiveMinimum": 0,
773
+ "minimum": -9007199254740991,
774
+ "maximum": 9007199254740991
775
+ },
776
+ "source": {
777
+ "type": "string",
778
+ "minLength": 1
779
+ },
780
+ "verified_against": {
781
+ "type": "string",
782
+ "minLength": 1,
783
+ "description": "Native runtime version against which the bound was observed."
784
+ }
785
+ },
786
+ "required": [
787
+ "scope",
788
+ "unit",
789
+ "limit",
790
+ "source",
791
+ "verified_against"
792
+ ],
793
+ "additionalProperties": false,
794
+ "description": "Adapter-owned observed input bound, not a predictive refusal or a model-window claim."
795
+ }
796
+ },
749
797
  "mcp_injection": {
750
798
  "type": "boolean",
751
799
  "default": false,
@@ -126,6 +126,13 @@
126
126
  "minimum": 0,
127
127
  "description": "Age in milliseconds of the bounded stale observation, when stale is true."
128
128
  },
129
+ "stale_basis": {
130
+ "type": "string",
131
+ "enum": [
132
+ "last_positive_after_timeout"
133
+ ],
134
+ "description": "Basis of a stale observation: last_positive_after_timeout = the status probe did not answer within its budget and this row store's last positive status answer, still inside its bounded interval, stands in; unpinned pool admission alone may consume it. Absent = the generic last-known-good grace, consumable only by an already selected route."
135
+ },
129
136
  "detail": {
130
137
  "type": "string",
131
138
  "description": "Redacted human-readable probe evidence."
@@ -126,6 +126,13 @@
126
126
  "minimum": 0,
127
127
  "description": "Age in milliseconds of the bounded stale observation, when stale is true."
128
128
  },
129
+ "stale_basis": {
130
+ "type": "string",
131
+ "enum": [
132
+ "last_positive_after_timeout"
133
+ ],
134
+ "description": "Basis of a stale observation: last_positive_after_timeout = the status probe did not answer within its budget and this row store's last positive status answer, still inside its bounded interval, stands in; unpinned pool admission alone may consume it. Absent = the generic last-known-good grace, consumable only by an already selected route."
135
+ },
129
136
  "detail": {
130
137
  "type": "string",
131
138
  "description": "Redacted human-readable probe evidence."
@@ -725,6 +732,47 @@
725
732
  },
726
733
  "default": []
727
734
  },
735
+ "input_limits": {
736
+ "type": "array",
737
+ "items": {
738
+ "type": "object",
739
+ "properties": {
740
+ "scope": {
741
+ "type": "string",
742
+ "const": "turn_text",
743
+ "description": "All text input items in one native turn; separate instructions are excluded."
744
+ },
745
+ "unit": {
746
+ "type": "string",
747
+ "const": "unicode_scalars"
748
+ },
749
+ "limit": {
750
+ "type": "integer",
751
+ "exclusiveMinimum": 0,
752
+ "minimum": -9007199254740991,
753
+ "maximum": 9007199254740991
754
+ },
755
+ "source": {
756
+ "type": "string",
757
+ "minLength": 1
758
+ },
759
+ "verified_against": {
760
+ "type": "string",
761
+ "minLength": 1,
762
+ "description": "Native runtime version against which the bound was observed."
763
+ }
764
+ },
765
+ "required": [
766
+ "scope",
767
+ "unit",
768
+ "limit",
769
+ "source",
770
+ "verified_against"
771
+ ],
772
+ "additionalProperties": false,
773
+ "description": "Adapter-owned observed input bound, not a predictive refusal or a model-window claim."
774
+ }
775
+ },
728
776
  "mcp_injection": {
729
777
  "type": "boolean",
730
778
  "default": false,
@@ -360,6 +360,47 @@
360
360
  },
361
361
  "default": []
362
362
  },
363
+ "input_limits": {
364
+ "type": "array",
365
+ "items": {
366
+ "type": "object",
367
+ "properties": {
368
+ "scope": {
369
+ "type": "string",
370
+ "const": "turn_text",
371
+ "description": "All text input items in one native turn; separate instructions are excluded."
372
+ },
373
+ "unit": {
374
+ "type": "string",
375
+ "const": "unicode_scalars"
376
+ },
377
+ "limit": {
378
+ "type": "integer",
379
+ "exclusiveMinimum": 0,
380
+ "minimum": -9007199254740991,
381
+ "maximum": 9007199254740991
382
+ },
383
+ "source": {
384
+ "type": "string",
385
+ "minLength": 1
386
+ },
387
+ "verified_against": {
388
+ "type": "string",
389
+ "minLength": 1,
390
+ "description": "Native runtime version against which the bound was observed."
391
+ }
392
+ },
393
+ "required": [
394
+ "scope",
395
+ "unit",
396
+ "limit",
397
+ "source",
398
+ "verified_against"
399
+ ],
400
+ "additionalProperties": false,
401
+ "description": "Adapter-owned observed input bound, not a predictive refusal or a model-window claim."
402
+ }
403
+ },
363
404
  "mcp_injection": {
364
405
  "type": "boolean",
365
406
  "default": false,
@@ -206,6 +206,13 @@
206
206
  "type": "string"
207
207
  }
208
208
  },
209
+ "reasoningEffortPreferenceOrder": {
210
+ "type": "array",
211
+ "items": {
212
+ "$ref": "#/definitions/ControlModelAccountCatalogResponse/properties/accounts/items/properties/catalog/anyOf/0/properties/clientVersion/anyOf/0"
213
+ },
214
+ "description": "Internal vendor order for preference adaptation when it includes choices the raw transport cannot submit. Not accepted values; projected out of both public catalog views."
215
+ },
209
216
  "reasoningEffortsVerified": {
210
217
  "type": "boolean",
211
218
  "description": "Whether the provider supplied a fully parsed effort array, including a known empty array. Missing on historical catalogs means unverified."
@@ -124,6 +124,13 @@
124
124
  "type": "string"
125
125
  }
126
126
  },
127
+ "reasoningEffortPreferenceOrder": {
128
+ "type": "array",
129
+ "items": {
130
+ "$ref": "#/definitions/ControlModelCatalogQueryResponse/anyOf/0/properties/clientVersion/anyOf/0"
131
+ },
132
+ "description": "Internal vendor order for preference adaptation when it includes choices the raw transport cannot submit. Not accepted values; projected out of both public catalog views."
133
+ },
127
134
  "reasoningEffortsVerified": {
128
135
  "type": "boolean",
129
136
  "description": "Whether the provider supplied a fully parsed effort array, including a known empty array. Missing on historical catalogs means unverified."
@@ -122,6 +122,13 @@
122
122
  "type": "string"
123
123
  }
124
124
  },
125
+ "reasoningEffortPreferenceOrder": {
126
+ "type": "array",
127
+ "items": {
128
+ "$ref": "#/definitions/ControlModelCatalogResponse/properties/clientVersion/anyOf/0"
129
+ },
130
+ "description": "Internal vendor order for preference adaptation when it includes choices the raw transport cannot submit. Not accepted values; projected out of both public catalog views."
131
+ },
125
132
  "reasoningEffortsVerified": {
126
133
  "type": "boolean",
127
134
  "description": "Whether the provider supplied a fully parsed effort array, including a known empty array. Missing on historical catalogs means unverified."
@@ -117,7 +117,7 @@
117
117
  "route"
118
118
  ],
119
119
  "additionalProperties": false,
120
- "description": "Started means the physical send may have begun, not proof the upstream accepted it."
120
+ "description": "Started means the physical send may have begun, not proof the upstream accepted it. A terminal not_started may refine that attempted send only with typed proof no complete inference request was delivered; startedAt and route retain the attempt."
121
121
  },
122
122
  "response": {
123
123
  "anyOf": [
@@ -19,7 +19,7 @@
19
19
  },
20
20
  "instructions": {
21
21
  "type": "string",
22
- "description": "System-level instructions layered onto every task-producing lane; delivered natively (append-system-prompt / developer_instructions) or as a delimited prompt prefix."
22
+ "description": "System-level instructions layered onto every task-producing lane; delivered natively (append-system-prompt-file / developer_instructions) or as a delimited prompt prefix."
23
23
  },
24
24
  "attachments": {
25
25
  "type": "array",
@@ -307,6 +307,68 @@
307
307
  {
308
308
  "type": "object",
309
309
  "properties": {
310
+ "requestRefusal": {
311
+ "type": "object",
312
+ "properties": {
313
+ "scope": {
314
+ "type": "string",
315
+ "const": "turn_text",
316
+ "description": "All text input items in one native turn; separate instructions are excluded."
317
+ },
318
+ "unit": {
319
+ "type": "string",
320
+ "const": "unicode_scalars"
321
+ },
322
+ "limit": {
323
+ "anyOf": [
324
+ {
325
+ "type": "integer",
326
+ "exclusiveMinimum": 0,
327
+ "minimum": -9007199254740991,
328
+ "maximum": 9007199254740991
329
+ },
330
+ {
331
+ "type": "null"
332
+ }
333
+ ]
334
+ },
335
+ "source": {
336
+ "type": "string",
337
+ "minLength": 1
338
+ },
339
+ "kind": {
340
+ "type": "string",
341
+ "const": "input_too_large"
342
+ },
343
+ "actual": {
344
+ "anyOf": [
345
+ {
346
+ "type": "integer",
347
+ "minimum": -9007199254740991,
348
+ "maximum": 9007199254740991
349
+ },
350
+ {
351
+ "type": "null"
352
+ }
353
+ ]
354
+ },
355
+ "native_code": {
356
+ "type": "string",
357
+ "minLength": 1
358
+ }
359
+ },
360
+ "required": [
361
+ "scope",
362
+ "unit",
363
+ "limit",
364
+ "source",
365
+ "kind",
366
+ "actual",
367
+ "native_code"
368
+ ],
369
+ "additionalProperties": false,
370
+ "description": "Vendor-typed physical input refusal; the same input cannot be repaired by changing this harness's account or model."
371
+ },
310
372
  "phase": {
311
373
  "type": "string",
312
374
  "default": "unknown",
@@ -344,6 +406,7 @@
344
406
  "delegation_child_drain_timeout",
345
407
  "subscription_window_exhausted",
346
408
  "credential_pool_exhausted",
409
+ "input_too_large",
347
410
  "delegated_home_unavailable",
348
411
  "delegated_confinement_unavailable",
349
412
  "delegated_evidence_incomplete",
@@ -127,6 +127,68 @@
127
127
  {
128
128
  "type": "object",
129
129
  "properties": {
130
+ "requestRefusal": {
131
+ "type": "object",
132
+ "properties": {
133
+ "scope": {
134
+ "type": "string",
135
+ "const": "turn_text",
136
+ "description": "All text input items in one native turn; separate instructions are excluded."
137
+ },
138
+ "unit": {
139
+ "type": "string",
140
+ "const": "unicode_scalars"
141
+ },
142
+ "limit": {
143
+ "anyOf": [
144
+ {
145
+ "type": "integer",
146
+ "exclusiveMinimum": 0,
147
+ "minimum": -9007199254740991,
148
+ "maximum": 9007199254740991
149
+ },
150
+ {
151
+ "type": "null"
152
+ }
153
+ ]
154
+ },
155
+ "source": {
156
+ "type": "string",
157
+ "minLength": 1
158
+ },
159
+ "kind": {
160
+ "type": "string",
161
+ "const": "input_too_large"
162
+ },
163
+ "actual": {
164
+ "anyOf": [
165
+ {
166
+ "type": "integer",
167
+ "minimum": -9007199254740991,
168
+ "maximum": 9007199254740991
169
+ },
170
+ {
171
+ "type": "null"
172
+ }
173
+ ]
174
+ },
175
+ "native_code": {
176
+ "type": "string",
177
+ "minLength": 1
178
+ }
179
+ },
180
+ "required": [
181
+ "scope",
182
+ "unit",
183
+ "limit",
184
+ "source",
185
+ "kind",
186
+ "actual",
187
+ "native_code"
188
+ ],
189
+ "additionalProperties": false,
190
+ "description": "Vendor-typed physical input refusal; the same input cannot be repaired by changing this harness's account or model."
191
+ },
130
192
  "phase": {
131
193
  "type": "string",
132
194
  "default": "unknown",
@@ -164,6 +226,7 @@
164
226
  "delegation_child_drain_timeout",
165
227
  "subscription_window_exhausted",
166
228
  "credential_pool_exhausted",
229
+ "input_too_large",
167
230
  "delegated_home_unavailable",
168
231
  "delegated_confinement_unavailable",
169
232
  "delegated_evidence_incomplete",
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "instructions": {
13
13
  "type": "string",
14
- "description": "System-level instructions layered onto every task-producing lane; delivered natively (append-system-prompt / developer_instructions) or as a delimited prompt prefix."
14
+ "description": "System-level instructions layered onto every task-producing lane; delivered natively (append-system-prompt-file / developer_instructions) or as a delimited prompt prefix."
15
15
  },
16
16
  "attachments": {
17
17
  "type": "array",
@@ -122,6 +122,68 @@
122
122
  {
123
123
  "type": "object",
124
124
  "properties": {
125
+ "requestRefusal": {
126
+ "type": "object",
127
+ "properties": {
128
+ "scope": {
129
+ "type": "string",
130
+ "const": "turn_text",
131
+ "description": "All text input items in one native turn; separate instructions are excluded."
132
+ },
133
+ "unit": {
134
+ "type": "string",
135
+ "const": "unicode_scalars"
136
+ },
137
+ "limit": {
138
+ "anyOf": [
139
+ {
140
+ "type": "integer",
141
+ "exclusiveMinimum": 0,
142
+ "minimum": -9007199254740991,
143
+ "maximum": 9007199254740991
144
+ },
145
+ {
146
+ "type": "null"
147
+ }
148
+ ]
149
+ },
150
+ "source": {
151
+ "type": "string",
152
+ "minLength": 1
153
+ },
154
+ "kind": {
155
+ "type": "string",
156
+ "const": "input_too_large"
157
+ },
158
+ "actual": {
159
+ "anyOf": [
160
+ {
161
+ "type": "integer",
162
+ "minimum": -9007199254740991,
163
+ "maximum": 9007199254740991
164
+ },
165
+ {
166
+ "type": "null"
167
+ }
168
+ ]
169
+ },
170
+ "native_code": {
171
+ "type": "string",
172
+ "minLength": 1
173
+ }
174
+ },
175
+ "required": [
176
+ "scope",
177
+ "unit",
178
+ "limit",
179
+ "source",
180
+ "kind",
181
+ "actual",
182
+ "native_code"
183
+ ],
184
+ "additionalProperties": false,
185
+ "description": "Vendor-typed physical input refusal; the same input cannot be repaired by changing this harness's account or model."
186
+ },
125
187
  "phase": {
126
188
  "type": "string",
127
189
  "default": "unknown",
@@ -159,6 +221,7 @@
159
221
  "delegation_child_drain_timeout",
160
222
  "subscription_window_exhausted",
161
223
  "credential_pool_exhausted",
224
+ "input_too_large",
162
225
  "delegated_home_unavailable",
163
226
  "delegated_confinement_unavailable",
164
227
  "delegated_evidence_incomplete",
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "instructions": {
13
13
  "type": "string",
14
- "description": "System-level instructions layered onto every task-producing lane; delivered natively (append-system-prompt / developer_instructions) or as a delimited prompt prefix."
14
+ "description": "System-level instructions layered onto every task-producing lane; delivered natively (append-system-prompt-file / developer_instructions) or as a delimited prompt prefix."
15
15
  },
16
16
  "attachments": {
17
17
  "type": "array",
@@ -39,8 +39,7 @@
39
39
  "plan",
40
40
  "agent"
41
41
  ],
42
- "description": "Canonical run mode: ask and plan are read-only, agent writes. Strategy controls are separate schema-owned fields, never modes.",
43
- "default": "agent"
42
+ "description": "Turn mode override; omission inherits the thread's default mode."
44
43
  },
45
44
  "harnesses": {
46
45
  "type": "array",
@@ -46,6 +46,13 @@
46
46
  "minimum": 0,
47
47
  "description": "Age in milliseconds of the bounded stale observation, when stale is true."
48
48
  },
49
+ "stale_basis": {
50
+ "type": "string",
51
+ "enum": [
52
+ "last_positive_after_timeout"
53
+ ],
54
+ "description": "Basis of a stale observation: last_positive_after_timeout = the status probe did not answer within its budget and this row store's last positive status answer, still inside its bounded interval, stands in; unpinned pool admission alone may consume it. Absent = the generic last-known-good grace, consumable only by an already selected route."
55
+ },
49
56
  "detail": {
50
57
  "type": "string",
51
58
  "description": "Redacted human-readable probe evidence."