@reviewsensei/cli-win32-x64 0.1.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 (139) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +4 -0
  3. package/bin/_internal/VCRUNTIME140.dll +0 -0
  4. package/bin/_internal/_asyncio.pyd +0 -0
  5. package/bin/_internal/_bz2.pyd +0 -0
  6. package/bin/_internal/_cffi_backend.cp311-win_amd64.pyd +0 -0
  7. package/bin/_internal/_ctypes.pyd +0 -0
  8. package/bin/_internal/_decimal.pyd +0 -0
  9. package/bin/_internal/_hashlib.pyd +0 -0
  10. package/bin/_internal/_lzma.pyd +0 -0
  11. package/bin/_internal/_multiprocessing.pyd +0 -0
  12. package/bin/_internal/_overlapped.pyd +0 -0
  13. package/bin/_internal/_queue.pyd +0 -0
  14. package/bin/_internal/_socket.pyd +0 -0
  15. package/bin/_internal/_ssl.pyd +0 -0
  16. package/bin/_internal/_uuid.pyd +0 -0
  17. package/bin/_internal/api-ms-win-core-console-l1-1-0.dll +0 -0
  18. package/bin/_internal/api-ms-win-core-datetime-l1-1-0.dll +0 -0
  19. package/bin/_internal/api-ms-win-core-debug-l1-1-0.dll +0 -0
  20. package/bin/_internal/api-ms-win-core-errorhandling-l1-1-0.dll +0 -0
  21. package/bin/_internal/api-ms-win-core-fibers-l1-1-0.dll +0 -0
  22. package/bin/_internal/api-ms-win-core-fibers-l1-1-1.dll +0 -0
  23. package/bin/_internal/api-ms-win-core-file-l1-1-0.dll +0 -0
  24. package/bin/_internal/api-ms-win-core-file-l1-2-0.dll +0 -0
  25. package/bin/_internal/api-ms-win-core-file-l2-1-0.dll +0 -0
  26. package/bin/_internal/api-ms-win-core-handle-l1-1-0.dll +0 -0
  27. package/bin/_internal/api-ms-win-core-heap-l1-1-0.dll +0 -0
  28. package/bin/_internal/api-ms-win-core-interlocked-l1-1-0.dll +0 -0
  29. package/bin/_internal/api-ms-win-core-kernel32-legacy-l1-1-1.dll +0 -0
  30. package/bin/_internal/api-ms-win-core-libraryloader-l1-1-0.dll +0 -0
  31. package/bin/_internal/api-ms-win-core-localization-l1-2-0.dll +0 -0
  32. package/bin/_internal/api-ms-win-core-memory-l1-1-0.dll +0 -0
  33. package/bin/_internal/api-ms-win-core-namedpipe-l1-1-0.dll +0 -0
  34. package/bin/_internal/api-ms-win-core-processenvironment-l1-1-0.dll +0 -0
  35. package/bin/_internal/api-ms-win-core-processthreads-l1-1-0.dll +0 -0
  36. package/bin/_internal/api-ms-win-core-processthreads-l1-1-1.dll +0 -0
  37. package/bin/_internal/api-ms-win-core-profile-l1-1-0.dll +0 -0
  38. package/bin/_internal/api-ms-win-core-rtlsupport-l1-1-0.dll +0 -0
  39. package/bin/_internal/api-ms-win-core-string-l1-1-0.dll +0 -0
  40. package/bin/_internal/api-ms-win-core-synch-l1-1-0.dll +0 -0
  41. package/bin/_internal/api-ms-win-core-synch-l1-2-0.dll +0 -0
  42. package/bin/_internal/api-ms-win-core-sysinfo-l1-1-0.dll +0 -0
  43. package/bin/_internal/api-ms-win-core-sysinfo-l1-2-0.dll +0 -0
  44. package/bin/_internal/api-ms-win-core-timezone-l1-1-0.dll +0 -0
  45. package/bin/_internal/api-ms-win-core-util-l1-1-0.dll +0 -0
  46. package/bin/_internal/api-ms-win-crt-conio-l1-1-0.dll +0 -0
  47. package/bin/_internal/api-ms-win-crt-convert-l1-1-0.dll +0 -0
  48. package/bin/_internal/api-ms-win-crt-environment-l1-1-0.dll +0 -0
  49. package/bin/_internal/api-ms-win-crt-filesystem-l1-1-0.dll +0 -0
  50. package/bin/_internal/api-ms-win-crt-heap-l1-1-0.dll +0 -0
  51. package/bin/_internal/api-ms-win-crt-locale-l1-1-0.dll +0 -0
  52. package/bin/_internal/api-ms-win-crt-math-l1-1-0.dll +0 -0
  53. package/bin/_internal/api-ms-win-crt-process-l1-1-0.dll +0 -0
  54. package/bin/_internal/api-ms-win-crt-runtime-l1-1-0.dll +0 -0
  55. package/bin/_internal/api-ms-win-crt-stdio-l1-1-0.dll +0 -0
  56. package/bin/_internal/api-ms-win-crt-string-l1-1-0.dll +0 -0
  57. package/bin/_internal/api-ms-win-crt-time-l1-1-0.dll +0 -0
  58. package/bin/_internal/api-ms-win-crt-utility-l1-1-0.dll +0 -0
  59. package/bin/_internal/attrs-26.1.0.dist-info/INSTALLER +1 -0
  60. package/bin/_internal/attrs-26.1.0.dist-info/METADATA +199 -0
  61. package/bin/_internal/attrs-26.1.0.dist-info/RECORD +55 -0
  62. package/bin/_internal/attrs-26.1.0.dist-info/WHEEL +4 -0
  63. package/bin/_internal/attrs-26.1.0.dist-info/licenses/LICENSE +21 -0
  64. package/bin/_internal/base_library.zip +0 -0
  65. package/bin/_internal/cryptography/hazmat/bindings/_rust.pyd +0 -0
  66. package/bin/_internal/cryptography-50.0.1.dist-info/INSTALLER +1 -0
  67. package/bin/_internal/cryptography-50.0.1.dist-info/METADATA +110 -0
  68. package/bin/_internal/cryptography-50.0.1.dist-info/RECORD +199 -0
  69. package/bin/_internal/cryptography-50.0.1.dist-info/WHEEL +4 -0
  70. package/bin/_internal/cryptography-50.0.1.dist-info/licenses/LICENSE +3 -0
  71. package/bin/_internal/cryptography-50.0.1.dist-info/licenses/LICENSE.APACHE +202 -0
  72. package/bin/_internal/cryptography-50.0.1.dist-info/licenses/LICENSE.BSD +27 -0
  73. package/bin/_internal/cryptography-50.0.1.dist-info/sboms/cryptography-rust.cyclonedx.json +1365 -0
  74. package/bin/_internal/cryptography-50.0.1.dist-info/sboms/sbom.json +43 -0
  75. package/bin/_internal/jsonschema/benchmarks/issue232/issue.json +2653 -0
  76. package/bin/_internal/jsonschema-4.26.0.dist-info/INSTALLER +1 -0
  77. package/bin/_internal/jsonschema-4.26.0.dist-info/METADATA +170 -0
  78. package/bin/_internal/jsonschema-4.26.0.dist-info/RECORD +82 -0
  79. package/bin/_internal/jsonschema-4.26.0.dist-info/WHEEL +4 -0
  80. package/bin/_internal/jsonschema-4.26.0.dist-info/entry_points.txt +2 -0
  81. package/bin/_internal/jsonschema-4.26.0.dist-info/licenses/COPYING +19 -0
  82. package/bin/_internal/jsonschema_specifications/schemas/draft201909/metaschema.json +42 -0
  83. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/applicator +56 -0
  84. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/content +17 -0
  85. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/core +57 -0
  86. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/format +14 -0
  87. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/meta-data +37 -0
  88. package/bin/_internal/jsonschema_specifications/schemas/draft201909/vocabularies/validation +98 -0
  89. package/bin/_internal/jsonschema_specifications/schemas/draft202012/metaschema.json +58 -0
  90. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/applicator +48 -0
  91. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/content +17 -0
  92. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/core +51 -0
  93. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/format-annotation +14 -0
  94. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/format-assertion +14 -0
  95. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/meta-data +37 -0
  96. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/unevaluated +15 -0
  97. package/bin/_internal/jsonschema_specifications/schemas/draft202012/vocabularies/validation +98 -0
  98. package/bin/_internal/jsonschema_specifications/schemas/draft3/metaschema.json +172 -0
  99. package/bin/_internal/jsonschema_specifications/schemas/draft4/metaschema.json +149 -0
  100. package/bin/_internal/jsonschema_specifications/schemas/draft6/metaschema.json +153 -0
  101. package/bin/_internal/jsonschema_specifications/schemas/draft7/metaschema.json +166 -0
  102. package/bin/_internal/libcrypto-3.dll +0 -0
  103. package/bin/_internal/libffi-8.dll +0 -0
  104. package/bin/_internal/libssl-3.dll +0 -0
  105. package/bin/_internal/pyexpat.pyd +0 -0
  106. package/bin/_internal/python3.dll +0 -0
  107. package/bin/_internal/python311.dll +0 -0
  108. package/bin/_internal/review_sensei/default_categories/01-correctness.json +8 -0
  109. package/bin/_internal/review_sensei/default_categories/02-security.json +8 -0
  110. package/bin/_internal/review_sensei/default_categories/03-architecture.json +24 -0
  111. package/bin/_internal/review_sensei/default_categories/03-maintainability.json +8 -0
  112. package/bin/_internal/review_sensei/default_categories/04-tests.json +8 -0
  113. package/bin/_internal/review_sensei/default_stages/01-default-review.json +16 -0
  114. package/bin/_internal/review_sensei/schemas/concurrency-plan.schema.json +26 -0
  115. package/bin/_internal/review_sensei/schemas/conversation-reply.schema.json +16 -0
  116. package/bin/_internal/review_sensei/schemas/evaluation-corpus.schema.json +316 -0
  117. package/bin/_internal/review_sensei/schemas/evaluation-report.schema.json +371 -0
  118. package/bin/_internal/review_sensei/schemas/learning-entry.schema.json +37 -0
  119. package/bin/_internal/review_sensei/schemas/learning-proposal.schema.json +19 -0
  120. package/bin/_internal/review_sensei/schemas/review-category.schema.json +77 -0
  121. package/bin/_internal/review_sensei/schemas/review-comment.schema.json +16 -0
  122. package/bin/_internal/review_sensei/schemas/review-result.schema.json +53 -0
  123. package/bin/_internal/review_sensei/schemas/review-stage.schema.json +154 -0
  124. package/bin/_internal/review_sensei/schemas/stage.schema.json +88 -0
  125. package/bin/_internal/review_sensei-0.1.0.dist-info/INSTALLER +1 -0
  126. package/bin/_internal/review_sensei-0.1.0.dist-info/METADATA +542 -0
  127. package/bin/_internal/review_sensei-0.1.0.dist-info/RECORD +103 -0
  128. package/bin/_internal/review_sensei-0.1.0.dist-info/REQUESTED +0 -0
  129. package/bin/_internal/review_sensei-0.1.0.dist-info/WHEEL +5 -0
  130. package/bin/_internal/review_sensei-0.1.0.dist-info/direct_url.json +1 -0
  131. package/bin/_internal/review_sensei-0.1.0.dist-info/entry_points.txt +2 -0
  132. package/bin/_internal/review_sensei-0.1.0.dist-info/licenses/LICENSE +21 -0
  133. package/bin/_internal/review_sensei-0.1.0.dist-info/top_level.txt +1 -0
  134. package/bin/_internal/rpds/rpds.cp311-win_amd64.pyd +0 -0
  135. package/bin/_internal/select.pyd +0 -0
  136. package/bin/_internal/ucrtbase.dll +0 -0
  137. package/bin/_internal/unicodedata.pyd +0 -0
  138. package/bin/review-sensei.exe +0 -0
  139. package/package.json +13 -0
@@ -0,0 +1,316 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://reviewsensei.dev/schemas/v1/evaluation-corpus.schema.json",
4
+ "title": "ReviewSensei evaluation corpus v1",
5
+ "description": "Closed structural contract for one privacy-safe evaluation corpus.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "schema_version",
10
+ "corpus_id",
11
+ "version",
12
+ "description",
13
+ "license",
14
+ "provenance",
15
+ "files",
16
+ "sample_repository",
17
+ "review_configuration",
18
+ "deterministic_thresholds",
19
+ "quality_thresholds",
20
+ "cases"
21
+ ],
22
+ "properties": {
23
+ "schema_version": {
24
+ "const": "1.0"
25
+ },
26
+ "corpus_id": {
27
+ "type": "string",
28
+ "minLength": 1,
29
+ "pattern": "^[a-z0-9][a-z0-9._-]*$"
30
+ },
31
+ "version": {
32
+ "type": "string",
33
+ "minLength": 1
34
+ },
35
+ "description": {
36
+ "type": "string",
37
+ "minLength": 1
38
+ },
39
+ "license": {
40
+ "type": "string",
41
+ "minLength": 1
42
+ },
43
+ "provenance": {
44
+ "type": "object",
45
+ "additionalProperties": false,
46
+ "required": ["synthetic", "statement"],
47
+ "properties": {
48
+ "synthetic": {
49
+ "const": true
50
+ },
51
+ "statement": {
52
+ "type": "string",
53
+ "minLength": 1
54
+ }
55
+ }
56
+ },
57
+ "files": {
58
+ "type": "array",
59
+ "minItems": 1,
60
+ "maxItems": 512,
61
+ "uniqueItems": true,
62
+ "items": {
63
+ "$ref": "#/$defs/fileEntry"
64
+ }
65
+ },
66
+ "sample_repository": {
67
+ "type": "object",
68
+ "additionalProperties": false,
69
+ "required": ["base_root", "head_root"],
70
+ "properties": {
71
+ "base_root": {
72
+ "type": "string",
73
+ "minLength": 1
74
+ },
75
+ "head_root": {
76
+ "type": "string",
77
+ "minLength": 1
78
+ }
79
+ }
80
+ },
81
+ "review_configuration": {
82
+ "type": "object",
83
+ "additionalProperties": false,
84
+ "required": ["id"],
85
+ "properties": {
86
+ "id": {
87
+ "type": "string",
88
+ "minLength": 1
89
+ }
90
+ }
91
+ },
92
+ "deterministic_thresholds": {
93
+ "type": "object",
94
+ "additionalProperties": false,
95
+ "required": ["exact_fixture_result_rate", "expected_contract_rejection_rate"],
96
+ "properties": {
97
+ "exact_fixture_result_rate": {
98
+ "type": "number",
99
+ "minimum": 0,
100
+ "maximum": 1
101
+ },
102
+ "expected_contract_rejection_rate": {
103
+ "type": "number",
104
+ "minimum": 0,
105
+ "maximum": 1
106
+ }
107
+ }
108
+ },
109
+ "quality_thresholds": {
110
+ "type": "object",
111
+ "additionalProperties": false,
112
+ "required": [
113
+ "actionable_precision_minimum",
114
+ "false_positive_rate_maximum",
115
+ "expected_finding_recall_minimum",
116
+ "location_validity_minimum",
117
+ "category_coverage_minimum"
118
+ ],
119
+ "properties": {
120
+ "actionable_precision_minimum": {
121
+ "type": "number",
122
+ "minimum": 0,
123
+ "maximum": 1
124
+ },
125
+ "false_positive_rate_maximum": {
126
+ "type": "number",
127
+ "minimum": 0,
128
+ "maximum": 1
129
+ },
130
+ "expected_finding_recall_minimum": {
131
+ "type": "number",
132
+ "minimum": 0,
133
+ "maximum": 1
134
+ },
135
+ "location_validity_minimum": {
136
+ "type": "number",
137
+ "minimum": 0,
138
+ "maximum": 1
139
+ },
140
+ "category_coverage_minimum": {
141
+ "type": "number",
142
+ "minimum": 0,
143
+ "maximum": 1
144
+ }
145
+ }
146
+ },
147
+ "cases": {
148
+ "type": "array",
149
+ "minItems": 1,
150
+ "maxItems": 64,
151
+ "uniqueItems": true,
152
+ "items": {
153
+ "$ref": "#/$defs/case"
154
+ }
155
+ }
156
+ },
157
+ "$defs": {
158
+ "fileEntry": {
159
+ "type": "object",
160
+ "additionalProperties": false,
161
+ "required": ["path", "sha256", "purpose"],
162
+ "properties": {
163
+ "path": {
164
+ "type": "string",
165
+ "minLength": 1
166
+ },
167
+ "sha256": {
168
+ "type": "string",
169
+ "pattern": "^[a-f0-9]{64}$"
170
+ },
171
+ "size": {
172
+ "type": "integer",
173
+ "minimum": 0
174
+ },
175
+ "purpose": {
176
+ "type": "string",
177
+ "minLength": 1
178
+ }
179
+ }
180
+ },
181
+ "expectedFinding": {
182
+ "type": "object",
183
+ "additionalProperties": false,
184
+ "required": ["path", "line", "category", "body_terms"],
185
+ "properties": {
186
+ "path": {
187
+ "type": "string",
188
+ "minLength": 1
189
+ },
190
+ "line": {
191
+ "type": "integer",
192
+ "minimum": 1
193
+ },
194
+ "category": {
195
+ "type": "string",
196
+ "minLength": 1
197
+ },
198
+ "body_terms": {
199
+ "type": "array",
200
+ "minItems": 1,
201
+ "maxItems": 32,
202
+ "uniqueItems": true,
203
+ "items": {
204
+ "type": "string",
205
+ "minLength": 1
206
+ }
207
+ }
208
+ }
209
+ },
210
+ "case": {
211
+ "type": "object",
212
+ "additionalProperties": false,
213
+ "required": [
214
+ "id",
215
+ "title",
216
+ "kind",
217
+ "category",
218
+ "diff_path",
219
+ "response_path",
220
+ "expected_error_category"
221
+ ],
222
+ "properties": {
223
+ "id": {
224
+ "type": "string",
225
+ "pattern": "^[a-z0-9][a-z0-9._-]*$"
226
+ },
227
+ "title": {
228
+ "type": "string",
229
+ "minLength": 1
230
+ },
231
+ "kind": {
232
+ "enum": ["quality", "contract-rejection"]
233
+ },
234
+ "category": {
235
+ "type": "string",
236
+ "minLength": 1
237
+ },
238
+ "diff_path": {
239
+ "type": "string",
240
+ "minLength": 1
241
+ },
242
+ "response_path": {
243
+ "type": "string",
244
+ "minLength": 1
245
+ },
246
+ "expected_result_path": {
247
+ "type": "string",
248
+ "minLength": 1
249
+ },
250
+ "expected_findings": {
251
+ "type": "array",
252
+ "maxItems": 16,
253
+ "items": {
254
+ "$ref": "#/$defs/expectedFinding"
255
+ }
256
+ },
257
+ "acceptable_no_finding": {
258
+ "type": "boolean"
259
+ },
260
+ "expected_error_category": {
261
+ "type": "string",
262
+ "minLength": 1
263
+ }
264
+ }
265
+ }
266
+ },
267
+ "examples": [
268
+ {
269
+ "schema_version": "1.0",
270
+ "corpus_id": "review-sensei-synthetic-v1",
271
+ "version": "1.0",
272
+ "description": "Synthetic regression corpus.",
273
+ "license": "CC0-1.0",
274
+ "provenance": {
275
+ "synthetic": true,
276
+ "statement": "All contents are synthetic."
277
+ },
278
+ "files": [
279
+ {
280
+ "path": "corpus.json",
281
+ "sha256": "0000000000000000000000000000000000000000000000000000000000000000",
282
+ "purpose": "manifest"
283
+ }
284
+ ],
285
+ "sample_repository": {
286
+ "base_root": "sample-repository/base",
287
+ "head_root": "sample-repository/head"
288
+ },
289
+ "review_configuration": {
290
+ "id": "packaged-defaults-v1"
291
+ },
292
+ "deterministic_thresholds": {
293
+ "exact_fixture_result_rate": 1.0,
294
+ "expected_contract_rejection_rate": 1.0
295
+ },
296
+ "quality_thresholds": {
297
+ "actionable_precision_minimum": 0.75,
298
+ "false_positive_rate_maximum": 0.25,
299
+ "expected_finding_recall_minimum": 0.75,
300
+ "location_validity_minimum": 1.0,
301
+ "category_coverage_minimum": 0.75
302
+ },
303
+ "cases": [
304
+ {
305
+ "id": "example",
306
+ "title": "Example case",
307
+ "kind": "quality",
308
+ "category": "correctness",
309
+ "diff_path": "diffs/example.patch",
310
+ "response_path": "responses/example.json",
311
+ "expected_error_category": "none"
312
+ }
313
+ ]
314
+ }
315
+ ]
316
+ }
@@ -0,0 +1,371 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://reviewsensei.dev/schemas/v1/evaluation-report.schema.json",
4
+ "title": "ReviewSensei evaluation report v1",
5
+ "description": "Closed structural contract for one non-secret evaluation report.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "schema_version",
10
+ "corpus",
11
+ "run",
12
+ "configuration",
13
+ "privacy",
14
+ "cases",
15
+ "metrics",
16
+ "deterministic",
17
+ "quality",
18
+ "threshold_failures",
19
+ "passed"
20
+ ],
21
+ "properties": {
22
+ "schema_version": {
23
+ "const": "1.0"
24
+ },
25
+ "corpus": {
26
+ "type": "object",
27
+ "additionalProperties": false,
28
+ "required": ["id", "version", "sha256"],
29
+ "properties": {
30
+ "id": {
31
+ "type": "string",
32
+ "minLength": 1
33
+ },
34
+ "version": {
35
+ "type": "string",
36
+ "minLength": 1
37
+ },
38
+ "sha256": {
39
+ "type": "string",
40
+ "pattern": "^[a-f0-9]{64}$"
41
+ }
42
+ }
43
+ },
44
+ "run": {
45
+ "type": "object",
46
+ "additionalProperties": false,
47
+ "required": [
48
+ "mode",
49
+ "review_sensei_version",
50
+ "provider",
51
+ "provider_version",
52
+ "model",
53
+ "endpoint_scope",
54
+ "package_stage_digest",
55
+ "configuration_digest"
56
+ ],
57
+ "properties": {
58
+ "mode": {
59
+ "enum": ["fixture", "live"]
60
+ },
61
+ "review_sensei_version": {
62
+ "type": "string",
63
+ "minLength": 1
64
+ },
65
+ "provider": {
66
+ "type": "string",
67
+ "minLength": 1
68
+ },
69
+ "provider_version": {
70
+ "type": ["string", "null"]
71
+ },
72
+ "model": {
73
+ "type": ["string", "null"]
74
+ },
75
+ "endpoint_scope": {
76
+ "enum": ["none", "loopback", "remote"]
77
+ },
78
+ "package_stage_digest": {
79
+ "type": "string",
80
+ "pattern": "^[a-f0-9]{64}$"
81
+ },
82
+ "configuration_digest": {
83
+ "type": "string",
84
+ "pattern": "^[a-f0-9]{64}$"
85
+ }
86
+ }
87
+ },
88
+ "configuration": {
89
+ "type": "object",
90
+ "additionalProperties": false,
91
+ "required": ["review_configuration_id"],
92
+ "properties": {
93
+ "review_configuration_id": {
94
+ "type": "string",
95
+ "minLength": 1
96
+ }
97
+ }
98
+ },
99
+ "privacy": {
100
+ "type": "object",
101
+ "additionalProperties": false,
102
+ "required": ["status", "scanned_inventory_count"],
103
+ "properties": {
104
+ "status": {
105
+ "enum": ["clean"]
106
+ },
107
+ "scanned_inventory_count": {
108
+ "type": "integer",
109
+ "minimum": 0
110
+ }
111
+ }
112
+ },
113
+ "cases": {
114
+ "type": "array",
115
+ "minItems": 1,
116
+ "maxItems": 64,
117
+ "items": {
118
+ "$ref": "#/$defs/caseResult"
119
+ }
120
+ },
121
+ "metrics": {
122
+ "type": "object",
123
+ "additionalProperties": false,
124
+ "required": [
125
+ "provider_calls",
126
+ "prompt_bytes",
127
+ "response_bytes",
128
+ "token_proxy_4_bytes",
129
+ "elapsed_total_ms",
130
+ "elapsed_mean_ms",
131
+ "elapsed_p95_ms"
132
+ ],
133
+ "properties": {
134
+ "provider_calls": {
135
+ "type": "integer",
136
+ "minimum": 0
137
+ },
138
+ "prompt_bytes": {
139
+ "type": "integer",
140
+ "minimum": 0
141
+ },
142
+ "response_bytes": {
143
+ "type": "integer",
144
+ "minimum": 0
145
+ },
146
+ "token_proxy_4_bytes": {
147
+ "type": "integer",
148
+ "minimum": 0
149
+ },
150
+ "elapsed_total_ms": {
151
+ "type": "integer",
152
+ "minimum": 0
153
+ },
154
+ "elapsed_mean_ms": {
155
+ "type": "number",
156
+ "minimum": 0
157
+ },
158
+ "elapsed_p95_ms": {
159
+ "type": "number",
160
+ "minimum": 0
161
+ }
162
+ }
163
+ },
164
+ "deterministic": {
165
+ "type": "object",
166
+ "additionalProperties": false,
167
+ "required": [
168
+ "exact_fixture_result_rate",
169
+ "expected_contract_rejection_rate"
170
+ ],
171
+ "properties": {
172
+ "exact_fixture_result_rate": {
173
+ "type": "number",
174
+ "minimum": 0,
175
+ "maximum": 1
176
+ },
177
+ "expected_contract_rejection_rate": {
178
+ "type": "number",
179
+ "minimum": 0,
180
+ "maximum": 1
181
+ }
182
+ }
183
+ },
184
+ "quality": {
185
+ "type": "object",
186
+ "additionalProperties": false,
187
+ "required": [
188
+ "actionable_precision",
189
+ "false_positive_rate",
190
+ "expected_finding_recall",
191
+ "location_validity",
192
+ "category_coverage"
193
+ ],
194
+ "properties": {
195
+ "actionable_precision": {
196
+ "type": "number",
197
+ "minimum": 0,
198
+ "maximum": 1
199
+ },
200
+ "false_positive_rate": {
201
+ "type": "number",
202
+ "minimum": 0,
203
+ "maximum": 1
204
+ },
205
+ "expected_finding_recall": {
206
+ "type": "number",
207
+ "minimum": 0,
208
+ "maximum": 1
209
+ },
210
+ "location_validity": {
211
+ "type": "number",
212
+ "minimum": 0,
213
+ "maximum": 1
214
+ },
215
+ "category_coverage": {
216
+ "type": "number",
217
+ "minimum": 0,
218
+ "maximum": 1
219
+ }
220
+ }
221
+ },
222
+ "threshold_failures": {
223
+ "type": "array",
224
+ "uniqueItems": true,
225
+ "items": {
226
+ "type": "string",
227
+ "minLength": 1
228
+ }
229
+ },
230
+ "passed": {
231
+ "type": "boolean"
232
+ }
233
+ },
234
+ "$defs": {
235
+ "caseResult": {
236
+ "type": "object",
237
+ "additionalProperties": false,
238
+ "required": [
239
+ "id",
240
+ "kind",
241
+ "category",
242
+ "status",
243
+ "expected_matches",
244
+ "actual_matches",
245
+ "false_positives",
246
+ "location_valid",
247
+ "category_valid",
248
+ "elapsed_ms",
249
+ "provider_calls",
250
+ "prompt_bytes",
251
+ "response_bytes"
252
+ ],
253
+ "properties": {
254
+ "id": {
255
+ "type": "string",
256
+ "minLength": 1
257
+ },
258
+ "kind": {
259
+ "enum": ["quality", "contract-rejection"]
260
+ },
261
+ "category": {
262
+ "type": "string",
263
+ "minLength": 1
264
+ },
265
+ "status": {
266
+ "enum": ["passed", "failed", "rejected-expected", "rejected-unexpected"]
267
+ },
268
+ "expected_matches": {
269
+ "type": "integer",
270
+ "minimum": 0
271
+ },
272
+ "actual_matches": {
273
+ "type": "integer",
274
+ "minimum": 0
275
+ },
276
+ "false_positives": {
277
+ "type": "integer",
278
+ "minimum": 0
279
+ },
280
+ "location_valid": {
281
+ "type": "boolean"
282
+ },
283
+ "category_valid": {
284
+ "type": "boolean"
285
+ },
286
+ "elapsed_ms": {
287
+ "type": "integer",
288
+ "minimum": 0
289
+ },
290
+ "provider_calls": {
291
+ "type": "integer",
292
+ "minimum": 0
293
+ },
294
+ "prompt_bytes": {
295
+ "type": "integer",
296
+ "minimum": 0
297
+ },
298
+ "response_bytes": {
299
+ "type": "integer",
300
+ "minimum": 0
301
+ }
302
+ }
303
+ }
304
+ },
305
+ "examples": [
306
+ {
307
+ "schema_version": "1.0",
308
+ "corpus": {
309
+ "id": "review-sensei-synthetic-v1",
310
+ "version": "1.0",
311
+ "sha256": "0000000000000000000000000000000000000000000000000000000000000000"
312
+ },
313
+ "run": {
314
+ "mode": "fixture",
315
+ "review_sensei_version": "0.1.0",
316
+ "provider": "fixture",
317
+ "provider_version": null,
318
+ "model": "fixture-v1",
319
+ "endpoint_scope": "none",
320
+ "package_stage_digest": "0000000000000000000000000000000000000000000000000000000000000000",
321
+ "configuration_digest": "0000000000000000000000000000000000000000000000000000000000000000"
322
+ },
323
+ "configuration": {
324
+ "review_configuration_id": "packaged-defaults-v1"
325
+ },
326
+ "privacy": {
327
+ "status": "clean",
328
+ "scanned_inventory_count": 1
329
+ },
330
+ "cases": [
331
+ {
332
+ "id": "example",
333
+ "kind": "quality",
334
+ "category": "correctness",
335
+ "status": "passed",
336
+ "expected_matches": 0,
337
+ "actual_matches": 0,
338
+ "false_positives": 0,
339
+ "location_valid": true,
340
+ "category_valid": true,
341
+ "elapsed_ms": 0,
342
+ "provider_calls": 1,
343
+ "prompt_bytes": 0,
344
+ "response_bytes": 0
345
+ }
346
+ ],
347
+ "metrics": {
348
+ "provider_calls": 1,
349
+ "prompt_bytes": 0,
350
+ "response_bytes": 0,
351
+ "token_proxy_4_bytes": 0,
352
+ "elapsed_total_ms": 0,
353
+ "elapsed_mean_ms": 0,
354
+ "elapsed_p95_ms": 0
355
+ },
356
+ "deterministic": {
357
+ "exact_fixture_result_rate": 1.0,
358
+ "expected_contract_rejection_rate": 1.0
359
+ },
360
+ "quality": {
361
+ "actionable_precision": 0.0,
362
+ "false_positive_rate": 0.0,
363
+ "expected_finding_recall": 1.0,
364
+ "location_validity": 1.0,
365
+ "category_coverage": 1.0
366
+ },
367
+ "threshold_failures": [],
368
+ "passed": true
369
+ }
370
+ ]
371
+ }