@oneharness/sdk 0.10.1 → 0.10.3
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.
- package/dist/generated/contracts.d.ts +54 -0
- package/dist/generated/history-line.d.ts +69 -11
- package/dist/generated/history-records.d.ts +181 -9
- package/dist/generated/history-stream-envelope.d.ts +182 -10
- package/dist/generated/history.d.ts +181 -9
- package/dist/generated/run-stream-envelope.d.ts +54 -0
- package/dist/generated/schemas.json +751 -41
- package/dist/generated/zod.d.ts +2 -1
- package/dist/generated/zod.js +180 -41
- package/package.json +2 -2
|
@@ -1933,11 +1933,17 @@
|
|
|
1933
1933
|
"string",
|
|
1934
1934
|
"null"
|
|
1935
1935
|
]
|
|
1936
|
+
},
|
|
1937
|
+
"stopped_without_work": {
|
|
1938
|
+
"description": "Whether the candidate named by `ran` stopped the chain **having shown no\nevidence it did the task's work, and with nothing to say why** — its\n[`RunResult::work`] read [`RunWork::None`] on a failure no classifier\nrecognized.\n\nThe chain still stops there, deliberately: re-running a task that may\ngenuinely have failed for free would burn the next identity's quota on\nthe same failure, which is worse than stopping (see\n[`crate::domain::fallback::startup_failure_reason`]). What this flag adds\nis the *attribution* — without it a candidate that never got started reads\nin the report exactly like one that tried the task and failed it, and the\nremaining candidates look untried for a reason nobody can name.\n\n`false` whenever `ran` is `null` (no candidate ran at all — every one is\nin `fell_through`, each with its reason).",
|
|
1939
|
+
"type": "boolean",
|
|
1940
|
+
"default": false
|
|
1936
1941
|
}
|
|
1937
1942
|
},
|
|
1938
1943
|
"required": [
|
|
1939
1944
|
"ran",
|
|
1940
|
-
"fell_through"
|
|
1945
|
+
"fell_through",
|
|
1946
|
+
"stopped_without_work"
|
|
1941
1947
|
]
|
|
1942
1948
|
},
|
|
1943
1949
|
"OutputFormat": {
|
|
@@ -2185,6 +2191,18 @@
|
|
|
2185
2191
|
"string",
|
|
2186
2192
|
"null"
|
|
2187
2193
|
]
|
|
2194
|
+
},
|
|
2195
|
+
"work": {
|
|
2196
|
+
"description": "What this run has to show for itself when `failure_kind` has nothing to\nsay: [`RunWork::Done`] if the harness recorded a tool call or billed\nusage, [`RunWork::None`] if nothing says it got that far. `null` on every\nother run — a success needs no such reading, and a *classified* failure\nalready names its cause.\n\nThis is the reading the fallback verdict itself consults\n([`crate::domain::fallback::startup_failure_reason`]), published rather\nthan left to be re-derived: an unclassified failure that did nothing is\notherwise indistinguishable from one that ran the task and failed it, and\nthe two mean opposite things to whoever reads the run. Publishing it\nchanges no verdict — a candidate reading `none` still stops a chain, and\none reading `done` still never falls through it.",
|
|
2197
|
+
"anyOf": [
|
|
2198
|
+
{
|
|
2199
|
+
"$ref": "#/$defs/RunWork"
|
|
2200
|
+
},
|
|
2201
|
+
{
|
|
2202
|
+
"type": "null"
|
|
2203
|
+
}
|
|
2204
|
+
],
|
|
2205
|
+
"default": null
|
|
2188
2206
|
}
|
|
2189
2207
|
},
|
|
2190
2208
|
"required": [
|
|
@@ -2213,12 +2231,28 @@
|
|
|
2213
2231
|
"schema_attempts",
|
|
2214
2232
|
"schema_error",
|
|
2215
2233
|
"failure_kind",
|
|
2234
|
+
"work",
|
|
2216
2235
|
"failure_kind_source",
|
|
2217
2236
|
"stdout",
|
|
2218
2237
|
"stderr",
|
|
2219
2238
|
"error"
|
|
2220
2239
|
]
|
|
2221
2240
|
},
|
|
2241
|
+
"RunWork": {
|
|
2242
|
+
"description": "Whether a candidate's normalized result carries **evidence it did the task's\nwork** — the first thing [`startup_failure_reason`] consults.\n\nTwo independent witnesses, either of which is decisive:\n\n- **Tool events.** A recorded tool call is the harness acting on the task.\n- **Usage accounting.** [`Usage::reports_billed_work`][billed] — the same definition\n `signals::record_reports_work` classifies a raw harness record with, so the\n two readings of \"billed\" are one contract with one implementation.\n\nIt is also a **published reading**, not only an internal one: a run that\nfailed with nothing to classify carries it as [`RunResult::work`] and in its\nhistory record, because there the question \"did this candidate do anything?\"\nis the only one left. One type for both, so the value a reader sees is the\nsame value the fall-through verdict consulted.\n\n[billed]: crate::domain::signals::Usage::reports_billed_work",
|
|
2243
|
+
"oneOf": [
|
|
2244
|
+
{
|
|
2245
|
+
"description": "The candidate ran the task, whatever its terminal record then said.",
|
|
2246
|
+
"type": "string",
|
|
2247
|
+
"const": "done"
|
|
2248
|
+
},
|
|
2249
|
+
{
|
|
2250
|
+
"description": "Nothing says the candidate got as far as doing work.",
|
|
2251
|
+
"type": "string",
|
|
2252
|
+
"const": "none"
|
|
2253
|
+
}
|
|
2254
|
+
]
|
|
2255
|
+
},
|
|
2222
2256
|
"SessionPhase": {
|
|
2223
2257
|
"description": "Whether a run starts a new named session or continues an existing one.",
|
|
2224
2258
|
"oneOf": [
|
|
@@ -2952,11 +2986,17 @@
|
|
|
2952
2986
|
"string",
|
|
2953
2987
|
"null"
|
|
2954
2988
|
]
|
|
2989
|
+
},
|
|
2990
|
+
"stopped_without_work": {
|
|
2991
|
+
"description": "Whether the candidate named by `ran` stopped the chain **having shown no\nevidence it did the task's work, and with nothing to say why** — its\n[`RunResult::work`] read [`RunWork::None`] on a failure no classifier\nrecognized.\n\nThe chain still stops there, deliberately: re-running a task that may\ngenuinely have failed for free would burn the next identity's quota on\nthe same failure, which is worse than stopping (see\n[`crate::domain::fallback::startup_failure_reason`]). What this flag adds\nis the *attribution* — without it a candidate that never got started reads\nin the report exactly like one that tried the task and failed it, and the\nremaining candidates look untried for a reason nobody can name.\n\n`false` whenever `ran` is `null` (no candidate ran at all — every one is\nin `fell_through`, each with its reason).",
|
|
2992
|
+
"type": "boolean",
|
|
2993
|
+
"default": false
|
|
2955
2994
|
}
|
|
2956
2995
|
},
|
|
2957
2996
|
"required": [
|
|
2958
2997
|
"ran",
|
|
2959
|
-
"fell_through"
|
|
2998
|
+
"fell_through",
|
|
2999
|
+
"stopped_without_work"
|
|
2960
3000
|
]
|
|
2961
3001
|
},
|
|
2962
3002
|
"OutputFormat": {
|
|
@@ -3368,6 +3408,18 @@
|
|
|
3368
3408
|
"string",
|
|
3369
3409
|
"null"
|
|
3370
3410
|
]
|
|
3411
|
+
},
|
|
3412
|
+
"work": {
|
|
3413
|
+
"description": "What this run has to show for itself when `failure_kind` has nothing to\nsay: [`RunWork::Done`] if the harness recorded a tool call or billed\nusage, [`RunWork::None`] if nothing says it got that far. `null` on every\nother run — a success needs no such reading, and a *classified* failure\nalready names its cause.\n\nThis is the reading the fallback verdict itself consults\n([`crate::domain::fallback::startup_failure_reason`]), published rather\nthan left to be re-derived: an unclassified failure that did nothing is\notherwise indistinguishable from one that ran the task and failed it, and\nthe two mean opposite things to whoever reads the run. Publishing it\nchanges no verdict — a candidate reading `none` still stops a chain, and\none reading `done` still never falls through it.",
|
|
3414
|
+
"anyOf": [
|
|
3415
|
+
{
|
|
3416
|
+
"$ref": "#/$defs/RunWork"
|
|
3417
|
+
},
|
|
3418
|
+
{
|
|
3419
|
+
"type": "null"
|
|
3420
|
+
}
|
|
3421
|
+
],
|
|
3422
|
+
"default": null
|
|
3371
3423
|
}
|
|
3372
3424
|
},
|
|
3373
3425
|
"required": [
|
|
@@ -3396,12 +3448,28 @@
|
|
|
3396
3448
|
"schema_attempts",
|
|
3397
3449
|
"schema_error",
|
|
3398
3450
|
"failure_kind",
|
|
3451
|
+
"work",
|
|
3399
3452
|
"failure_kind_source",
|
|
3400
3453
|
"stdout",
|
|
3401
3454
|
"stderr",
|
|
3402
3455
|
"error"
|
|
3403
3456
|
]
|
|
3404
3457
|
},
|
|
3458
|
+
"RunWork": {
|
|
3459
|
+
"description": "Whether a candidate's normalized result carries **evidence it did the task's\nwork** — the first thing [`startup_failure_reason`] consults.\n\nTwo independent witnesses, either of which is decisive:\n\n- **Tool events.** A recorded tool call is the harness acting on the task.\n- **Usage accounting.** [`Usage::reports_billed_work`][billed] — the same definition\n `signals::record_reports_work` classifies a raw harness record with, so the\n two readings of \"billed\" are one contract with one implementation.\n\nIt is also a **published reading**, not only an internal one: a run that\nfailed with nothing to classify carries it as [`RunResult::work`] and in its\nhistory record, because there the question \"did this candidate do anything?\"\nis the only one left. One type for both, so the value a reader sees is the\nsame value the fall-through verdict consulted.\n\n[billed]: crate::domain::signals::Usage::reports_billed_work",
|
|
3460
|
+
"oneOf": [
|
|
3461
|
+
{
|
|
3462
|
+
"description": "The candidate ran the task, whatever its terminal record then said.",
|
|
3463
|
+
"type": "string",
|
|
3464
|
+
"const": "done"
|
|
3465
|
+
},
|
|
3466
|
+
{
|
|
3467
|
+
"description": "Nothing says the candidate got as far as doing work.",
|
|
3468
|
+
"type": "string",
|
|
3469
|
+
"const": "none"
|
|
3470
|
+
}
|
|
3471
|
+
]
|
|
3472
|
+
},
|
|
3405
3473
|
"SessionPhase": {
|
|
3406
3474
|
"description": "Whether a run starts a new named session or continues an existing one.",
|
|
3407
3475
|
"oneOf": [
|
|
@@ -4106,7 +4174,8 @@
|
|
|
4106
4174
|
"1.3",
|
|
4107
4175
|
"1.4",
|
|
4108
4176
|
"1.5",
|
|
4109
|
-
"1.6"
|
|
4177
|
+
"1.6",
|
|
4178
|
+
"1.7"
|
|
4110
4179
|
]
|
|
4111
4180
|
},
|
|
4112
4181
|
"type": {
|
|
@@ -4224,7 +4293,8 @@
|
|
|
4224
4293
|
"1.3",
|
|
4225
4294
|
"1.4",
|
|
4226
4295
|
"1.5",
|
|
4227
|
-
"1.6"
|
|
4296
|
+
"1.6",
|
|
4297
|
+
"1.7"
|
|
4228
4298
|
]
|
|
4229
4299
|
}
|
|
4230
4300
|
},
|
|
@@ -4266,6 +4336,51 @@
|
|
|
4266
4336
|
}
|
|
4267
4337
|
]
|
|
4268
4338
|
},
|
|
4339
|
+
{
|
|
4340
|
+
"oneOf": [
|
|
4341
|
+
{
|
|
4342
|
+
"type": "object",
|
|
4343
|
+
"properties": {
|
|
4344
|
+
"work": {
|
|
4345
|
+
"type": "null"
|
|
4346
|
+
}
|
|
4347
|
+
}
|
|
4348
|
+
},
|
|
4349
|
+
{
|
|
4350
|
+
"allOf": [
|
|
4351
|
+
{
|
|
4352
|
+
"type": "object",
|
|
4353
|
+
"properties": {
|
|
4354
|
+
"schema_version": {
|
|
4355
|
+
"type": "string",
|
|
4356
|
+
"enum": [
|
|
4357
|
+
"1.7"
|
|
4358
|
+
]
|
|
4359
|
+
},
|
|
4360
|
+
"status": {
|
|
4361
|
+
"type": "string",
|
|
4362
|
+
"enum": [
|
|
4363
|
+
"nonzero",
|
|
4364
|
+
"timeout",
|
|
4365
|
+
"cancelled"
|
|
4366
|
+
]
|
|
4367
|
+
},
|
|
4368
|
+
"work": {
|
|
4369
|
+
"type": "string",
|
|
4370
|
+
"enum": [
|
|
4371
|
+
"done",
|
|
4372
|
+
"none"
|
|
4373
|
+
]
|
|
4374
|
+
}
|
|
4375
|
+
},
|
|
4376
|
+
"required": [
|
|
4377
|
+
"work"
|
|
4378
|
+
]
|
|
4379
|
+
}
|
|
4380
|
+
]
|
|
4381
|
+
}
|
|
4382
|
+
]
|
|
4383
|
+
},
|
|
4269
4384
|
{
|
|
4270
4385
|
"anyOf": [
|
|
4271
4386
|
{
|
|
@@ -4292,7 +4407,8 @@
|
|
|
4292
4407
|
"enum": [
|
|
4293
4408
|
"1.4",
|
|
4294
4409
|
"1.5",
|
|
4295
|
-
"1.6"
|
|
4410
|
+
"1.6",
|
|
4411
|
+
"1.7"
|
|
4296
4412
|
]
|
|
4297
4413
|
}
|
|
4298
4414
|
}
|
|
@@ -4327,7 +4443,8 @@
|
|
|
4327
4443
|
"type": "string",
|
|
4328
4444
|
"enum": [
|
|
4329
4445
|
"1.5",
|
|
4330
|
-
"1.6"
|
|
4446
|
+
"1.6",
|
|
4447
|
+
"1.7"
|
|
4331
4448
|
]
|
|
4332
4449
|
}
|
|
4333
4450
|
}
|
|
@@ -4358,7 +4475,8 @@
|
|
|
4358
4475
|
"schema_version": {
|
|
4359
4476
|
"type": "string",
|
|
4360
4477
|
"enum": [
|
|
4361
|
-
"1.6"
|
|
4478
|
+
"1.6",
|
|
4479
|
+
"1.7"
|
|
4362
4480
|
]
|
|
4363
4481
|
}
|
|
4364
4482
|
}
|
|
@@ -4458,7 +4576,8 @@
|
|
|
4458
4576
|
"1.3",
|
|
4459
4577
|
"1.4",
|
|
4460
4578
|
"1.5",
|
|
4461
|
-
"1.6"
|
|
4579
|
+
"1.6",
|
|
4580
|
+
"1.7"
|
|
4462
4581
|
]
|
|
4463
4582
|
},
|
|
4464
4583
|
"session": {
|
|
@@ -4520,6 +4639,17 @@
|
|
|
4520
4639
|
"string",
|
|
4521
4640
|
"null"
|
|
4522
4641
|
]
|
|
4642
|
+
},
|
|
4643
|
+
"work": {
|
|
4644
|
+
"description": "Work evidence for a failure nothing classified (see\n[`HistoryRecord::work`]). Omitted on the wire when absent.",
|
|
4645
|
+
"anyOf": [
|
|
4646
|
+
{
|
|
4647
|
+
"$ref": "#/$defs/RunWork"
|
|
4648
|
+
},
|
|
4649
|
+
{
|
|
4650
|
+
"type": "null"
|
|
4651
|
+
}
|
|
4652
|
+
]
|
|
4523
4653
|
}
|
|
4524
4654
|
},
|
|
4525
4655
|
"required": [
|
|
@@ -4642,7 +4772,8 @@
|
|
|
4642
4772
|
"1.3",
|
|
4643
4773
|
"1.4",
|
|
4644
4774
|
"1.5",
|
|
4645
|
-
"1.6"
|
|
4775
|
+
"1.6",
|
|
4776
|
+
"1.7"
|
|
4646
4777
|
]
|
|
4647
4778
|
},
|
|
4648
4779
|
"session": {
|
|
@@ -4707,6 +4838,17 @@
|
|
|
4707
4838
|
"string",
|
|
4708
4839
|
"null"
|
|
4709
4840
|
]
|
|
4841
|
+
},
|
|
4842
|
+
"work": {
|
|
4843
|
+
"description": "Work evidence for a failure nothing classified (see\n[`HistoryRecord::work`]). Omitted on the wire when absent.",
|
|
4844
|
+
"anyOf": [
|
|
4845
|
+
{
|
|
4846
|
+
"$ref": "#/$defs/RunWork"
|
|
4847
|
+
},
|
|
4848
|
+
{
|
|
4849
|
+
"type": "null"
|
|
4850
|
+
}
|
|
4851
|
+
]
|
|
4710
4852
|
}
|
|
4711
4853
|
},
|
|
4712
4854
|
"required": [
|
|
@@ -4824,7 +4966,8 @@
|
|
|
4824
4966
|
"1.3",
|
|
4825
4967
|
"1.4",
|
|
4826
4968
|
"1.5",
|
|
4827
|
-
"1.6"
|
|
4969
|
+
"1.6",
|
|
4970
|
+
"1.7"
|
|
4828
4971
|
]
|
|
4829
4972
|
},
|
|
4830
4973
|
"session": {
|
|
@@ -4869,6 +5012,17 @@
|
|
|
4869
5012
|
"string",
|
|
4870
5013
|
"null"
|
|
4871
5014
|
]
|
|
5015
|
+
},
|
|
5016
|
+
"work": {
|
|
5017
|
+
"description": "Work evidence for a failure nothing classified (see\n[`HistoryRecord::work`]). Omitted on the wire when absent.",
|
|
5018
|
+
"anyOf": [
|
|
5019
|
+
{
|
|
5020
|
+
"$ref": "#/$defs/RunWork"
|
|
5021
|
+
},
|
|
5022
|
+
{
|
|
5023
|
+
"type": "null"
|
|
5024
|
+
}
|
|
5025
|
+
]
|
|
4872
5026
|
}
|
|
4873
5027
|
},
|
|
4874
5028
|
"required": [
|
|
@@ -4987,7 +5141,8 @@
|
|
|
4987
5141
|
"1.3",
|
|
4988
5142
|
"1.4",
|
|
4989
5143
|
"1.5",
|
|
4990
|
-
"1.6"
|
|
5144
|
+
"1.6",
|
|
5145
|
+
"1.7"
|
|
4991
5146
|
]
|
|
4992
5147
|
},
|
|
4993
5148
|
"session": {
|
|
@@ -5039,6 +5194,17 @@
|
|
|
5039
5194
|
"string",
|
|
5040
5195
|
"null"
|
|
5041
5196
|
]
|
|
5197
|
+
},
|
|
5198
|
+
"work": {
|
|
5199
|
+
"description": "Work evidence for a failure nothing classified (see\n[`HistoryRecord::work`]). Omitted on the wire when absent.",
|
|
5200
|
+
"anyOf": [
|
|
5201
|
+
{
|
|
5202
|
+
"$ref": "#/$defs/RunWork"
|
|
5203
|
+
},
|
|
5204
|
+
{
|
|
5205
|
+
"type": "null"
|
|
5206
|
+
}
|
|
5207
|
+
]
|
|
5042
5208
|
}
|
|
5043
5209
|
},
|
|
5044
5210
|
"required": [
|
|
@@ -5149,7 +5315,8 @@
|
|
|
5149
5315
|
"1.3",
|
|
5150
5316
|
"1.4",
|
|
5151
5317
|
"1.5",
|
|
5152
|
-
"1.6"
|
|
5318
|
+
"1.6",
|
|
5319
|
+
"1.7"
|
|
5153
5320
|
]
|
|
5154
5321
|
},
|
|
5155
5322
|
"session": {
|
|
@@ -5210,6 +5377,17 @@
|
|
|
5210
5377
|
"string",
|
|
5211
5378
|
"null"
|
|
5212
5379
|
]
|
|
5380
|
+
},
|
|
5381
|
+
"work": {
|
|
5382
|
+
"description": "Work evidence for a failure nothing classified (see\n[`HistoryRecord::work`]). Omitted on the wire when absent.",
|
|
5383
|
+
"anyOf": [
|
|
5384
|
+
{
|
|
5385
|
+
"$ref": "#/$defs/RunWork"
|
|
5386
|
+
},
|
|
5387
|
+
{
|
|
5388
|
+
"type": "null"
|
|
5389
|
+
}
|
|
5390
|
+
]
|
|
5213
5391
|
}
|
|
5214
5392
|
},
|
|
5215
5393
|
"required": [
|
|
@@ -5328,7 +5506,8 @@
|
|
|
5328
5506
|
"1.3",
|
|
5329
5507
|
"1.4",
|
|
5330
5508
|
"1.5",
|
|
5331
|
-
"1.6"
|
|
5509
|
+
"1.6",
|
|
5510
|
+
"1.7"
|
|
5332
5511
|
]
|
|
5333
5512
|
},
|
|
5334
5513
|
"session": {
|
|
@@ -5377,6 +5556,17 @@
|
|
|
5377
5556
|
"string",
|
|
5378
5557
|
"null"
|
|
5379
5558
|
]
|
|
5559
|
+
},
|
|
5560
|
+
"work": {
|
|
5561
|
+
"description": "Work evidence for a failure nothing classified (see\n[`HistoryRecord::work`]). Omitted on the wire when absent.",
|
|
5562
|
+
"anyOf": [
|
|
5563
|
+
{
|
|
5564
|
+
"$ref": "#/$defs/RunWork"
|
|
5565
|
+
},
|
|
5566
|
+
{
|
|
5567
|
+
"type": "null"
|
|
5568
|
+
}
|
|
5569
|
+
]
|
|
5380
5570
|
}
|
|
5381
5571
|
},
|
|
5382
5572
|
"required": [
|
|
@@ -5605,6 +5795,21 @@
|
|
|
5605
5795
|
}
|
|
5606
5796
|
]
|
|
5607
5797
|
},
|
|
5798
|
+
"RunWork": {
|
|
5799
|
+
"description": "Whether a candidate's normalized result carries **evidence it did the task's\nwork** — the first thing [`startup_failure_reason`] consults.\n\nTwo independent witnesses, either of which is decisive:\n\n- **Tool events.** A recorded tool call is the harness acting on the task.\n- **Usage accounting.** [`Usage::reports_billed_work`][billed] — the same definition\n `signals::record_reports_work` classifies a raw harness record with, so the\n two readings of \"billed\" are one contract with one implementation.\n\nIt is also a **published reading**, not only an internal one: a run that\nfailed with nothing to classify carries it as [`RunResult::work`] and in its\nhistory record, because there the question \"did this candidate do anything?\"\nis the only one left. One type for both, so the value a reader sees is the\nsame value the fall-through verdict consulted.\n\n[billed]: crate::domain::signals::Usage::reports_billed_work",
|
|
5800
|
+
"oneOf": [
|
|
5801
|
+
{
|
|
5802
|
+
"description": "The candidate ran the task, whatever its terminal record then said.",
|
|
5803
|
+
"type": "string",
|
|
5804
|
+
"const": "done"
|
|
5805
|
+
},
|
|
5806
|
+
{
|
|
5807
|
+
"description": "Nothing says the candidate got as far as doing work.",
|
|
5808
|
+
"type": "string",
|
|
5809
|
+
"const": "none"
|
|
5810
|
+
}
|
|
5811
|
+
]
|
|
5812
|
+
},
|
|
5608
5813
|
"Status": {
|
|
5609
5814
|
"description": "The outcome of attempting to run one harness.",
|
|
5610
5815
|
"oneOf": [
|
|
@@ -5757,7 +5962,8 @@
|
|
|
5757
5962
|
"1.3",
|
|
5758
5963
|
"1.4",
|
|
5759
5964
|
"1.5",
|
|
5760
|
-
"1.6"
|
|
5965
|
+
"1.6",
|
|
5966
|
+
"1.7"
|
|
5761
5967
|
]
|
|
5762
5968
|
}
|
|
5763
5969
|
},
|
|
@@ -5799,6 +6005,51 @@
|
|
|
5799
6005
|
}
|
|
5800
6006
|
]
|
|
5801
6007
|
},
|
|
6008
|
+
{
|
|
6009
|
+
"oneOf": [
|
|
6010
|
+
{
|
|
6011
|
+
"type": "object",
|
|
6012
|
+
"properties": {
|
|
6013
|
+
"work": {
|
|
6014
|
+
"type": "null"
|
|
6015
|
+
}
|
|
6016
|
+
}
|
|
6017
|
+
},
|
|
6018
|
+
{
|
|
6019
|
+
"allOf": [
|
|
6020
|
+
{
|
|
6021
|
+
"type": "object",
|
|
6022
|
+
"properties": {
|
|
6023
|
+
"schema_version": {
|
|
6024
|
+
"type": "string",
|
|
6025
|
+
"enum": [
|
|
6026
|
+
"1.7"
|
|
6027
|
+
]
|
|
6028
|
+
},
|
|
6029
|
+
"status": {
|
|
6030
|
+
"type": "string",
|
|
6031
|
+
"enum": [
|
|
6032
|
+
"nonzero",
|
|
6033
|
+
"timeout",
|
|
6034
|
+
"cancelled"
|
|
6035
|
+
]
|
|
6036
|
+
},
|
|
6037
|
+
"work": {
|
|
6038
|
+
"type": "string",
|
|
6039
|
+
"enum": [
|
|
6040
|
+
"done",
|
|
6041
|
+
"none"
|
|
6042
|
+
]
|
|
6043
|
+
}
|
|
6044
|
+
},
|
|
6045
|
+
"required": [
|
|
6046
|
+
"work"
|
|
6047
|
+
]
|
|
6048
|
+
}
|
|
6049
|
+
]
|
|
6050
|
+
}
|
|
6051
|
+
]
|
|
6052
|
+
},
|
|
5802
6053
|
{
|
|
5803
6054
|
"anyOf": [
|
|
5804
6055
|
{
|
|
@@ -5825,7 +6076,8 @@
|
|
|
5825
6076
|
"enum": [
|
|
5826
6077
|
"1.4",
|
|
5827
6078
|
"1.5",
|
|
5828
|
-
"1.6"
|
|
6079
|
+
"1.6",
|
|
6080
|
+
"1.7"
|
|
5829
6081
|
]
|
|
5830
6082
|
}
|
|
5831
6083
|
}
|
|
@@ -5860,7 +6112,8 @@
|
|
|
5860
6112
|
"type": "string",
|
|
5861
6113
|
"enum": [
|
|
5862
6114
|
"1.5",
|
|
5863
|
-
"1.6"
|
|
6115
|
+
"1.6",
|
|
6116
|
+
"1.7"
|
|
5864
6117
|
]
|
|
5865
6118
|
}
|
|
5866
6119
|
}
|
|
@@ -5891,7 +6144,8 @@
|
|
|
5891
6144
|
"schema_version": {
|
|
5892
6145
|
"type": "string",
|
|
5893
6146
|
"enum": [
|
|
5894
|
-
"1.6"
|
|
6147
|
+
"1.6",
|
|
6148
|
+
"1.7"
|
|
5895
6149
|
]
|
|
5896
6150
|
}
|
|
5897
6151
|
}
|
|
@@ -6172,7 +6426,8 @@
|
|
|
6172
6426
|
"1.3",
|
|
6173
6427
|
"1.4",
|
|
6174
6428
|
"1.5",
|
|
6175
|
-
"1.6"
|
|
6429
|
+
"1.6",
|
|
6430
|
+
"1.7"
|
|
6176
6431
|
]
|
|
6177
6432
|
},
|
|
6178
6433
|
"session": {
|
|
@@ -6232,6 +6487,17 @@
|
|
|
6232
6487
|
"string",
|
|
6233
6488
|
"null"
|
|
6234
6489
|
]
|
|
6490
|
+
},
|
|
6491
|
+
"work": {
|
|
6492
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
6493
|
+
"anyOf": [
|
|
6494
|
+
{
|
|
6495
|
+
"$ref": "#/$defs/RunWork"
|
|
6496
|
+
},
|
|
6497
|
+
{
|
|
6498
|
+
"type": "null"
|
|
6499
|
+
}
|
|
6500
|
+
]
|
|
6235
6501
|
}
|
|
6236
6502
|
},
|
|
6237
6503
|
"required": [
|
|
@@ -6598,6 +6864,17 @@
|
|
|
6598
6864
|
"string",
|
|
6599
6865
|
"null"
|
|
6600
6866
|
]
|
|
6867
|
+
},
|
|
6868
|
+
"work": {
|
|
6869
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
6870
|
+
"anyOf": [
|
|
6871
|
+
{
|
|
6872
|
+
"$ref": "#/$defs/RunWork"
|
|
6873
|
+
},
|
|
6874
|
+
{
|
|
6875
|
+
"type": "null"
|
|
6876
|
+
}
|
|
6877
|
+
]
|
|
6601
6878
|
}
|
|
6602
6879
|
},
|
|
6603
6880
|
"required": [
|
|
@@ -6774,7 +7051,8 @@
|
|
|
6774
7051
|
"1.3",
|
|
6775
7052
|
"1.4",
|
|
6776
7053
|
"1.5",
|
|
6777
|
-
"1.6"
|
|
7054
|
+
"1.6",
|
|
7055
|
+
"1.7"
|
|
6778
7056
|
]
|
|
6779
7057
|
},
|
|
6780
7058
|
"session": {
|
|
@@ -6825,6 +7103,17 @@
|
|
|
6825
7103
|
"string",
|
|
6826
7104
|
"null"
|
|
6827
7105
|
]
|
|
7106
|
+
},
|
|
7107
|
+
"work": {
|
|
7108
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
7109
|
+
"anyOf": [
|
|
7110
|
+
{
|
|
7111
|
+
"$ref": "#/$defs/RunWork"
|
|
7112
|
+
},
|
|
7113
|
+
{
|
|
7114
|
+
"type": "null"
|
|
7115
|
+
}
|
|
7116
|
+
]
|
|
6828
7117
|
}
|
|
6829
7118
|
},
|
|
6830
7119
|
"required": [
|
|
@@ -6951,7 +7240,8 @@
|
|
|
6951
7240
|
"1.3",
|
|
6952
7241
|
"1.4",
|
|
6953
7242
|
"1.5",
|
|
6954
|
-
"1.6"
|
|
7243
|
+
"1.6",
|
|
7244
|
+
"1.7"
|
|
6955
7245
|
]
|
|
6956
7246
|
},
|
|
6957
7247
|
"session": {
|
|
@@ -6998,6 +7288,17 @@
|
|
|
6998
7288
|
"string",
|
|
6999
7289
|
"null"
|
|
7000
7290
|
]
|
|
7291
|
+
},
|
|
7292
|
+
"work": {
|
|
7293
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
7294
|
+
"anyOf": [
|
|
7295
|
+
{
|
|
7296
|
+
"$ref": "#/$defs/RunWork"
|
|
7297
|
+
},
|
|
7298
|
+
{
|
|
7299
|
+
"type": "null"
|
|
7300
|
+
}
|
|
7301
|
+
]
|
|
7001
7302
|
}
|
|
7002
7303
|
},
|
|
7003
7304
|
"required": [
|
|
@@ -7126,7 +7427,8 @@
|
|
|
7126
7427
|
"1.3",
|
|
7127
7428
|
"1.4",
|
|
7128
7429
|
"1.5",
|
|
7129
|
-
"1.6"
|
|
7430
|
+
"1.6",
|
|
7431
|
+
"1.7"
|
|
7130
7432
|
]
|
|
7131
7433
|
},
|
|
7132
7434
|
"session": {
|
|
@@ -7180,6 +7482,17 @@
|
|
|
7180
7482
|
"string",
|
|
7181
7483
|
"null"
|
|
7182
7484
|
]
|
|
7485
|
+
},
|
|
7486
|
+
"work": {
|
|
7487
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
7488
|
+
"anyOf": [
|
|
7489
|
+
{
|
|
7490
|
+
"$ref": "#/$defs/RunWork"
|
|
7491
|
+
},
|
|
7492
|
+
{
|
|
7493
|
+
"type": "null"
|
|
7494
|
+
}
|
|
7495
|
+
]
|
|
7183
7496
|
}
|
|
7184
7497
|
},
|
|
7185
7498
|
"required": [
|
|
@@ -7302,7 +7615,8 @@
|
|
|
7302
7615
|
"1.3",
|
|
7303
7616
|
"1.4",
|
|
7304
7617
|
"1.5",
|
|
7305
|
-
"1.6"
|
|
7618
|
+
"1.6",
|
|
7619
|
+
"1.7"
|
|
7306
7620
|
]
|
|
7307
7621
|
},
|
|
7308
7622
|
"session": {
|
|
@@ -7365,6 +7679,17 @@
|
|
|
7365
7679
|
"string",
|
|
7366
7680
|
"null"
|
|
7367
7681
|
]
|
|
7682
|
+
},
|
|
7683
|
+
"work": {
|
|
7684
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
7685
|
+
"anyOf": [
|
|
7686
|
+
{
|
|
7687
|
+
"$ref": "#/$defs/RunWork"
|
|
7688
|
+
},
|
|
7689
|
+
{
|
|
7690
|
+
"type": "null"
|
|
7691
|
+
}
|
|
7692
|
+
]
|
|
7368
7693
|
}
|
|
7369
7694
|
},
|
|
7370
7695
|
"required": [
|
|
@@ -7554,6 +7879,17 @@
|
|
|
7554
7879
|
"string",
|
|
7555
7880
|
"null"
|
|
7556
7881
|
]
|
|
7882
|
+
},
|
|
7883
|
+
"work": {
|
|
7884
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
7885
|
+
"anyOf": [
|
|
7886
|
+
{
|
|
7887
|
+
"$ref": "#/$defs/RunWork"
|
|
7888
|
+
},
|
|
7889
|
+
{
|
|
7890
|
+
"type": "null"
|
|
7891
|
+
}
|
|
7892
|
+
]
|
|
7557
7893
|
}
|
|
7558
7894
|
},
|
|
7559
7895
|
"required": [
|
|
@@ -7785,6 +8121,17 @@
|
|
|
7785
8121
|
"string",
|
|
7786
8122
|
"null"
|
|
7787
8123
|
]
|
|
8124
|
+
},
|
|
8125
|
+
"work": {
|
|
8126
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
8127
|
+
"anyOf": [
|
|
8128
|
+
{
|
|
8129
|
+
"$ref": "#/$defs/RunWork"
|
|
8130
|
+
},
|
|
8131
|
+
{
|
|
8132
|
+
"type": "null"
|
|
8133
|
+
}
|
|
8134
|
+
]
|
|
7788
8135
|
}
|
|
7789
8136
|
},
|
|
7790
8137
|
"required": [
|
|
@@ -8021,6 +8368,17 @@
|
|
|
8021
8368
|
"string",
|
|
8022
8369
|
"null"
|
|
8023
8370
|
]
|
|
8371
|
+
},
|
|
8372
|
+
"work": {
|
|
8373
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
8374
|
+
"anyOf": [
|
|
8375
|
+
{
|
|
8376
|
+
"$ref": "#/$defs/RunWork"
|
|
8377
|
+
},
|
|
8378
|
+
{
|
|
8379
|
+
"type": "null"
|
|
8380
|
+
}
|
|
8381
|
+
]
|
|
8024
8382
|
}
|
|
8025
8383
|
},
|
|
8026
8384
|
"required": [
|
|
@@ -8243,6 +8601,21 @@
|
|
|
8243
8601
|
}
|
|
8244
8602
|
]
|
|
8245
8603
|
},
|
|
8604
|
+
"RunWork": {
|
|
8605
|
+
"description": "Whether a candidate's normalized result carries **evidence it did the task's\nwork** — the first thing [`startup_failure_reason`] consults.\n\nTwo independent witnesses, either of which is decisive:\n\n- **Tool events.** A recorded tool call is the harness acting on the task.\n- **Usage accounting.** [`Usage::reports_billed_work`][billed] — the same definition\n `signals::record_reports_work` classifies a raw harness record with, so the\n two readings of \"billed\" are one contract with one implementation.\n\nIt is also a **published reading**, not only an internal one: a run that\nfailed with nothing to classify carries it as [`RunResult::work`] and in its\nhistory record, because there the question \"did this candidate do anything?\"\nis the only one left. One type for both, so the value a reader sees is the\nsame value the fall-through verdict consulted.\n\n[billed]: crate::domain::signals::Usage::reports_billed_work",
|
|
8606
|
+
"oneOf": [
|
|
8607
|
+
{
|
|
8608
|
+
"description": "The candidate ran the task, whatever its terminal record then said.",
|
|
8609
|
+
"type": "string",
|
|
8610
|
+
"const": "done"
|
|
8611
|
+
},
|
|
8612
|
+
{
|
|
8613
|
+
"description": "Nothing says the candidate got as far as doing work.",
|
|
8614
|
+
"type": "string",
|
|
8615
|
+
"const": "none"
|
|
8616
|
+
}
|
|
8617
|
+
]
|
|
8618
|
+
},
|
|
8246
8619
|
"Status": {
|
|
8247
8620
|
"description": "The outcome of attempting to run one harness.",
|
|
8248
8621
|
"oneOf": [
|
|
@@ -8581,7 +8954,8 @@
|
|
|
8581
8954
|
"1.3",
|
|
8582
8955
|
"1.4",
|
|
8583
8956
|
"1.5",
|
|
8584
|
-
"1.6"
|
|
8957
|
+
"1.6",
|
|
8958
|
+
"1.7"
|
|
8585
8959
|
]
|
|
8586
8960
|
},
|
|
8587
8961
|
"variant": {
|
|
@@ -8705,7 +9079,8 @@
|
|
|
8705
9079
|
"1.3",
|
|
8706
9080
|
"1.4",
|
|
8707
9081
|
"1.5",
|
|
8708
|
-
"1.6"
|
|
9082
|
+
"1.6",
|
|
9083
|
+
"1.7"
|
|
8709
9084
|
]
|
|
8710
9085
|
}
|
|
8711
9086
|
},
|
|
@@ -8747,6 +9122,51 @@
|
|
|
8747
9122
|
}
|
|
8748
9123
|
]
|
|
8749
9124
|
},
|
|
9125
|
+
{
|
|
9126
|
+
"oneOf": [
|
|
9127
|
+
{
|
|
9128
|
+
"type": "object",
|
|
9129
|
+
"properties": {
|
|
9130
|
+
"work": {
|
|
9131
|
+
"type": "null"
|
|
9132
|
+
}
|
|
9133
|
+
}
|
|
9134
|
+
},
|
|
9135
|
+
{
|
|
9136
|
+
"allOf": [
|
|
9137
|
+
{
|
|
9138
|
+
"type": "object",
|
|
9139
|
+
"properties": {
|
|
9140
|
+
"schema_version": {
|
|
9141
|
+
"type": "string",
|
|
9142
|
+
"enum": [
|
|
9143
|
+
"1.7"
|
|
9144
|
+
]
|
|
9145
|
+
},
|
|
9146
|
+
"status": {
|
|
9147
|
+
"type": "string",
|
|
9148
|
+
"enum": [
|
|
9149
|
+
"nonzero",
|
|
9150
|
+
"timeout",
|
|
9151
|
+
"cancelled"
|
|
9152
|
+
]
|
|
9153
|
+
},
|
|
9154
|
+
"work": {
|
|
9155
|
+
"type": "string",
|
|
9156
|
+
"enum": [
|
|
9157
|
+
"done",
|
|
9158
|
+
"none"
|
|
9159
|
+
]
|
|
9160
|
+
}
|
|
9161
|
+
},
|
|
9162
|
+
"required": [
|
|
9163
|
+
"work"
|
|
9164
|
+
]
|
|
9165
|
+
}
|
|
9166
|
+
]
|
|
9167
|
+
}
|
|
9168
|
+
]
|
|
9169
|
+
},
|
|
8750
9170
|
{
|
|
8751
9171
|
"anyOf": [
|
|
8752
9172
|
{
|
|
@@ -8773,7 +9193,8 @@
|
|
|
8773
9193
|
"enum": [
|
|
8774
9194
|
"1.4",
|
|
8775
9195
|
"1.5",
|
|
8776
|
-
"1.6"
|
|
9196
|
+
"1.6",
|
|
9197
|
+
"1.7"
|
|
8777
9198
|
]
|
|
8778
9199
|
}
|
|
8779
9200
|
}
|
|
@@ -8808,7 +9229,8 @@
|
|
|
8808
9229
|
"type": "string",
|
|
8809
9230
|
"enum": [
|
|
8810
9231
|
"1.5",
|
|
8811
|
-
"1.6"
|
|
9232
|
+
"1.6",
|
|
9233
|
+
"1.7"
|
|
8812
9234
|
]
|
|
8813
9235
|
}
|
|
8814
9236
|
}
|
|
@@ -8839,7 +9261,8 @@
|
|
|
8839
9261
|
"schema_version": {
|
|
8840
9262
|
"type": "string",
|
|
8841
9263
|
"enum": [
|
|
8842
|
-
"1.6"
|
|
9264
|
+
"1.6",
|
|
9265
|
+
"1.7"
|
|
8843
9266
|
]
|
|
8844
9267
|
}
|
|
8845
9268
|
}
|
|
@@ -9120,7 +9543,8 @@
|
|
|
9120
9543
|
"1.3",
|
|
9121
9544
|
"1.4",
|
|
9122
9545
|
"1.5",
|
|
9123
|
-
"1.6"
|
|
9546
|
+
"1.6",
|
|
9547
|
+
"1.7"
|
|
9124
9548
|
]
|
|
9125
9549
|
},
|
|
9126
9550
|
"session": {
|
|
@@ -9180,6 +9604,17 @@
|
|
|
9180
9604
|
"string",
|
|
9181
9605
|
"null"
|
|
9182
9606
|
]
|
|
9607
|
+
},
|
|
9608
|
+
"work": {
|
|
9609
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
9610
|
+
"anyOf": [
|
|
9611
|
+
{
|
|
9612
|
+
"$ref": "#/$defs/RunWork"
|
|
9613
|
+
},
|
|
9614
|
+
{
|
|
9615
|
+
"type": "null"
|
|
9616
|
+
}
|
|
9617
|
+
]
|
|
9183
9618
|
}
|
|
9184
9619
|
},
|
|
9185
9620
|
"required": [
|
|
@@ -9546,6 +9981,17 @@
|
|
|
9546
9981
|
"string",
|
|
9547
9982
|
"null"
|
|
9548
9983
|
]
|
|
9984
|
+
},
|
|
9985
|
+
"work": {
|
|
9986
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
9987
|
+
"anyOf": [
|
|
9988
|
+
{
|
|
9989
|
+
"$ref": "#/$defs/RunWork"
|
|
9990
|
+
},
|
|
9991
|
+
{
|
|
9992
|
+
"type": "null"
|
|
9993
|
+
}
|
|
9994
|
+
]
|
|
9549
9995
|
}
|
|
9550
9996
|
},
|
|
9551
9997
|
"required": [
|
|
@@ -9722,7 +10168,8 @@
|
|
|
9722
10168
|
"1.3",
|
|
9723
10169
|
"1.4",
|
|
9724
10170
|
"1.5",
|
|
9725
|
-
"1.6"
|
|
10171
|
+
"1.6",
|
|
10172
|
+
"1.7"
|
|
9726
10173
|
]
|
|
9727
10174
|
},
|
|
9728
10175
|
"session": {
|
|
@@ -9773,6 +10220,17 @@
|
|
|
9773
10220
|
"string",
|
|
9774
10221
|
"null"
|
|
9775
10222
|
]
|
|
10223
|
+
},
|
|
10224
|
+
"work": {
|
|
10225
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
10226
|
+
"anyOf": [
|
|
10227
|
+
{
|
|
10228
|
+
"$ref": "#/$defs/RunWork"
|
|
10229
|
+
},
|
|
10230
|
+
{
|
|
10231
|
+
"type": "null"
|
|
10232
|
+
}
|
|
10233
|
+
]
|
|
9776
10234
|
}
|
|
9777
10235
|
},
|
|
9778
10236
|
"required": [
|
|
@@ -9899,7 +10357,8 @@
|
|
|
9899
10357
|
"1.3",
|
|
9900
10358
|
"1.4",
|
|
9901
10359
|
"1.5",
|
|
9902
|
-
"1.6"
|
|
10360
|
+
"1.6",
|
|
10361
|
+
"1.7"
|
|
9903
10362
|
]
|
|
9904
10363
|
},
|
|
9905
10364
|
"session": {
|
|
@@ -9946,6 +10405,17 @@
|
|
|
9946
10405
|
"string",
|
|
9947
10406
|
"null"
|
|
9948
10407
|
]
|
|
10408
|
+
},
|
|
10409
|
+
"work": {
|
|
10410
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
10411
|
+
"anyOf": [
|
|
10412
|
+
{
|
|
10413
|
+
"$ref": "#/$defs/RunWork"
|
|
10414
|
+
},
|
|
10415
|
+
{
|
|
10416
|
+
"type": "null"
|
|
10417
|
+
}
|
|
10418
|
+
]
|
|
9949
10419
|
}
|
|
9950
10420
|
},
|
|
9951
10421
|
"required": [
|
|
@@ -10074,7 +10544,8 @@
|
|
|
10074
10544
|
"1.3",
|
|
10075
10545
|
"1.4",
|
|
10076
10546
|
"1.5",
|
|
10077
|
-
"1.6"
|
|
10547
|
+
"1.6",
|
|
10548
|
+
"1.7"
|
|
10078
10549
|
]
|
|
10079
10550
|
},
|
|
10080
10551
|
"session": {
|
|
@@ -10128,6 +10599,17 @@
|
|
|
10128
10599
|
"string",
|
|
10129
10600
|
"null"
|
|
10130
10601
|
]
|
|
10602
|
+
},
|
|
10603
|
+
"work": {
|
|
10604
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
10605
|
+
"anyOf": [
|
|
10606
|
+
{
|
|
10607
|
+
"$ref": "#/$defs/RunWork"
|
|
10608
|
+
},
|
|
10609
|
+
{
|
|
10610
|
+
"type": "null"
|
|
10611
|
+
}
|
|
10612
|
+
]
|
|
10131
10613
|
}
|
|
10132
10614
|
},
|
|
10133
10615
|
"required": [
|
|
@@ -10250,7 +10732,8 @@
|
|
|
10250
10732
|
"1.3",
|
|
10251
10733
|
"1.4",
|
|
10252
10734
|
"1.5",
|
|
10253
|
-
"1.6"
|
|
10735
|
+
"1.6",
|
|
10736
|
+
"1.7"
|
|
10254
10737
|
]
|
|
10255
10738
|
},
|
|
10256
10739
|
"session": {
|
|
@@ -10313,6 +10796,17 @@
|
|
|
10313
10796
|
"string",
|
|
10314
10797
|
"null"
|
|
10315
10798
|
]
|
|
10799
|
+
},
|
|
10800
|
+
"work": {
|
|
10801
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
10802
|
+
"anyOf": [
|
|
10803
|
+
{
|
|
10804
|
+
"$ref": "#/$defs/RunWork"
|
|
10805
|
+
},
|
|
10806
|
+
{
|
|
10807
|
+
"type": "null"
|
|
10808
|
+
}
|
|
10809
|
+
]
|
|
10316
10810
|
}
|
|
10317
10811
|
},
|
|
10318
10812
|
"required": [
|
|
@@ -10502,6 +10996,17 @@
|
|
|
10502
10996
|
"string",
|
|
10503
10997
|
"null"
|
|
10504
10998
|
]
|
|
10999
|
+
},
|
|
11000
|
+
"work": {
|
|
11001
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
11002
|
+
"anyOf": [
|
|
11003
|
+
{
|
|
11004
|
+
"$ref": "#/$defs/RunWork"
|
|
11005
|
+
},
|
|
11006
|
+
{
|
|
11007
|
+
"type": "null"
|
|
11008
|
+
}
|
|
11009
|
+
]
|
|
10505
11010
|
}
|
|
10506
11011
|
},
|
|
10507
11012
|
"required": [
|
|
@@ -10733,6 +11238,17 @@
|
|
|
10733
11238
|
"string",
|
|
10734
11239
|
"null"
|
|
10735
11240
|
]
|
|
11241
|
+
},
|
|
11242
|
+
"work": {
|
|
11243
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
11244
|
+
"anyOf": [
|
|
11245
|
+
{
|
|
11246
|
+
"$ref": "#/$defs/RunWork"
|
|
11247
|
+
},
|
|
11248
|
+
{
|
|
11249
|
+
"type": "null"
|
|
11250
|
+
}
|
|
11251
|
+
]
|
|
10736
11252
|
}
|
|
10737
11253
|
},
|
|
10738
11254
|
"required": [
|
|
@@ -10969,6 +11485,17 @@
|
|
|
10969
11485
|
"string",
|
|
10970
11486
|
"null"
|
|
10971
11487
|
]
|
|
11488
|
+
},
|
|
11489
|
+
"work": {
|
|
11490
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
11491
|
+
"anyOf": [
|
|
11492
|
+
{
|
|
11493
|
+
"$ref": "#/$defs/RunWork"
|
|
11494
|
+
},
|
|
11495
|
+
{
|
|
11496
|
+
"type": "null"
|
|
11497
|
+
}
|
|
11498
|
+
]
|
|
10972
11499
|
}
|
|
10973
11500
|
},
|
|
10974
11501
|
"required": [
|
|
@@ -11031,6 +11558,21 @@
|
|
|
11031
11558
|
}
|
|
11032
11559
|
]
|
|
11033
11560
|
},
|
|
11561
|
+
"RunWork": {
|
|
11562
|
+
"description": "Whether a candidate's normalized result carries **evidence it did the task's\nwork** — the first thing [`startup_failure_reason`] consults.\n\nTwo independent witnesses, either of which is decisive:\n\n- **Tool events.** A recorded tool call is the harness acting on the task.\n- **Usage accounting.** [`Usage::reports_billed_work`][billed] — the same definition\n `signals::record_reports_work` classifies a raw harness record with, so the\n two readings of \"billed\" are one contract with one implementation.\n\nIt is also a **published reading**, not only an internal one: a run that\nfailed with nothing to classify carries it as [`RunResult::work`] and in its\nhistory record, because there the question \"did this candidate do anything?\"\nis the only one left. One type for both, so the value a reader sees is the\nsame value the fall-through verdict consulted.\n\n[billed]: crate::domain::signals::Usage::reports_billed_work",
|
|
11563
|
+
"oneOf": [
|
|
11564
|
+
{
|
|
11565
|
+
"description": "The candidate ran the task, whatever its terminal record then said.",
|
|
11566
|
+
"type": "string",
|
|
11567
|
+
"const": "done"
|
|
11568
|
+
},
|
|
11569
|
+
{
|
|
11570
|
+
"description": "Nothing says the candidate got as far as doing work.",
|
|
11571
|
+
"type": "string",
|
|
11572
|
+
"const": "none"
|
|
11573
|
+
}
|
|
11574
|
+
]
|
|
11575
|
+
},
|
|
11034
11576
|
"Status": {
|
|
11035
11577
|
"description": "The outcome of attempting to run one harness.",
|
|
11036
11578
|
"oneOf": [
|
|
@@ -11349,7 +11891,8 @@
|
|
|
11349
11891
|
"1.3",
|
|
11350
11892
|
"1.4",
|
|
11351
11893
|
"1.5",
|
|
11352
|
-
"1.6"
|
|
11894
|
+
"1.6",
|
|
11895
|
+
"1.7"
|
|
11353
11896
|
]
|
|
11354
11897
|
}
|
|
11355
11898
|
},
|
|
@@ -11391,6 +11934,51 @@
|
|
|
11391
11934
|
}
|
|
11392
11935
|
]
|
|
11393
11936
|
},
|
|
11937
|
+
{
|
|
11938
|
+
"oneOf": [
|
|
11939
|
+
{
|
|
11940
|
+
"type": "object",
|
|
11941
|
+
"properties": {
|
|
11942
|
+
"work": {
|
|
11943
|
+
"type": "null"
|
|
11944
|
+
}
|
|
11945
|
+
}
|
|
11946
|
+
},
|
|
11947
|
+
{
|
|
11948
|
+
"allOf": [
|
|
11949
|
+
{
|
|
11950
|
+
"type": "object",
|
|
11951
|
+
"properties": {
|
|
11952
|
+
"schema_version": {
|
|
11953
|
+
"type": "string",
|
|
11954
|
+
"enum": [
|
|
11955
|
+
"1.7"
|
|
11956
|
+
]
|
|
11957
|
+
},
|
|
11958
|
+
"status": {
|
|
11959
|
+
"type": "string",
|
|
11960
|
+
"enum": [
|
|
11961
|
+
"nonzero",
|
|
11962
|
+
"timeout",
|
|
11963
|
+
"cancelled"
|
|
11964
|
+
]
|
|
11965
|
+
},
|
|
11966
|
+
"work": {
|
|
11967
|
+
"type": "string",
|
|
11968
|
+
"enum": [
|
|
11969
|
+
"done",
|
|
11970
|
+
"none"
|
|
11971
|
+
]
|
|
11972
|
+
}
|
|
11973
|
+
},
|
|
11974
|
+
"required": [
|
|
11975
|
+
"work"
|
|
11976
|
+
]
|
|
11977
|
+
}
|
|
11978
|
+
]
|
|
11979
|
+
}
|
|
11980
|
+
]
|
|
11981
|
+
},
|
|
11394
11982
|
{
|
|
11395
11983
|
"anyOf": [
|
|
11396
11984
|
{
|
|
@@ -11417,7 +12005,8 @@
|
|
|
11417
12005
|
"enum": [
|
|
11418
12006
|
"1.4",
|
|
11419
12007
|
"1.5",
|
|
11420
|
-
"1.6"
|
|
12008
|
+
"1.6",
|
|
12009
|
+
"1.7"
|
|
11421
12010
|
]
|
|
11422
12011
|
}
|
|
11423
12012
|
}
|
|
@@ -11452,7 +12041,8 @@
|
|
|
11452
12041
|
"type": "string",
|
|
11453
12042
|
"enum": [
|
|
11454
12043
|
"1.5",
|
|
11455
|
-
"1.6"
|
|
12044
|
+
"1.6",
|
|
12045
|
+
"1.7"
|
|
11456
12046
|
]
|
|
11457
12047
|
}
|
|
11458
12048
|
}
|
|
@@ -11483,7 +12073,8 @@
|
|
|
11483
12073
|
"schema_version": {
|
|
11484
12074
|
"type": "string",
|
|
11485
12075
|
"enum": [
|
|
11486
|
-
"1.6"
|
|
12076
|
+
"1.6",
|
|
12077
|
+
"1.7"
|
|
11487
12078
|
]
|
|
11488
12079
|
}
|
|
11489
12080
|
}
|
|
@@ -11764,7 +12355,8 @@
|
|
|
11764
12355
|
"1.3",
|
|
11765
12356
|
"1.4",
|
|
11766
12357
|
"1.5",
|
|
11767
|
-
"1.6"
|
|
12358
|
+
"1.6",
|
|
12359
|
+
"1.7"
|
|
11768
12360
|
]
|
|
11769
12361
|
},
|
|
11770
12362
|
"session": {
|
|
@@ -11824,6 +12416,17 @@
|
|
|
11824
12416
|
"string",
|
|
11825
12417
|
"null"
|
|
11826
12418
|
]
|
|
12419
|
+
},
|
|
12420
|
+
"work": {
|
|
12421
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
12422
|
+
"anyOf": [
|
|
12423
|
+
{
|
|
12424
|
+
"$ref": "#/$defs/RunWork"
|
|
12425
|
+
},
|
|
12426
|
+
{
|
|
12427
|
+
"type": "null"
|
|
12428
|
+
}
|
|
12429
|
+
]
|
|
11827
12430
|
}
|
|
11828
12431
|
},
|
|
11829
12432
|
"required": [
|
|
@@ -12190,6 +12793,17 @@
|
|
|
12190
12793
|
"string",
|
|
12191
12794
|
"null"
|
|
12192
12795
|
]
|
|
12796
|
+
},
|
|
12797
|
+
"work": {
|
|
12798
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
12799
|
+
"anyOf": [
|
|
12800
|
+
{
|
|
12801
|
+
"$ref": "#/$defs/RunWork"
|
|
12802
|
+
},
|
|
12803
|
+
{
|
|
12804
|
+
"type": "null"
|
|
12805
|
+
}
|
|
12806
|
+
]
|
|
12193
12807
|
}
|
|
12194
12808
|
},
|
|
12195
12809
|
"required": [
|
|
@@ -12366,7 +12980,8 @@
|
|
|
12366
12980
|
"1.3",
|
|
12367
12981
|
"1.4",
|
|
12368
12982
|
"1.5",
|
|
12369
|
-
"1.6"
|
|
12983
|
+
"1.6",
|
|
12984
|
+
"1.7"
|
|
12370
12985
|
]
|
|
12371
12986
|
},
|
|
12372
12987
|
"session": {
|
|
@@ -12417,6 +13032,17 @@
|
|
|
12417
13032
|
"string",
|
|
12418
13033
|
"null"
|
|
12419
13034
|
]
|
|
13035
|
+
},
|
|
13036
|
+
"work": {
|
|
13037
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
13038
|
+
"anyOf": [
|
|
13039
|
+
{
|
|
13040
|
+
"$ref": "#/$defs/RunWork"
|
|
13041
|
+
},
|
|
13042
|
+
{
|
|
13043
|
+
"type": "null"
|
|
13044
|
+
}
|
|
13045
|
+
]
|
|
12420
13046
|
}
|
|
12421
13047
|
},
|
|
12422
13048
|
"required": [
|
|
@@ -12543,7 +13169,8 @@
|
|
|
12543
13169
|
"1.3",
|
|
12544
13170
|
"1.4",
|
|
12545
13171
|
"1.5",
|
|
12546
|
-
"1.6"
|
|
13172
|
+
"1.6",
|
|
13173
|
+
"1.7"
|
|
12547
13174
|
]
|
|
12548
13175
|
},
|
|
12549
13176
|
"session": {
|
|
@@ -12590,6 +13217,17 @@
|
|
|
12590
13217
|
"string",
|
|
12591
13218
|
"null"
|
|
12592
13219
|
]
|
|
13220
|
+
},
|
|
13221
|
+
"work": {
|
|
13222
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
13223
|
+
"anyOf": [
|
|
13224
|
+
{
|
|
13225
|
+
"$ref": "#/$defs/RunWork"
|
|
13226
|
+
},
|
|
13227
|
+
{
|
|
13228
|
+
"type": "null"
|
|
13229
|
+
}
|
|
13230
|
+
]
|
|
12593
13231
|
}
|
|
12594
13232
|
},
|
|
12595
13233
|
"required": [
|
|
@@ -12718,7 +13356,8 @@
|
|
|
12718
13356
|
"1.3",
|
|
12719
13357
|
"1.4",
|
|
12720
13358
|
"1.5",
|
|
12721
|
-
"1.6"
|
|
13359
|
+
"1.6",
|
|
13360
|
+
"1.7"
|
|
12722
13361
|
]
|
|
12723
13362
|
},
|
|
12724
13363
|
"session": {
|
|
@@ -12772,6 +13411,17 @@
|
|
|
12772
13411
|
"string",
|
|
12773
13412
|
"null"
|
|
12774
13413
|
]
|
|
13414
|
+
},
|
|
13415
|
+
"work": {
|
|
13416
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
13417
|
+
"anyOf": [
|
|
13418
|
+
{
|
|
13419
|
+
"$ref": "#/$defs/RunWork"
|
|
13420
|
+
},
|
|
13421
|
+
{
|
|
13422
|
+
"type": "null"
|
|
13423
|
+
}
|
|
13424
|
+
]
|
|
12775
13425
|
}
|
|
12776
13426
|
},
|
|
12777
13427
|
"required": [
|
|
@@ -12894,7 +13544,8 @@
|
|
|
12894
13544
|
"1.3",
|
|
12895
13545
|
"1.4",
|
|
12896
13546
|
"1.5",
|
|
12897
|
-
"1.6"
|
|
13547
|
+
"1.6",
|
|
13548
|
+
"1.7"
|
|
12898
13549
|
]
|
|
12899
13550
|
},
|
|
12900
13551
|
"session": {
|
|
@@ -12957,6 +13608,17 @@
|
|
|
12957
13608
|
"string",
|
|
12958
13609
|
"null"
|
|
12959
13610
|
]
|
|
13611
|
+
},
|
|
13612
|
+
"work": {
|
|
13613
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
13614
|
+
"anyOf": [
|
|
13615
|
+
{
|
|
13616
|
+
"$ref": "#/$defs/RunWork"
|
|
13617
|
+
},
|
|
13618
|
+
{
|
|
13619
|
+
"type": "null"
|
|
13620
|
+
}
|
|
13621
|
+
]
|
|
12960
13622
|
}
|
|
12961
13623
|
},
|
|
12962
13624
|
"required": [
|
|
@@ -13146,6 +13808,17 @@
|
|
|
13146
13808
|
"string",
|
|
13147
13809
|
"null"
|
|
13148
13810
|
]
|
|
13811
|
+
},
|
|
13812
|
+
"work": {
|
|
13813
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
13814
|
+
"anyOf": [
|
|
13815
|
+
{
|
|
13816
|
+
"$ref": "#/$defs/RunWork"
|
|
13817
|
+
},
|
|
13818
|
+
{
|
|
13819
|
+
"type": "null"
|
|
13820
|
+
}
|
|
13821
|
+
]
|
|
13149
13822
|
}
|
|
13150
13823
|
},
|
|
13151
13824
|
"required": [
|
|
@@ -13377,6 +14050,17 @@
|
|
|
13377
14050
|
"string",
|
|
13378
14051
|
"null"
|
|
13379
14052
|
]
|
|
14053
|
+
},
|
|
14054
|
+
"work": {
|
|
14055
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
14056
|
+
"anyOf": [
|
|
14057
|
+
{
|
|
14058
|
+
"$ref": "#/$defs/RunWork"
|
|
14059
|
+
},
|
|
14060
|
+
{
|
|
14061
|
+
"type": "null"
|
|
14062
|
+
}
|
|
14063
|
+
]
|
|
13380
14064
|
}
|
|
13381
14065
|
},
|
|
13382
14066
|
"required": [
|
|
@@ -13613,6 +14297,17 @@
|
|
|
13613
14297
|
"string",
|
|
13614
14298
|
"null"
|
|
13615
14299
|
]
|
|
14300
|
+
},
|
|
14301
|
+
"work": {
|
|
14302
|
+
"description": "What a run that failed with **nothing to classify** has to show for\nitself: [`RunWork::Done`] where the harness recorded a tool call or billed\nusage, [`RunWork::None`] where nothing says it got that far. Copied from\n[`RunResult::work`] — one value with one source, like every signal here —\nand omitted on the wire on every other run, since a success raises the\nquestion and a classified failure has already answered it.\n\nThis is the field that tells apart, for a reader of the record, the two\nthings an unexplained failure can be: a candidate that never got started,\nand one that ran the task and lost. Without it both are a `nonzero` line with a\nnull `failure_kind` and empty accounting, and a chain that stopped at the\nfirst reads exactly like a chain that stopped at the second. Gated to\n[`FIRST_WORK_EVIDENCE_SCHEMA_VERSION`].",
|
|
14303
|
+
"anyOf": [
|
|
14304
|
+
{
|
|
14305
|
+
"$ref": "#/$defs/RunWork"
|
|
14306
|
+
},
|
|
14307
|
+
{
|
|
14308
|
+
"type": "null"
|
|
14309
|
+
}
|
|
14310
|
+
]
|
|
13616
14311
|
}
|
|
13617
14312
|
},
|
|
13618
14313
|
"required": [
|
|
@@ -13675,6 +14370,21 @@
|
|
|
13675
14370
|
}
|
|
13676
14371
|
]
|
|
13677
14372
|
},
|
|
14373
|
+
"RunWork": {
|
|
14374
|
+
"description": "Whether a candidate's normalized result carries **evidence it did the task's\nwork** — the first thing [`startup_failure_reason`] consults.\n\nTwo independent witnesses, either of which is decisive:\n\n- **Tool events.** A recorded tool call is the harness acting on the task.\n- **Usage accounting.** [`Usage::reports_billed_work`][billed] — the same definition\n `signals::record_reports_work` classifies a raw harness record with, so the\n two readings of \"billed\" are one contract with one implementation.\n\nIt is also a **published reading**, not only an internal one: a run that\nfailed with nothing to classify carries it as [`RunResult::work`] and in its\nhistory record, because there the question \"did this candidate do anything?\"\nis the only one left. One type for both, so the value a reader sees is the\nsame value the fall-through verdict consulted.\n\n[billed]: crate::domain::signals::Usage::reports_billed_work",
|
|
14375
|
+
"oneOf": [
|
|
14376
|
+
{
|
|
14377
|
+
"description": "The candidate ran the task, whatever its terminal record then said.",
|
|
14378
|
+
"type": "string",
|
|
14379
|
+
"const": "done"
|
|
14380
|
+
},
|
|
14381
|
+
{
|
|
14382
|
+
"description": "Nothing says the candidate got as far as doing work.",
|
|
14383
|
+
"type": "string",
|
|
14384
|
+
"const": "none"
|
|
14385
|
+
}
|
|
14386
|
+
]
|
|
14387
|
+
},
|
|
13678
14388
|
"Status": {
|
|
13679
14389
|
"description": "The outcome of attempting to run one harness.",
|
|
13680
14390
|
"oneOf": [
|