@orkastery/cli 0.4.2 → 0.5.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 (128) hide show
  1. package/adapters/README.md +11 -0
  2. package/adapters/claude-code/.claude-plugin/plugin.json +3 -1
  3. package/adapters/claude-code/agents/ork-check.md +1 -1
  4. package/adapters/claude-code/agents/ork-go.md +2 -2
  5. package/adapters/claude-code/agents/ork-goal.md +1 -1
  6. package/adapters/claude-code/agents/ork-master.md +1 -1
  7. package/adapters/claude-code/agents/ork-plan.md +1 -1
  8. package/adapters/claude-code/agents/ork-ship.md +1 -1
  9. package/adapters/claude-code/commands/master.md +11 -8
  10. package/adapters/claude-code/commands/ork.md +8 -0
  11. package/adapters/claude-code/commands/ship.md +2 -2
  12. package/adapters/codex/skills/ork/SKILL.md +12 -1
  13. package/adapters/hermes/README.md +3 -0
  14. package/adapters/hermes/bin/ork-abrir-thread.sh +17 -2
  15. package/adapters/hermes/bin/ork-brain.sh +3 -0
  16. package/adapters/hermes/bin/ork-maestro.sh +4 -1
  17. package/adapters/hermes/bin/ork-network-roadmap.sh +11 -0
  18. package/adapters/hermes/bin/ork-roadmap-status.sh +9 -0
  19. package/adapters/hermes/hermes.plugin.json +2 -0
  20. package/adapters/hermes/hitl-ingress/__init__.py +36 -3
  21. package/adapters/hermes/skills/orkastery-devmaster/SKILL.md +19 -20
  22. package/adapters/openclaw/README.md +34 -3
  23. package/adapters/openclaw/dist/hitl-ingress.js +37 -3
  24. package/adapters/openclaw/dist/index.js +92 -39
  25. package/adapters/openclaw/openclaw.plugin.json +10 -3
  26. package/adapters/openclaw/package.json +2 -2
  27. package/adapters/openclaw/src/hitl-ingress.ts +32 -3
  28. package/adapters/openclaw/src/index.ts +108 -41
  29. package/assets/docs/padroes/documentacao-de-produto.md +2 -2
  30. package/assets/docs/padroes/roadmap-de-produto.md +1 -1
  31. package/assets/docs/produto/_modelo-feature.md +2 -0
  32. package/assets/orkmind_bridge.py +214 -1
  33. package/dist/adapters/claude-bg.js +88 -9
  34. package/dist/adapters/codex-events.js +3 -1
  35. package/dist/board.js +74 -0
  36. package/dist/branch-de-estado.js +5 -4
  37. package/dist/busca-semantica.js +161 -0
  38. package/dist/ci.js +141 -10
  39. package/dist/company-brain-cli.js +27 -2
  40. package/dist/company-brain-context.js +132 -0
  41. package/dist/company-brain-dossie.js +376 -0
  42. package/dist/company-brain-mcp.js +4 -1
  43. package/dist/conducao.js +117 -31
  44. package/dist/decisao-autonoma.js +42 -0
  45. package/dist/docs.js +64 -22
  46. package/dist/doctor.js +33 -0
  47. package/dist/entrega-pr.js +109 -5
  48. package/dist/experiencia-instalacao.js +256 -0
  49. package/dist/experiencia.js +72 -0
  50. package/dist/fabrica-estado.js +43 -10
  51. package/dist/fechamento.js +105 -0
  52. package/dist/fix.js +1 -1
  53. package/dist/forja.js +435 -0
  54. package/dist/gates.js +10 -1
  55. package/dist/hitl-classificacao.js +11 -1
  56. package/dist/hitl-contract.js +50 -7
  57. package/dist/hitl-curto.js +158 -0
  58. package/dist/hitl-gates.js +67 -1
  59. package/dist/hitl-lote.js +30 -15
  60. package/dist/hitl-presentation.js +10 -7
  61. package/dist/hitl-resumo.js +33 -12
  62. package/dist/hitl-texto-livre.js +150 -0
  63. package/dist/hosts.js +86 -1
  64. package/dist/index.js +605 -41
  65. package/dist/indice-vetorial.js +317 -0
  66. package/dist/init.js +13 -0
  67. package/dist/integracoes-locais.js +1 -1
  68. package/dist/intelligence-benchmark-contract.js +570 -0
  69. package/dist/intelligence-graph-cli.js +430 -0
  70. package/dist/intelligence-graph-contract.js +577 -0
  71. package/dist/intelligence-graph-extract-md.js +469 -0
  72. package/dist/intelligence-graph-extract-ts.js +810 -0
  73. package/dist/intelligence-graph-extract.js +369 -0
  74. package/dist/intelligence-graph-index.js +512 -0
  75. package/dist/intelligence-graph-parsers.js +327 -0
  76. package/dist/intelligence-graph-query.js +344 -0
  77. package/dist/intelligence-graph-repo.js +187 -0
  78. package/dist/leases.js +84 -0
  79. package/dist/ledger.js +14 -0
  80. package/dist/maestro-cli.js +10 -1
  81. package/dist/maestro-contract.js +5 -1
  82. package/dist/maestro-discovery.js +16 -2
  83. package/dist/maestro-snapshot.js +6 -2
  84. package/dist/manifest.js +142 -5
  85. package/dist/master-batch.js +3 -2
  86. package/dist/master-digest.js +2 -2
  87. package/dist/master-nota.js +203 -0
  88. package/dist/master.js +4 -0
  89. package/dist/mcp-experiencia.js +164 -0
  90. package/dist/mcp-git.js +36 -10
  91. package/dist/mcp-install.js +3 -1
  92. package/dist/mcp-maestro.js +3 -2
  93. package/dist/mcp-server.js +84 -5
  94. package/dist/memoria.js +147 -1
  95. package/dist/network-roadmap.js +907 -0
  96. package/dist/ocupacao.js +38 -2
  97. package/dist/onboarding.js +113 -7
  98. package/dist/orkmind.js +165 -9
  99. package/dist/phase.js +166 -13
  100. package/dist/policies.js +2 -0
  101. package/dist/projeto-alvo.js +551 -0
  102. package/dist/prompts.js +1 -1
  103. package/dist/pulse-consentimento.js +4 -2
  104. package/dist/pulse-delivery.js +5 -0
  105. package/dist/pulse-resposta.js +674 -49
  106. package/dist/pulse.js +21 -0
  107. package/dist/ratelimit.js +3 -2
  108. package/dist/retry.js +230 -9
  109. package/dist/roadmap-reservas.js +262 -20
  110. package/dist/roadmap-status.js +213 -0
  111. package/dist/runtime-ambiente.js +12 -1
  112. package/dist/session-watcher-claude.js +26 -0
  113. package/dist/sessoes.js +49 -15
  114. package/dist/thread-close.js +3 -0
  115. package/dist/verify.js +5 -4
  116. package/dist/worktree.js +77 -0
  117. package/eval/casos/orchestration-experience-pt-br.json +48 -0
  118. package/eval/casos/orchestration-experience.json +48 -0
  119. package/package.json +1 -1
  120. package/schemas/code-artifact-graph.v1.schema.json +581 -0
  121. package/schemas/graph-benchmark.v1.schema.json +2240 -0
  122. package/schemas/maestro-snapshot.schema.json +23 -0
  123. package/skills/README.md +7 -5
  124. package/skills/core/onboarding/SKILL.md +7 -0
  125. package/skills/core/orchestration-experience/SKILL.md +113 -0
  126. package/skills/core/orchestration-experience-pt-br/SKILL.md +112 -0
  127. package/skills/core/orkastery-bootstrap/SKILL.md +2 -2
  128. package/skills/phases/go-implementation/SKILL.md +2 -0
@@ -0,0 +1,2240 @@
1
+ {
2
+ "$ref": "#/definitions/GraphBenchmark",
3
+ "definitions": {
4
+ "GraphBenchmark": {
5
+ "type": "object",
6
+ "properties": {
7
+ "schema": {
8
+ "type": "string",
9
+ "const": "ork.graph-benchmark/v1"
10
+ },
11
+ "experiment_id": {
12
+ "type": "string",
13
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
14
+ },
15
+ "data_class": {
16
+ "type": "string",
17
+ "enum": [
18
+ "synthetic",
19
+ "measured"
20
+ ]
21
+ },
22
+ "status": {
23
+ "type": "string",
24
+ "enum": [
25
+ "not-run",
26
+ "partial",
27
+ "complete"
28
+ ]
29
+ },
30
+ "protocol": {
31
+ "type": "object",
32
+ "properties": {
33
+ "protocol_version": {
34
+ "type": "string",
35
+ "const": "kg1-ab/1"
36
+ },
37
+ "corpus": {
38
+ "type": "object",
39
+ "properties": {
40
+ "corpus_id": {
41
+ "type": "string",
42
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
43
+ },
44
+ "corpus_version": {
45
+ "type": "string",
46
+ "minLength": 1,
47
+ "maxLength": 512
48
+ },
49
+ "corpus_hash": {
50
+ "type": "string",
51
+ "pattern": "^[a-f0-9]{64}$"
52
+ }
53
+ },
54
+ "required": [
55
+ "corpus_id",
56
+ "corpus_version",
57
+ "corpus_hash"
58
+ ],
59
+ "additionalProperties": false
60
+ },
61
+ "tasks": {
62
+ "type": "array",
63
+ "items": {
64
+ "type": "object",
65
+ "properties": {
66
+ "task_id": {
67
+ "type": "string",
68
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
69
+ },
70
+ "question_hash": {
71
+ "type": "string",
72
+ "pattern": "^[a-f0-9]{64}$"
73
+ },
74
+ "mandatory_fact_ids": {
75
+ "type": "array",
76
+ "items": {
77
+ "type": "string",
78
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
79
+ },
80
+ "minItems": 1,
81
+ "maxItems": 1000
82
+ },
83
+ "claim_ids": {
84
+ "type": "array",
85
+ "items": {
86
+ "type": "string",
87
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
88
+ },
89
+ "maxItems": 1000
90
+ },
91
+ "verifiers": {
92
+ "type": "array",
93
+ "items": {
94
+ "type": "object",
95
+ "properties": {
96
+ "verify_id": {
97
+ "type": "string",
98
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
99
+ },
100
+ "command_hash": {
101
+ "type": "string",
102
+ "pattern": "^[a-f0-9]{64}$"
103
+ }
104
+ },
105
+ "required": [
106
+ "verify_id",
107
+ "command_hash"
108
+ ],
109
+ "additionalProperties": false
110
+ },
111
+ "maxItems": 1000
112
+ }
113
+ },
114
+ "required": [
115
+ "task_id",
116
+ "question_hash",
117
+ "mandatory_fact_ids",
118
+ "claim_ids",
119
+ "verifiers"
120
+ ],
121
+ "additionalProperties": false
122
+ },
123
+ "minItems": 1,
124
+ "maxItems": 1000
125
+ },
126
+ "repetitions_per_task": {
127
+ "type": "integer",
128
+ "minimum": 1,
129
+ "maximum": 100000
130
+ },
131
+ "pairs": {
132
+ "type": "array",
133
+ "items": {
134
+ "type": "object",
135
+ "properties": {
136
+ "pair_id": {
137
+ "type": "string",
138
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
139
+ },
140
+ "task_id": {
141
+ "type": "string",
142
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
143
+ },
144
+ "repetition": {
145
+ "type": "integer",
146
+ "minimum": 1,
147
+ "maximum": 100000
148
+ },
149
+ "order": {
150
+ "type": "string",
151
+ "enum": [
152
+ "AB",
153
+ "BA"
154
+ ]
155
+ }
156
+ },
157
+ "required": [
158
+ "pair_id",
159
+ "task_id",
160
+ "repetition",
161
+ "order"
162
+ ],
163
+ "additionalProperties": false
164
+ },
165
+ "minItems": 1,
166
+ "maxItems": 100000
167
+ },
168
+ "order_seed": {
169
+ "type": "string",
170
+ "minLength": 1,
171
+ "maxLength": 512
172
+ },
173
+ "controls": {
174
+ "type": "object",
175
+ "properties": {
176
+ "model": {
177
+ "type": "string",
178
+ "minLength": 1,
179
+ "maxLength": 512
180
+ },
181
+ "model_revision": {
182
+ "type": "string",
183
+ "minLength": 1,
184
+ "maxLength": 512
185
+ },
186
+ "provider": {
187
+ "type": "string",
188
+ "minLength": 1,
189
+ "maxLength": 512
190
+ },
191
+ "runtime": {
192
+ "type": "string",
193
+ "minLength": 1,
194
+ "maxLength": 512
195
+ },
196
+ "runtime_version": {
197
+ "type": "string",
198
+ "minLength": 1,
199
+ "maxLength": 512
200
+ },
201
+ "effort": {
202
+ "type": "string",
203
+ "minLength": 1,
204
+ "maxLength": 512
205
+ },
206
+ "sampling": {
207
+ "type": "object",
208
+ "properties": {
209
+ "temperature": {
210
+ "anyOf": [
211
+ {
212
+ "type": "number",
213
+ "minimum": 0,
214
+ "maximum": 10
215
+ },
216
+ {
217
+ "type": "null"
218
+ }
219
+ ]
220
+ },
221
+ "top_p": {
222
+ "anyOf": [
223
+ {
224
+ "type": "number",
225
+ "minimum": 0,
226
+ "maximum": 1
227
+ },
228
+ {
229
+ "type": "null"
230
+ }
231
+ ]
232
+ },
233
+ "seed": {
234
+ "anyOf": [
235
+ {
236
+ "type": "integer",
237
+ "minimum": 0,
238
+ "maximum": 9007199254740991
239
+ },
240
+ {
241
+ "type": "null"
242
+ }
243
+ ]
244
+ },
245
+ "seed_unavailable_reason": {
246
+ "anyOf": [
247
+ {
248
+ "type": "string",
249
+ "minLength": 1,
250
+ "maxLength": 512
251
+ },
252
+ {
253
+ "type": "null"
254
+ }
255
+ ]
256
+ }
257
+ },
258
+ "required": [
259
+ "temperature",
260
+ "top_p",
261
+ "seed",
262
+ "seed_unavailable_reason"
263
+ ],
264
+ "additionalProperties": false
265
+ },
266
+ "base_prompt_hash": {
267
+ "type": "string",
268
+ "pattern": "^[a-f0-9]{64}$"
269
+ },
270
+ "tools_hash": {
271
+ "type": "string",
272
+ "pattern": "^[a-f0-9]{64}$"
273
+ },
274
+ "stop_rules_hash": {
275
+ "type": "string",
276
+ "pattern": "^[a-f0-9]{64}$"
277
+ },
278
+ "budget": {
279
+ "type": "object",
280
+ "properties": {
281
+ "max_total_tokens": {
282
+ "type": "integer",
283
+ "minimum": 0,
284
+ "maximum": 9007199254740991
285
+ },
286
+ "max_context_tokens": {
287
+ "type": "integer",
288
+ "minimum": 0,
289
+ "maximum": 9007199254740991
290
+ },
291
+ "max_wall_ms": {
292
+ "type": "integer",
293
+ "minimum": 0,
294
+ "maximum": 9007199254740991
295
+ }
296
+ },
297
+ "required": [
298
+ "max_total_tokens",
299
+ "max_context_tokens",
300
+ "max_wall_ms"
301
+ ],
302
+ "additionalProperties": false
303
+ },
304
+ "snapshot_id": {
305
+ "type": "string",
306
+ "pattern": "^snap-[a-f0-9]{64}$"
307
+ },
308
+ "tenant_id": {
309
+ "type": "string",
310
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,63}$"
311
+ },
312
+ "acl_policy_hash": {
313
+ "type": "string",
314
+ "pattern": "^[a-f0-9]{64}$"
315
+ }
316
+ },
317
+ "required": [
318
+ "model",
319
+ "model_revision",
320
+ "provider",
321
+ "runtime",
322
+ "runtime_version",
323
+ "effort",
324
+ "sampling",
325
+ "base_prompt_hash",
326
+ "tools_hash",
327
+ "stop_rules_hash",
328
+ "budget",
329
+ "snapshot_id",
330
+ "tenant_id",
331
+ "acl_policy_hash"
332
+ ],
333
+ "additionalProperties": false
334
+ },
335
+ "treatment": {
336
+ "type": "object",
337
+ "properties": {
338
+ "graph_schema": {
339
+ "type": "string",
340
+ "const": "ork.code-artifact-graph/v1"
341
+ },
342
+ "graph_digest": {
343
+ "type": "string",
344
+ "pattern": "^[a-f0-9]{64}$"
345
+ },
346
+ "snapshot_id": {
347
+ "type": "string",
348
+ "pattern": "^snap-[a-f0-9]{64}$"
349
+ },
350
+ "edge_count": {
351
+ "type": "integer",
352
+ "minimum": 0,
353
+ "maximum": 9007199254740991
354
+ },
355
+ "edge_set_digest": {
356
+ "type": "string",
357
+ "pattern": "^[a-f0-9]{64}$"
358
+ }
359
+ },
360
+ "required": [
361
+ "graph_schema",
362
+ "graph_digest",
363
+ "snapshot_id",
364
+ "edge_count",
365
+ "edge_set_digest"
366
+ ],
367
+ "additionalProperties": false
368
+ },
369
+ "environment_hash": {
370
+ "type": "string",
371
+ "pattern": "^[a-f0-9]{64}$"
372
+ },
373
+ "cache_policy": {
374
+ "type": "string",
375
+ "enum": [
376
+ "cold",
377
+ "warm"
378
+ ]
379
+ },
380
+ "warmup_runs_per_arm": {
381
+ "type": "integer",
382
+ "minimum": 0,
383
+ "maximum": 100
384
+ },
385
+ "retry_policy": {
386
+ "type": "object",
387
+ "properties": {
388
+ "max_attempts": {
389
+ "type": "integer",
390
+ "minimum": 1,
391
+ "maximum": 100
392
+ }
393
+ },
394
+ "required": [
395
+ "max_attempts"
396
+ ],
397
+ "additionalProperties": false
398
+ },
399
+ "tool_call_convention": {
400
+ "type": "string",
401
+ "enum": [
402
+ "model-requested",
403
+ "executed"
404
+ ]
405
+ },
406
+ "latency_boundary": {
407
+ "type": "string",
408
+ "const": "end-to-end"
409
+ },
410
+ "primary_metric": {
411
+ "type": "string",
412
+ "const": "logical_total_tokens"
413
+ },
414
+ "required_metrics": {
415
+ "type": "array",
416
+ "items": {
417
+ "type": "string",
418
+ "enum": [
419
+ "logical_total_tokens",
420
+ "residual_context_tokens",
421
+ "tool_calls",
422
+ "latency_ms",
423
+ "cost",
424
+ "index_preparation"
425
+ ]
426
+ },
427
+ "minItems": 1,
428
+ "maxItems": 6
429
+ }
430
+ },
431
+ "required": [
432
+ "protocol_version",
433
+ "corpus",
434
+ "tasks",
435
+ "repetitions_per_task",
436
+ "pairs",
437
+ "order_seed",
438
+ "controls",
439
+ "treatment",
440
+ "environment_hash",
441
+ "cache_policy",
442
+ "warmup_runs_per_arm",
443
+ "retry_policy",
444
+ "tool_call_convention",
445
+ "latency_boundary",
446
+ "primary_metric",
447
+ "required_metrics"
448
+ ],
449
+ "additionalProperties": false
450
+ },
451
+ "index_preparation": {
452
+ "type": "object",
453
+ "properties": {
454
+ "scenario": {
455
+ "type": "string",
456
+ "enum": [
457
+ "cold",
458
+ "warm"
459
+ ]
460
+ },
461
+ "amortization_hypothesis": {
462
+ "type": "string",
463
+ "minLength": 1,
464
+ "maxLength": 512
465
+ },
466
+ "logical_total_tokens": {
467
+ "type": "object",
468
+ "properties": {
469
+ "value": {
470
+ "anyOf": [
471
+ {
472
+ "type": "number",
473
+ "minimum": 0
474
+ },
475
+ {
476
+ "type": "null"
477
+ }
478
+ ]
479
+ },
480
+ "source": {
481
+ "type": "string",
482
+ "enum": [
483
+ "runtime_reported",
484
+ "tokenizer_exact",
485
+ "estimated",
486
+ "unavailable"
487
+ ]
488
+ },
489
+ "method": {
490
+ "type": "string",
491
+ "minLength": 1,
492
+ "maxLength": 512
493
+ },
494
+ "method_version": {
495
+ "type": "string",
496
+ "minLength": 1,
497
+ "maxLength": 512
498
+ },
499
+ "evidence_ref": {
500
+ "anyOf": [
501
+ {
502
+ "type": "object",
503
+ "properties": {
504
+ "ref": {
505
+ "type": "string",
506
+ "minLength": 1,
507
+ "maxLength": 512
508
+ },
509
+ "sha256": {
510
+ "type": "string",
511
+ "pattern": "^[a-f0-9]{64}$"
512
+ }
513
+ },
514
+ "required": [
515
+ "ref",
516
+ "sha256"
517
+ ],
518
+ "additionalProperties": false
519
+ },
520
+ {
521
+ "type": "null"
522
+ }
523
+ ]
524
+ },
525
+ "unavailable_reason": {
526
+ "anyOf": [
527
+ {
528
+ "type": "string",
529
+ "minLength": 1,
530
+ "maxLength": 512
531
+ },
532
+ {
533
+ "type": "null"
534
+ }
535
+ ]
536
+ },
537
+ "unit": {
538
+ "type": "string",
539
+ "const": "tokens"
540
+ }
541
+ },
542
+ "required": [
543
+ "value",
544
+ "source",
545
+ "method",
546
+ "method_version",
547
+ "evidence_ref",
548
+ "unavailable_reason",
549
+ "unit"
550
+ ],
551
+ "additionalProperties": false
552
+ },
553
+ "latency_ms": {
554
+ "type": "object",
555
+ "properties": {
556
+ "value": {
557
+ "anyOf": [
558
+ {
559
+ "type": "number",
560
+ "minimum": 0
561
+ },
562
+ {
563
+ "type": "null"
564
+ }
565
+ ]
566
+ },
567
+ "source": {
568
+ "type": "string",
569
+ "enum": [
570
+ "runtime_reported",
571
+ "tokenizer_exact",
572
+ "estimated",
573
+ "unavailable"
574
+ ]
575
+ },
576
+ "method": {
577
+ "type": "string",
578
+ "minLength": 1,
579
+ "maxLength": 512
580
+ },
581
+ "method_version": {
582
+ "type": "string",
583
+ "minLength": 1,
584
+ "maxLength": 512
585
+ },
586
+ "evidence_ref": {
587
+ "anyOf": [
588
+ {
589
+ "type": "object",
590
+ "properties": {
591
+ "ref": {
592
+ "type": "string",
593
+ "minLength": 1,
594
+ "maxLength": 512
595
+ },
596
+ "sha256": {
597
+ "type": "string",
598
+ "pattern": "^[a-f0-9]{64}$"
599
+ }
600
+ },
601
+ "required": [
602
+ "ref",
603
+ "sha256"
604
+ ],
605
+ "additionalProperties": false
606
+ },
607
+ {
608
+ "type": "null"
609
+ }
610
+ ]
611
+ },
612
+ "unavailable_reason": {
613
+ "anyOf": [
614
+ {
615
+ "type": "string",
616
+ "minLength": 1,
617
+ "maxLength": 512
618
+ },
619
+ {
620
+ "type": "null"
621
+ }
622
+ ]
623
+ },
624
+ "unit": {
625
+ "type": "string",
626
+ "const": "ms"
627
+ }
628
+ },
629
+ "required": [
630
+ "value",
631
+ "source",
632
+ "method",
633
+ "method_version",
634
+ "evidence_ref",
635
+ "unavailable_reason",
636
+ "unit"
637
+ ],
638
+ "additionalProperties": false
639
+ },
640
+ "cost": {
641
+ "type": "object",
642
+ "properties": {
643
+ "value": {
644
+ "anyOf": [
645
+ {
646
+ "type": "number",
647
+ "minimum": 0
648
+ },
649
+ {
650
+ "type": "null"
651
+ }
652
+ ]
653
+ },
654
+ "source": {
655
+ "type": "string",
656
+ "enum": [
657
+ "runtime_reported",
658
+ "tokenizer_exact",
659
+ "estimated",
660
+ "unavailable"
661
+ ]
662
+ },
663
+ "method": {
664
+ "type": "string",
665
+ "minLength": 1,
666
+ "maxLength": 512
667
+ },
668
+ "method_version": {
669
+ "type": "string",
670
+ "minLength": 1,
671
+ "maxLength": 512
672
+ },
673
+ "evidence_ref": {
674
+ "anyOf": [
675
+ {
676
+ "type": "object",
677
+ "properties": {
678
+ "ref": {
679
+ "type": "string",
680
+ "minLength": 1,
681
+ "maxLength": 512
682
+ },
683
+ "sha256": {
684
+ "type": "string",
685
+ "pattern": "^[a-f0-9]{64}$"
686
+ }
687
+ },
688
+ "required": [
689
+ "ref",
690
+ "sha256"
691
+ ],
692
+ "additionalProperties": false
693
+ },
694
+ {
695
+ "type": "null"
696
+ }
697
+ ]
698
+ },
699
+ "unavailable_reason": {
700
+ "anyOf": [
701
+ {
702
+ "type": "string",
703
+ "minLength": 1,
704
+ "maxLength": 512
705
+ },
706
+ {
707
+ "type": "null"
708
+ }
709
+ ]
710
+ },
711
+ "unit": {
712
+ "type": "string",
713
+ "pattern": "^[A-Z]{3}$"
714
+ },
715
+ "cost_kind": {
716
+ "anyOf": [
717
+ {
718
+ "type": "string",
719
+ "enum": [
720
+ "paid",
721
+ "marginal",
722
+ "attributed"
723
+ ]
724
+ },
725
+ {
726
+ "type": "null"
727
+ }
728
+ ]
729
+ },
730
+ "rate_card": {
731
+ "anyOf": [
732
+ {
733
+ "type": "object",
734
+ "properties": {
735
+ "id": {
736
+ "type": "string",
737
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
738
+ },
739
+ "version": {
740
+ "type": "string",
741
+ "minLength": 1,
742
+ "maxLength": 512
743
+ }
744
+ },
745
+ "required": [
746
+ "id",
747
+ "version"
748
+ ],
749
+ "additionalProperties": false
750
+ },
751
+ {
752
+ "type": "null"
753
+ }
754
+ ]
755
+ }
756
+ },
757
+ "required": [
758
+ "value",
759
+ "source",
760
+ "method",
761
+ "method_version",
762
+ "evidence_ref",
763
+ "unavailable_reason",
764
+ "unit",
765
+ "cost_kind",
766
+ "rate_card"
767
+ ],
768
+ "additionalProperties": false
769
+ }
770
+ },
771
+ "required": [
772
+ "scenario",
773
+ "amortization_hypothesis",
774
+ "logical_total_tokens",
775
+ "latency_ms",
776
+ "cost"
777
+ ],
778
+ "additionalProperties": false
779
+ },
780
+ "runs": {
781
+ "type": "array",
782
+ "items": {
783
+ "type": "object",
784
+ "properties": {
785
+ "run_id": {
786
+ "type": "string",
787
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
788
+ },
789
+ "session_id": {
790
+ "type": "string",
791
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
792
+ },
793
+ "pair_id": {
794
+ "anyOf": [
795
+ {
796
+ "type": "string",
797
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
798
+ },
799
+ {
800
+ "type": "null"
801
+ }
802
+ ]
803
+ },
804
+ "arm": {
805
+ "type": "string",
806
+ "enum": [
807
+ "A",
808
+ "B"
809
+ ]
810
+ },
811
+ "task_id": {
812
+ "type": "string",
813
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
814
+ },
815
+ "repetition": {
816
+ "anyOf": [
817
+ {
818
+ "type": "integer",
819
+ "minimum": 1,
820
+ "maximum": 100000
821
+ },
822
+ {
823
+ "type": "null"
824
+ }
825
+ ]
826
+ },
827
+ "attempt": {
828
+ "type": "integer",
829
+ "minimum": 1,
830
+ "maximum": 100
831
+ },
832
+ "warmup": {
833
+ "type": "boolean"
834
+ },
835
+ "started_at": {
836
+ "type": "string",
837
+ "format": "date-time"
838
+ },
839
+ "ended_at": {
840
+ "type": "string",
841
+ "format": "date-time"
842
+ },
843
+ "outcome": {
844
+ "type": "string",
845
+ "enum": [
846
+ "completed",
847
+ "task-failed",
848
+ "timeout",
849
+ "cancelled",
850
+ "error",
851
+ "instrumentation-failed"
852
+ ]
853
+ },
854
+ "controls": {
855
+ "type": "object",
856
+ "properties": {
857
+ "model": {
858
+ "type": "string",
859
+ "minLength": 1,
860
+ "maxLength": 512
861
+ },
862
+ "model_revision": {
863
+ "type": "string",
864
+ "minLength": 1,
865
+ "maxLength": 512
866
+ },
867
+ "provider": {
868
+ "type": "string",
869
+ "minLength": 1,
870
+ "maxLength": 512
871
+ },
872
+ "runtime": {
873
+ "type": "string",
874
+ "minLength": 1,
875
+ "maxLength": 512
876
+ },
877
+ "runtime_version": {
878
+ "type": "string",
879
+ "minLength": 1,
880
+ "maxLength": 512
881
+ },
882
+ "effort": {
883
+ "type": "string",
884
+ "minLength": 1,
885
+ "maxLength": 512
886
+ },
887
+ "sampling": {
888
+ "type": "object",
889
+ "properties": {
890
+ "temperature": {
891
+ "anyOf": [
892
+ {
893
+ "type": "number",
894
+ "minimum": 0,
895
+ "maximum": 10
896
+ },
897
+ {
898
+ "type": "null"
899
+ }
900
+ ]
901
+ },
902
+ "top_p": {
903
+ "anyOf": [
904
+ {
905
+ "type": "number",
906
+ "minimum": 0,
907
+ "maximum": 1
908
+ },
909
+ {
910
+ "type": "null"
911
+ }
912
+ ]
913
+ },
914
+ "seed": {
915
+ "anyOf": [
916
+ {
917
+ "type": "integer",
918
+ "minimum": 0,
919
+ "maximum": 9007199254740991
920
+ },
921
+ {
922
+ "type": "null"
923
+ }
924
+ ]
925
+ },
926
+ "seed_unavailable_reason": {
927
+ "anyOf": [
928
+ {
929
+ "type": "string",
930
+ "minLength": 1,
931
+ "maxLength": 512
932
+ },
933
+ {
934
+ "type": "null"
935
+ }
936
+ ]
937
+ }
938
+ },
939
+ "required": [
940
+ "temperature",
941
+ "top_p",
942
+ "seed",
943
+ "seed_unavailable_reason"
944
+ ],
945
+ "additionalProperties": false
946
+ },
947
+ "base_prompt_hash": {
948
+ "type": "string",
949
+ "pattern": "^[a-f0-9]{64}$"
950
+ },
951
+ "tools_hash": {
952
+ "type": "string",
953
+ "pattern": "^[a-f0-9]{64}$"
954
+ },
955
+ "stop_rules_hash": {
956
+ "type": "string",
957
+ "pattern": "^[a-f0-9]{64}$"
958
+ },
959
+ "budget": {
960
+ "type": "object",
961
+ "properties": {
962
+ "max_total_tokens": {
963
+ "type": "integer",
964
+ "minimum": 0,
965
+ "maximum": 9007199254740991
966
+ },
967
+ "max_context_tokens": {
968
+ "type": "integer",
969
+ "minimum": 0,
970
+ "maximum": 9007199254740991
971
+ },
972
+ "max_wall_ms": {
973
+ "type": "integer",
974
+ "minimum": 0,
975
+ "maximum": 9007199254740991
976
+ }
977
+ },
978
+ "required": [
979
+ "max_total_tokens",
980
+ "max_context_tokens",
981
+ "max_wall_ms"
982
+ ],
983
+ "additionalProperties": false
984
+ },
985
+ "snapshot_id": {
986
+ "type": "string",
987
+ "pattern": "^snap-[a-f0-9]{64}$"
988
+ },
989
+ "tenant_id": {
990
+ "type": "string",
991
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,63}$"
992
+ },
993
+ "acl_policy_hash": {
994
+ "type": "string",
995
+ "pattern": "^[a-f0-9]{64}$"
996
+ }
997
+ },
998
+ "required": [
999
+ "model",
1000
+ "model_revision",
1001
+ "provider",
1002
+ "runtime",
1003
+ "runtime_version",
1004
+ "effort",
1005
+ "sampling",
1006
+ "base_prompt_hash",
1007
+ "tools_hash",
1008
+ "stop_rules_hash",
1009
+ "budget",
1010
+ "snapshot_id",
1011
+ "tenant_id",
1012
+ "acl_policy_hash"
1013
+ ],
1014
+ "additionalProperties": false
1015
+ },
1016
+ "question_hash": {
1017
+ "type": "string",
1018
+ "pattern": "^[a-f0-9]{64}$"
1019
+ },
1020
+ "metrics": {
1021
+ "type": "object",
1022
+ "properties": {
1023
+ "logical_total_tokens": {
1024
+ "type": "object",
1025
+ "properties": {
1026
+ "value": {
1027
+ "anyOf": [
1028
+ {
1029
+ "type": "number",
1030
+ "minimum": 0
1031
+ },
1032
+ {
1033
+ "type": "null"
1034
+ }
1035
+ ]
1036
+ },
1037
+ "source": {
1038
+ "type": "string",
1039
+ "enum": [
1040
+ "runtime_reported",
1041
+ "tokenizer_exact",
1042
+ "estimated",
1043
+ "unavailable"
1044
+ ]
1045
+ },
1046
+ "method": {
1047
+ "type": "string",
1048
+ "minLength": 1,
1049
+ "maxLength": 512
1050
+ },
1051
+ "method_version": {
1052
+ "type": "string",
1053
+ "minLength": 1,
1054
+ "maxLength": 512
1055
+ },
1056
+ "evidence_ref": {
1057
+ "anyOf": [
1058
+ {
1059
+ "type": "object",
1060
+ "properties": {
1061
+ "ref": {
1062
+ "type": "string",
1063
+ "minLength": 1,
1064
+ "maxLength": 512
1065
+ },
1066
+ "sha256": {
1067
+ "type": "string",
1068
+ "pattern": "^[a-f0-9]{64}$"
1069
+ }
1070
+ },
1071
+ "required": [
1072
+ "ref",
1073
+ "sha256"
1074
+ ],
1075
+ "additionalProperties": false
1076
+ },
1077
+ {
1078
+ "type": "null"
1079
+ }
1080
+ ]
1081
+ },
1082
+ "unavailable_reason": {
1083
+ "anyOf": [
1084
+ {
1085
+ "type": "string",
1086
+ "minLength": 1,
1087
+ "maxLength": 512
1088
+ },
1089
+ {
1090
+ "type": "null"
1091
+ }
1092
+ ]
1093
+ },
1094
+ "unit": {
1095
+ "type": "string",
1096
+ "const": "tokens"
1097
+ }
1098
+ },
1099
+ "required": [
1100
+ "value",
1101
+ "source",
1102
+ "method",
1103
+ "method_version",
1104
+ "evidence_ref",
1105
+ "unavailable_reason",
1106
+ "unit"
1107
+ ],
1108
+ "additionalProperties": false
1109
+ },
1110
+ "input_total_tokens": {
1111
+ "type": "object",
1112
+ "properties": {
1113
+ "value": {
1114
+ "anyOf": [
1115
+ {
1116
+ "type": "number",
1117
+ "minimum": 0
1118
+ },
1119
+ {
1120
+ "type": "null"
1121
+ }
1122
+ ]
1123
+ },
1124
+ "source": {
1125
+ "type": "string",
1126
+ "enum": [
1127
+ "runtime_reported",
1128
+ "tokenizer_exact",
1129
+ "estimated",
1130
+ "unavailable"
1131
+ ]
1132
+ },
1133
+ "method": {
1134
+ "type": "string",
1135
+ "minLength": 1,
1136
+ "maxLength": 512
1137
+ },
1138
+ "method_version": {
1139
+ "type": "string",
1140
+ "minLength": 1,
1141
+ "maxLength": 512
1142
+ },
1143
+ "evidence_ref": {
1144
+ "anyOf": [
1145
+ {
1146
+ "type": "object",
1147
+ "properties": {
1148
+ "ref": {
1149
+ "type": "string",
1150
+ "minLength": 1,
1151
+ "maxLength": 512
1152
+ },
1153
+ "sha256": {
1154
+ "type": "string",
1155
+ "pattern": "^[a-f0-9]{64}$"
1156
+ }
1157
+ },
1158
+ "required": [
1159
+ "ref",
1160
+ "sha256"
1161
+ ],
1162
+ "additionalProperties": false
1163
+ },
1164
+ {
1165
+ "type": "null"
1166
+ }
1167
+ ]
1168
+ },
1169
+ "unavailable_reason": {
1170
+ "anyOf": [
1171
+ {
1172
+ "type": "string",
1173
+ "minLength": 1,
1174
+ "maxLength": 512
1175
+ },
1176
+ {
1177
+ "type": "null"
1178
+ }
1179
+ ]
1180
+ },
1181
+ "unit": {
1182
+ "type": "string",
1183
+ "const": "tokens"
1184
+ }
1185
+ },
1186
+ "required": [
1187
+ "value",
1188
+ "source",
1189
+ "method",
1190
+ "method_version",
1191
+ "evidence_ref",
1192
+ "unavailable_reason",
1193
+ "unit"
1194
+ ],
1195
+ "additionalProperties": false
1196
+ },
1197
+ "output_total_tokens": {
1198
+ "type": "object",
1199
+ "properties": {
1200
+ "value": {
1201
+ "anyOf": [
1202
+ {
1203
+ "type": "number",
1204
+ "minimum": 0
1205
+ },
1206
+ {
1207
+ "type": "null"
1208
+ }
1209
+ ]
1210
+ },
1211
+ "source": {
1212
+ "type": "string",
1213
+ "enum": [
1214
+ "runtime_reported",
1215
+ "tokenizer_exact",
1216
+ "estimated",
1217
+ "unavailable"
1218
+ ]
1219
+ },
1220
+ "method": {
1221
+ "type": "string",
1222
+ "minLength": 1,
1223
+ "maxLength": 512
1224
+ },
1225
+ "method_version": {
1226
+ "type": "string",
1227
+ "minLength": 1,
1228
+ "maxLength": 512
1229
+ },
1230
+ "evidence_ref": {
1231
+ "anyOf": [
1232
+ {
1233
+ "type": "object",
1234
+ "properties": {
1235
+ "ref": {
1236
+ "type": "string",
1237
+ "minLength": 1,
1238
+ "maxLength": 512
1239
+ },
1240
+ "sha256": {
1241
+ "type": "string",
1242
+ "pattern": "^[a-f0-9]{64}$"
1243
+ }
1244
+ },
1245
+ "required": [
1246
+ "ref",
1247
+ "sha256"
1248
+ ],
1249
+ "additionalProperties": false
1250
+ },
1251
+ {
1252
+ "type": "null"
1253
+ }
1254
+ ]
1255
+ },
1256
+ "unavailable_reason": {
1257
+ "anyOf": [
1258
+ {
1259
+ "type": "string",
1260
+ "minLength": 1,
1261
+ "maxLength": 512
1262
+ },
1263
+ {
1264
+ "type": "null"
1265
+ }
1266
+ ]
1267
+ },
1268
+ "unit": {
1269
+ "type": "string",
1270
+ "const": "tokens"
1271
+ }
1272
+ },
1273
+ "required": [
1274
+ "value",
1275
+ "source",
1276
+ "method",
1277
+ "method_version",
1278
+ "evidence_ref",
1279
+ "unavailable_reason",
1280
+ "unit"
1281
+ ],
1282
+ "additionalProperties": false
1283
+ },
1284
+ "cached_input_tokens": {
1285
+ "type": "object",
1286
+ "properties": {
1287
+ "value": {
1288
+ "anyOf": [
1289
+ {
1290
+ "type": "number",
1291
+ "minimum": 0
1292
+ },
1293
+ {
1294
+ "type": "null"
1295
+ }
1296
+ ]
1297
+ },
1298
+ "source": {
1299
+ "type": "string",
1300
+ "enum": [
1301
+ "runtime_reported",
1302
+ "tokenizer_exact",
1303
+ "estimated",
1304
+ "unavailable"
1305
+ ]
1306
+ },
1307
+ "method": {
1308
+ "type": "string",
1309
+ "minLength": 1,
1310
+ "maxLength": 512
1311
+ },
1312
+ "method_version": {
1313
+ "type": "string",
1314
+ "minLength": 1,
1315
+ "maxLength": 512
1316
+ },
1317
+ "evidence_ref": {
1318
+ "anyOf": [
1319
+ {
1320
+ "type": "object",
1321
+ "properties": {
1322
+ "ref": {
1323
+ "type": "string",
1324
+ "minLength": 1,
1325
+ "maxLength": 512
1326
+ },
1327
+ "sha256": {
1328
+ "type": "string",
1329
+ "pattern": "^[a-f0-9]{64}$"
1330
+ }
1331
+ },
1332
+ "required": [
1333
+ "ref",
1334
+ "sha256"
1335
+ ],
1336
+ "additionalProperties": false
1337
+ },
1338
+ {
1339
+ "type": "null"
1340
+ }
1341
+ ]
1342
+ },
1343
+ "unavailable_reason": {
1344
+ "anyOf": [
1345
+ {
1346
+ "type": "string",
1347
+ "minLength": 1,
1348
+ "maxLength": 512
1349
+ },
1350
+ {
1351
+ "type": "null"
1352
+ }
1353
+ ]
1354
+ },
1355
+ "unit": {
1356
+ "type": "string",
1357
+ "const": "tokens"
1358
+ }
1359
+ },
1360
+ "required": [
1361
+ "value",
1362
+ "source",
1363
+ "method",
1364
+ "method_version",
1365
+ "evidence_ref",
1366
+ "unavailable_reason",
1367
+ "unit"
1368
+ ],
1369
+ "additionalProperties": false
1370
+ },
1371
+ "reasoning_tokens": {
1372
+ "type": "object",
1373
+ "properties": {
1374
+ "value": {
1375
+ "anyOf": [
1376
+ {
1377
+ "type": "number",
1378
+ "minimum": 0
1379
+ },
1380
+ {
1381
+ "type": "null"
1382
+ }
1383
+ ]
1384
+ },
1385
+ "source": {
1386
+ "type": "string",
1387
+ "enum": [
1388
+ "runtime_reported",
1389
+ "tokenizer_exact",
1390
+ "estimated",
1391
+ "unavailable"
1392
+ ]
1393
+ },
1394
+ "method": {
1395
+ "type": "string",
1396
+ "minLength": 1,
1397
+ "maxLength": 512
1398
+ },
1399
+ "method_version": {
1400
+ "type": "string",
1401
+ "minLength": 1,
1402
+ "maxLength": 512
1403
+ },
1404
+ "evidence_ref": {
1405
+ "anyOf": [
1406
+ {
1407
+ "type": "object",
1408
+ "properties": {
1409
+ "ref": {
1410
+ "type": "string",
1411
+ "minLength": 1,
1412
+ "maxLength": 512
1413
+ },
1414
+ "sha256": {
1415
+ "type": "string",
1416
+ "pattern": "^[a-f0-9]{64}$"
1417
+ }
1418
+ },
1419
+ "required": [
1420
+ "ref",
1421
+ "sha256"
1422
+ ],
1423
+ "additionalProperties": false
1424
+ },
1425
+ {
1426
+ "type": "null"
1427
+ }
1428
+ ]
1429
+ },
1430
+ "unavailable_reason": {
1431
+ "anyOf": [
1432
+ {
1433
+ "type": "string",
1434
+ "minLength": 1,
1435
+ "maxLength": 512
1436
+ },
1437
+ {
1438
+ "type": "null"
1439
+ }
1440
+ ]
1441
+ },
1442
+ "unit": {
1443
+ "type": "string",
1444
+ "const": "tokens"
1445
+ }
1446
+ },
1447
+ "required": [
1448
+ "value",
1449
+ "source",
1450
+ "method",
1451
+ "method_version",
1452
+ "evidence_ref",
1453
+ "unavailable_reason",
1454
+ "unit"
1455
+ ],
1456
+ "additionalProperties": false
1457
+ },
1458
+ "residual_context_tokens": {
1459
+ "type": "object",
1460
+ "properties": {
1461
+ "value": {
1462
+ "anyOf": [
1463
+ {
1464
+ "type": "number",
1465
+ "minimum": 0
1466
+ },
1467
+ {
1468
+ "type": "null"
1469
+ }
1470
+ ]
1471
+ },
1472
+ "source": {
1473
+ "type": "string",
1474
+ "enum": [
1475
+ "runtime_reported",
1476
+ "tokenizer_exact",
1477
+ "estimated",
1478
+ "unavailable"
1479
+ ]
1480
+ },
1481
+ "method": {
1482
+ "type": "string",
1483
+ "minLength": 1,
1484
+ "maxLength": 512
1485
+ },
1486
+ "method_version": {
1487
+ "type": "string",
1488
+ "minLength": 1,
1489
+ "maxLength": 512
1490
+ },
1491
+ "evidence_ref": {
1492
+ "anyOf": [
1493
+ {
1494
+ "type": "object",
1495
+ "properties": {
1496
+ "ref": {
1497
+ "type": "string",
1498
+ "minLength": 1,
1499
+ "maxLength": 512
1500
+ },
1501
+ "sha256": {
1502
+ "type": "string",
1503
+ "pattern": "^[a-f0-9]{64}$"
1504
+ }
1505
+ },
1506
+ "required": [
1507
+ "ref",
1508
+ "sha256"
1509
+ ],
1510
+ "additionalProperties": false
1511
+ },
1512
+ {
1513
+ "type": "null"
1514
+ }
1515
+ ]
1516
+ },
1517
+ "unavailable_reason": {
1518
+ "anyOf": [
1519
+ {
1520
+ "type": "string",
1521
+ "minLength": 1,
1522
+ "maxLength": 512
1523
+ },
1524
+ {
1525
+ "type": "null"
1526
+ }
1527
+ ]
1528
+ },
1529
+ "unit": {
1530
+ "type": "string",
1531
+ "const": "tokens"
1532
+ },
1533
+ "window_tokens": {
1534
+ "anyOf": [
1535
+ {
1536
+ "type": "integer",
1537
+ "minimum": 0,
1538
+ "maximum": 9007199254740991
1539
+ },
1540
+ {
1541
+ "type": "null"
1542
+ }
1543
+ ]
1544
+ },
1545
+ "read_point": {
1546
+ "type": "string",
1547
+ "enum": [
1548
+ "task-end"
1549
+ ]
1550
+ }
1551
+ },
1552
+ "required": [
1553
+ "value",
1554
+ "source",
1555
+ "method",
1556
+ "method_version",
1557
+ "evidence_ref",
1558
+ "unavailable_reason",
1559
+ "unit",
1560
+ "window_tokens",
1561
+ "read_point"
1562
+ ],
1563
+ "additionalProperties": false
1564
+ },
1565
+ "tool_calls": {
1566
+ "type": "object",
1567
+ "properties": {
1568
+ "value": {
1569
+ "anyOf": [
1570
+ {
1571
+ "type": "number",
1572
+ "minimum": 0
1573
+ },
1574
+ {
1575
+ "type": "null"
1576
+ }
1577
+ ]
1578
+ },
1579
+ "source": {
1580
+ "type": "string",
1581
+ "enum": [
1582
+ "runtime_reported",
1583
+ "tokenizer_exact",
1584
+ "estimated",
1585
+ "unavailable"
1586
+ ]
1587
+ },
1588
+ "method": {
1589
+ "type": "string",
1590
+ "minLength": 1,
1591
+ "maxLength": 512
1592
+ },
1593
+ "method_version": {
1594
+ "type": "string",
1595
+ "minLength": 1,
1596
+ "maxLength": 512
1597
+ },
1598
+ "evidence_ref": {
1599
+ "anyOf": [
1600
+ {
1601
+ "type": "object",
1602
+ "properties": {
1603
+ "ref": {
1604
+ "type": "string",
1605
+ "minLength": 1,
1606
+ "maxLength": 512
1607
+ },
1608
+ "sha256": {
1609
+ "type": "string",
1610
+ "pattern": "^[a-f0-9]{64}$"
1611
+ }
1612
+ },
1613
+ "required": [
1614
+ "ref",
1615
+ "sha256"
1616
+ ],
1617
+ "additionalProperties": false
1618
+ },
1619
+ {
1620
+ "type": "null"
1621
+ }
1622
+ ]
1623
+ },
1624
+ "unavailable_reason": {
1625
+ "anyOf": [
1626
+ {
1627
+ "type": "string",
1628
+ "minLength": 1,
1629
+ "maxLength": 512
1630
+ },
1631
+ {
1632
+ "type": "null"
1633
+ }
1634
+ ]
1635
+ },
1636
+ "unit": {
1637
+ "type": "string",
1638
+ "const": "calls"
1639
+ }
1640
+ },
1641
+ "required": [
1642
+ "value",
1643
+ "source",
1644
+ "method",
1645
+ "method_version",
1646
+ "evidence_ref",
1647
+ "unavailable_reason",
1648
+ "unit"
1649
+ ],
1650
+ "additionalProperties": false
1651
+ },
1652
+ "latency_ms": {
1653
+ "type": "object",
1654
+ "properties": {
1655
+ "value": {
1656
+ "anyOf": [
1657
+ {
1658
+ "type": "number",
1659
+ "minimum": 0
1660
+ },
1661
+ {
1662
+ "type": "null"
1663
+ }
1664
+ ]
1665
+ },
1666
+ "source": {
1667
+ "type": "string",
1668
+ "enum": [
1669
+ "runtime_reported",
1670
+ "tokenizer_exact",
1671
+ "estimated",
1672
+ "unavailable"
1673
+ ]
1674
+ },
1675
+ "method": {
1676
+ "type": "string",
1677
+ "minLength": 1,
1678
+ "maxLength": 512
1679
+ },
1680
+ "method_version": {
1681
+ "type": "string",
1682
+ "minLength": 1,
1683
+ "maxLength": 512
1684
+ },
1685
+ "evidence_ref": {
1686
+ "anyOf": [
1687
+ {
1688
+ "type": "object",
1689
+ "properties": {
1690
+ "ref": {
1691
+ "type": "string",
1692
+ "minLength": 1,
1693
+ "maxLength": 512
1694
+ },
1695
+ "sha256": {
1696
+ "type": "string",
1697
+ "pattern": "^[a-f0-9]{64}$"
1698
+ }
1699
+ },
1700
+ "required": [
1701
+ "ref",
1702
+ "sha256"
1703
+ ],
1704
+ "additionalProperties": false
1705
+ },
1706
+ {
1707
+ "type": "null"
1708
+ }
1709
+ ]
1710
+ },
1711
+ "unavailable_reason": {
1712
+ "anyOf": [
1713
+ {
1714
+ "type": "string",
1715
+ "minLength": 1,
1716
+ "maxLength": 512
1717
+ },
1718
+ {
1719
+ "type": "null"
1720
+ }
1721
+ ]
1722
+ },
1723
+ "unit": {
1724
+ "type": "string",
1725
+ "const": "ms"
1726
+ }
1727
+ },
1728
+ "required": [
1729
+ "value",
1730
+ "source",
1731
+ "method",
1732
+ "method_version",
1733
+ "evidence_ref",
1734
+ "unavailable_reason",
1735
+ "unit"
1736
+ ],
1737
+ "additionalProperties": false
1738
+ },
1739
+ "cost": {
1740
+ "type": "object",
1741
+ "properties": {
1742
+ "value": {
1743
+ "anyOf": [
1744
+ {
1745
+ "type": "number",
1746
+ "minimum": 0
1747
+ },
1748
+ {
1749
+ "type": "null"
1750
+ }
1751
+ ]
1752
+ },
1753
+ "source": {
1754
+ "type": "string",
1755
+ "enum": [
1756
+ "runtime_reported",
1757
+ "tokenizer_exact",
1758
+ "estimated",
1759
+ "unavailable"
1760
+ ]
1761
+ },
1762
+ "method": {
1763
+ "type": "string",
1764
+ "minLength": 1,
1765
+ "maxLength": 512
1766
+ },
1767
+ "method_version": {
1768
+ "type": "string",
1769
+ "minLength": 1,
1770
+ "maxLength": 512
1771
+ },
1772
+ "evidence_ref": {
1773
+ "anyOf": [
1774
+ {
1775
+ "type": "object",
1776
+ "properties": {
1777
+ "ref": {
1778
+ "type": "string",
1779
+ "minLength": 1,
1780
+ "maxLength": 512
1781
+ },
1782
+ "sha256": {
1783
+ "type": "string",
1784
+ "pattern": "^[a-f0-9]{64}$"
1785
+ }
1786
+ },
1787
+ "required": [
1788
+ "ref",
1789
+ "sha256"
1790
+ ],
1791
+ "additionalProperties": false
1792
+ },
1793
+ {
1794
+ "type": "null"
1795
+ }
1796
+ ]
1797
+ },
1798
+ "unavailable_reason": {
1799
+ "anyOf": [
1800
+ {
1801
+ "type": "string",
1802
+ "minLength": 1,
1803
+ "maxLength": 512
1804
+ },
1805
+ {
1806
+ "type": "null"
1807
+ }
1808
+ ]
1809
+ },
1810
+ "unit": {
1811
+ "type": "string",
1812
+ "pattern": "^[A-Z]{3}$"
1813
+ },
1814
+ "cost_kind": {
1815
+ "anyOf": [
1816
+ {
1817
+ "type": "string",
1818
+ "enum": [
1819
+ "paid",
1820
+ "marginal",
1821
+ "attributed"
1822
+ ]
1823
+ },
1824
+ {
1825
+ "type": "null"
1826
+ }
1827
+ ]
1828
+ },
1829
+ "rate_card": {
1830
+ "anyOf": [
1831
+ {
1832
+ "type": "object",
1833
+ "properties": {
1834
+ "id": {
1835
+ "type": "string",
1836
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
1837
+ },
1838
+ "version": {
1839
+ "type": "string",
1840
+ "minLength": 1,
1841
+ "maxLength": 512
1842
+ }
1843
+ },
1844
+ "required": [
1845
+ "id",
1846
+ "version"
1847
+ ],
1848
+ "additionalProperties": false
1849
+ },
1850
+ {
1851
+ "type": "null"
1852
+ }
1853
+ ]
1854
+ }
1855
+ },
1856
+ "required": [
1857
+ "value",
1858
+ "source",
1859
+ "method",
1860
+ "method_version",
1861
+ "evidence_ref",
1862
+ "unavailable_reason",
1863
+ "unit",
1864
+ "cost_kind",
1865
+ "rate_card"
1866
+ ],
1867
+ "additionalProperties": false
1868
+ }
1869
+ },
1870
+ "required": [
1871
+ "logical_total_tokens",
1872
+ "input_total_tokens",
1873
+ "output_total_tokens",
1874
+ "cached_input_tokens",
1875
+ "reasoning_tokens",
1876
+ "residual_context_tokens",
1877
+ "tool_calls",
1878
+ "latency_ms",
1879
+ "cost"
1880
+ ],
1881
+ "additionalProperties": false
1882
+ },
1883
+ "requests": {
1884
+ "type": "array",
1885
+ "items": {
1886
+ "type": "object",
1887
+ "properties": {
1888
+ "request_id": {
1889
+ "type": "string",
1890
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
1891
+ },
1892
+ "input_total_tokens": {
1893
+ "type": "integer",
1894
+ "minimum": 1,
1895
+ "maximum": 9007199254740991
1896
+ },
1897
+ "output_total_tokens": {
1898
+ "type": "integer",
1899
+ "minimum": 0,
1900
+ "maximum": 9007199254740991
1901
+ },
1902
+ "cached_input_tokens": {
1903
+ "type": "integer",
1904
+ "minimum": 0,
1905
+ "maximum": 9007199254740991
1906
+ },
1907
+ "reasoning_tokens": {
1908
+ "type": "integer",
1909
+ "minimum": 0,
1910
+ "maximum": 9007199254740991
1911
+ }
1912
+ },
1913
+ "required": [
1914
+ "request_id",
1915
+ "input_total_tokens",
1916
+ "output_total_tokens",
1917
+ "cached_input_tokens",
1918
+ "reasoning_tokens"
1919
+ ],
1920
+ "additionalProperties": false
1921
+ },
1922
+ "maxItems": 10000
1923
+ },
1924
+ "mandatory_fact_results": {
1925
+ "type": "array",
1926
+ "items": {
1927
+ "type": "object",
1928
+ "properties": {
1929
+ "fact_id": {
1930
+ "type": "string",
1931
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
1932
+ },
1933
+ "result": {
1934
+ "type": "string",
1935
+ "enum": [
1936
+ "present",
1937
+ "missing"
1938
+ ]
1939
+ }
1940
+ },
1941
+ "required": [
1942
+ "fact_id",
1943
+ "result"
1944
+ ],
1945
+ "additionalProperties": false
1946
+ },
1947
+ "maxItems": 1000
1948
+ },
1949
+ "claim_results": {
1950
+ "type": "array",
1951
+ "items": {
1952
+ "type": "object",
1953
+ "properties": {
1954
+ "claim_id": {
1955
+ "type": "string",
1956
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
1957
+ },
1958
+ "result": {
1959
+ "type": "string",
1960
+ "enum": [
1961
+ "verified",
1962
+ "failed",
1963
+ "removed"
1964
+ ]
1965
+ }
1966
+ },
1967
+ "required": [
1968
+ "claim_id",
1969
+ "result"
1970
+ ],
1971
+ "additionalProperties": false
1972
+ },
1973
+ "maxItems": 1000
1974
+ },
1975
+ "verify_results": {
1976
+ "type": "array",
1977
+ "items": {
1978
+ "type": "object",
1979
+ "properties": {
1980
+ "verify_id": {
1981
+ "type": "string",
1982
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
1983
+ },
1984
+ "command_hash": {
1985
+ "type": "string",
1986
+ "pattern": "^[a-f0-9]{64}$"
1987
+ },
1988
+ "exit_code": {
1989
+ "anyOf": [
1990
+ {
1991
+ "type": "integer"
1992
+ },
1993
+ {
1994
+ "type": "null"
1995
+ }
1996
+ ]
1997
+ },
1998
+ "result": {
1999
+ "type": "string",
2000
+ "enum": [
2001
+ "pass",
2002
+ "fail"
2003
+ ]
2004
+ }
2005
+ },
2006
+ "required": [
2007
+ "verify_id",
2008
+ "command_hash",
2009
+ "exit_code",
2010
+ "result"
2011
+ ],
2012
+ "additionalProperties": false
2013
+ },
2014
+ "maxItems": 1000
2015
+ },
2016
+ "edge_audit": {
2017
+ "anyOf": [
2018
+ {
2019
+ "type": "object",
2020
+ "properties": {
2021
+ "graph_digest": {
2022
+ "type": "string",
2023
+ "pattern": "^[a-f0-9]{64}$"
2024
+ },
2025
+ "universe_edge_ids": {
2026
+ "type": "array",
2027
+ "items": {
2028
+ "type": "string",
2029
+ "pattern": "^edge-[a-f0-9]{64}$"
2030
+ },
2031
+ "maxItems": 500000
2032
+ },
2033
+ "examined": {
2034
+ "type": "array",
2035
+ "items": {
2036
+ "type": "object",
2037
+ "properties": {
2038
+ "edge_id": {
2039
+ "type": "string",
2040
+ "pattern": "^edge-[a-f0-9]{64}$"
2041
+ },
2042
+ "result": {
2043
+ "type": "string",
2044
+ "enum": [
2045
+ "supported",
2046
+ "false",
2047
+ "unverified"
2048
+ ]
2049
+ },
2050
+ "source_refs": {
2051
+ "type": "array",
2052
+ "items": {
2053
+ "type": "object",
2054
+ "properties": {
2055
+ "ref": {
2056
+ "type": "string",
2057
+ "minLength": 1,
2058
+ "maxLength": 512
2059
+ },
2060
+ "sha256": {
2061
+ "type": "string",
2062
+ "pattern": "^[a-f0-9]{64}$"
2063
+ }
2064
+ },
2065
+ "required": [
2066
+ "ref",
2067
+ "sha256"
2068
+ ],
2069
+ "additionalProperties": false
2070
+ },
2071
+ "maxItems": 64
2072
+ }
2073
+ },
2074
+ "required": [
2075
+ "edge_id",
2076
+ "result",
2077
+ "source_refs"
2078
+ ],
2079
+ "additionalProperties": false
2080
+ },
2081
+ "maxItems": 500000
2082
+ },
2083
+ "method": {
2084
+ "type": "string",
2085
+ "minLength": 1,
2086
+ "maxLength": 512
2087
+ },
2088
+ "method_version": {
2089
+ "type": "string",
2090
+ "minLength": 1,
2091
+ "maxLength": 512
2092
+ }
2093
+ },
2094
+ "required": [
2095
+ "graph_digest",
2096
+ "universe_edge_ids",
2097
+ "examined",
2098
+ "method",
2099
+ "method_version"
2100
+ ],
2101
+ "additionalProperties": false
2102
+ },
2103
+ {
2104
+ "type": "null"
2105
+ }
2106
+ ]
2107
+ },
2108
+ "artifacts": {
2109
+ "type": "array",
2110
+ "items": {
2111
+ "type": "object",
2112
+ "properties": {
2113
+ "ref": {
2114
+ "type": "string",
2115
+ "minLength": 1,
2116
+ "maxLength": 512
2117
+ },
2118
+ "sha256": {
2119
+ "type": "string",
2120
+ "pattern": "^[a-f0-9]{64}$"
2121
+ }
2122
+ },
2123
+ "required": [
2124
+ "ref",
2125
+ "sha256"
2126
+ ],
2127
+ "additionalProperties": false
2128
+ },
2129
+ "maxItems": 1000
2130
+ }
2131
+ },
2132
+ "required": [
2133
+ "run_id",
2134
+ "session_id",
2135
+ "pair_id",
2136
+ "arm",
2137
+ "task_id",
2138
+ "repetition",
2139
+ "attempt",
2140
+ "warmup",
2141
+ "started_at",
2142
+ "ended_at",
2143
+ "outcome",
2144
+ "controls",
2145
+ "question_hash",
2146
+ "metrics",
2147
+ "requests",
2148
+ "mandatory_fact_results",
2149
+ "claim_results",
2150
+ "verify_results",
2151
+ "edge_audit",
2152
+ "artifacts"
2153
+ ],
2154
+ "additionalProperties": false
2155
+ },
2156
+ "maxItems": 200000
2157
+ },
2158
+ "receipts_review": {
2159
+ "type": "object",
2160
+ "properties": {
2161
+ "state": {
2162
+ "type": "string",
2163
+ "enum": [
2164
+ "pending",
2165
+ "reviewed"
2166
+ ]
2167
+ },
2168
+ "receipt_ref": {
2169
+ "anyOf": [
2170
+ {
2171
+ "type": "object",
2172
+ "properties": {
2173
+ "ref": {
2174
+ "type": "string",
2175
+ "minLength": 1,
2176
+ "maxLength": 512
2177
+ },
2178
+ "sha256": {
2179
+ "type": "string",
2180
+ "pattern": "^[a-f0-9]{64}$"
2181
+ }
2182
+ },
2183
+ "required": [
2184
+ "ref",
2185
+ "sha256"
2186
+ ],
2187
+ "additionalProperties": false
2188
+ },
2189
+ {
2190
+ "type": "null"
2191
+ }
2192
+ ]
2193
+ }
2194
+ },
2195
+ "required": [
2196
+ "state",
2197
+ "receipt_ref"
2198
+ ],
2199
+ "additionalProperties": false
2200
+ },
2201
+ "evidence_refs": {
2202
+ "type": "array",
2203
+ "items": {
2204
+ "type": "object",
2205
+ "properties": {
2206
+ "ref": {
2207
+ "type": "string",
2208
+ "minLength": 1,
2209
+ "maxLength": 512
2210
+ },
2211
+ "sha256": {
2212
+ "type": "string",
2213
+ "pattern": "^[a-f0-9]{64}$"
2214
+ }
2215
+ },
2216
+ "required": [
2217
+ "ref",
2218
+ "sha256"
2219
+ ],
2220
+ "additionalProperties": false
2221
+ },
2222
+ "maxItems": 10000
2223
+ }
2224
+ },
2225
+ "required": [
2226
+ "schema",
2227
+ "experiment_id",
2228
+ "data_class",
2229
+ "status",
2230
+ "protocol",
2231
+ "index_preparation",
2232
+ "runs",
2233
+ "receipts_review",
2234
+ "evidence_refs"
2235
+ ],
2236
+ "additionalProperties": false
2237
+ }
2238
+ },
2239
+ "$schema": "http://json-schema.org/draft-07/schema#"
2240
+ }