assertledger 1.1.1 → 1.3.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 (77) hide show
  1. package/README.fr.md +34 -4
  2. package/README.md +33 -4
  3. package/conformance/schema-extensions.json +25 -0
  4. package/dist/build-info.json +1 -1
  5. package/dist/cli.d.ts +8 -1
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +292 -25
  8. package/dist/cli.js.map +1 -1
  9. package/dist/contracts/index.d.ts +510 -4
  10. package/dist/contracts/index.d.ts.map +1 -1
  11. package/dist/contracts/index.js +230 -16
  12. package/dist/contracts/index.js.map +1 -1
  13. package/dist/contracts/runtime-doctor.d.ts +123 -0
  14. package/dist/contracts/runtime-doctor.d.ts.map +1 -1
  15. package/dist/contracts/runtime-doctor.js +64 -0
  16. package/dist/contracts/runtime-doctor.js.map +1 -1
  17. package/dist/core/index.d.ts.map +1 -1
  18. package/dist/core/index.js +5 -2
  19. package/dist/core/index.js.map +1 -1
  20. package/dist/diagnostics.d.ts.map +1 -1
  21. package/dist/diagnostics.js +26 -2
  22. package/dist/diagnostics.js.map +1 -1
  23. package/dist/engine/adapters/bun-test-profile.d.ts +17 -0
  24. package/dist/engine/adapters/bun-test-profile.d.ts.map +1 -0
  25. package/dist/engine/adapters/bun-test-profile.js +17 -0
  26. package/dist/engine/adapters/bun-test-profile.js.map +1 -0
  27. package/dist/engine/connection.d.ts +25 -1
  28. package/dist/engine/connection.d.ts.map +1 -1
  29. package/dist/engine/connection.js +144 -31
  30. package/dist/engine/connection.js.map +1 -1
  31. package/dist/engine/demo.d.ts +16 -0
  32. package/dist/engine/demo.d.ts.map +1 -0
  33. package/dist/engine/demo.js +51 -0
  34. package/dist/engine/demo.js.map +1 -0
  35. package/dist/engine/git-regression.d.ts +2 -2
  36. package/dist/engine/git-regression.d.ts.map +1 -1
  37. package/dist/engine/git-regression.js.map +1 -1
  38. package/dist/engine/index.d.ts +26 -5
  39. package/dist/engine/index.d.ts.map +1 -1
  40. package/dist/engine/index.js +539 -58
  41. package/dist/engine/index.js.map +1 -1
  42. package/dist/engine/runtime-doctor.d.ts +13 -4
  43. package/dist/engine/runtime-doctor.d.ts.map +1 -1
  44. package/dist/engine/runtime-doctor.js +80 -2
  45. package/dist/engine/runtime-doctor.js.map +1 -1
  46. package/dist/engine/setup.d.ts +39 -0
  47. package/dist/engine/setup.d.ts.map +1 -0
  48. package/dist/engine/setup.js +411 -0
  49. package/dist/engine/setup.js.map +1 -0
  50. package/dist/mcp/index.d.ts.map +1 -1
  51. package/dist/mcp/index.js +36 -6
  52. package/dist/mcp/index.js.map +1 -1
  53. package/dist/sdk/index.d.ts +7 -6
  54. package/dist/sdk/index.d.ts.map +1 -1
  55. package/dist/sdk/index.js +20 -7
  56. package/dist/sdk/index.js.map +1 -1
  57. package/docs/adapter-protocol.md +61 -0
  58. package/docs/architecture.md +4 -1
  59. package/docs/developer-experience.md +39 -5
  60. package/docs/distribution.md +8 -3
  61. package/docs/migration-verification-v3.md +33 -0
  62. package/docs/project-intent.md +7 -5
  63. package/docs/reference.md +9 -5
  64. package/docs/repository-init.md +52 -7
  65. package/docs/runtime-doctor.md +12 -9
  66. package/integrations/bun/assertions.d.mts +4 -0
  67. package/integrations/bun/assertions.mjs +25 -0
  68. package/integrations/bun/driver.d.mts +27 -0
  69. package/integrations/bun/driver.mjs +383 -0
  70. package/integrations/bun/preload.mjs +165 -0
  71. package/integrations/skill/SKILL.md +4 -1
  72. package/package.json +7 -3
  73. package/schemas/evidence-manifest.v3.json +897 -0
  74. package/schemas/repository-init-config.v2.json +210 -0
  75. package/schemas/repository-init-lock.v2.json +162 -0
  76. package/schemas/repository-init-result.v2.json +212 -0
  77. package/schemas/verification-request.v3.json +484 -0
@@ -0,0 +1,484 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "schemaVersion": {
6
+ "$ref": "#/$defs/__schema0"
7
+ },
8
+ "repository": {
9
+ "$ref": "#/$defs/__schema1"
10
+ },
11
+ "adapter": {
12
+ "$ref": "#/$defs/__schema3"
13
+ },
14
+ "isolation": {
15
+ "$ref": "#/$defs/__schema8"
16
+ },
17
+ "candidateRoots": {
18
+ "$ref": "#/$defs/__schema11"
19
+ },
20
+ "budgets": {
21
+ "$ref": "#/$defs/__schema13"
22
+ },
23
+ "policy": {
24
+ "$ref": "#/$defs/__schema14"
25
+ },
26
+ "worlds": {
27
+ "$ref": "#/$defs/__schema16"
28
+ },
29
+ "candidates": {
30
+ "$ref": "#/$defs/__schema20"
31
+ }
32
+ },
33
+ "required": [
34
+ "schemaVersion",
35
+ "repository",
36
+ "adapter",
37
+ "isolation",
38
+ "candidateRoots",
39
+ "budgets",
40
+ "policy",
41
+ "worlds",
42
+ "candidates"
43
+ ],
44
+ "additionalProperties": false,
45
+ "title": "AssertLedger verification request v3",
46
+ "description": "A versioned campaign with an official Bun test adapter and explicit execution backend.",
47
+ "$defs": {
48
+ "__schema0": {
49
+ "type": "string",
50
+ "const": "3.0.0"
51
+ },
52
+ "__schema1": {
53
+ "type": "object",
54
+ "properties": {
55
+ "root": {
56
+ "type": "string",
57
+ "minLength": 1
58
+ },
59
+ "exclude": {
60
+ "maxItems": 1000,
61
+ "type": "array",
62
+ "items": {
63
+ "$ref": "#/$defs/__schema2"
64
+ }
65
+ }
66
+ },
67
+ "required": ["root", "exclude"],
68
+ "additionalProperties": false
69
+ },
70
+ "__schema2": {
71
+ "type": "string",
72
+ "minLength": 1,
73
+ "maxLength": 512
74
+ },
75
+ "__schema3": {
76
+ "oneOf": [
77
+ {
78
+ "type": "object",
79
+ "properties": {
80
+ "kind": {
81
+ "type": "string",
82
+ "const": "node-test"
83
+ },
84
+ "executable": {
85
+ "type": "string",
86
+ "minLength": 1
87
+ },
88
+ "baseTestFiles": {
89
+ "minItems": 1,
90
+ "maxItems": 1000,
91
+ "type": "array",
92
+ "items": {
93
+ "$ref": "#/$defs/__schema4"
94
+ }
95
+ },
96
+ "extraArguments": {
97
+ "maxItems": 0,
98
+ "type": "array",
99
+ "items": {
100
+ "$ref": "#/$defs/__schema5"
101
+ }
102
+ }
103
+ },
104
+ "required": ["kind", "executable", "baseTestFiles"],
105
+ "additionalProperties": false
106
+ },
107
+ {
108
+ "type": "object",
109
+ "properties": {
110
+ "kind": {
111
+ "type": "string",
112
+ "const": "testforge-command"
113
+ },
114
+ "executable": {
115
+ "type": "string",
116
+ "minLength": 1
117
+ },
118
+ "arguments": {
119
+ "maxItems": 100,
120
+ "type": "array",
121
+ "items": {
122
+ "$ref": "#/$defs/__schema6"
123
+ }
124
+ },
125
+ "protocolVersion": {
126
+ "type": "string",
127
+ "const": "1.0.0"
128
+ }
129
+ },
130
+ "required": ["kind", "executable", "arguments", "protocolVersion"],
131
+ "additionalProperties": false
132
+ },
133
+ {
134
+ "type": "object",
135
+ "properties": {
136
+ "kind": {
137
+ "type": "string",
138
+ "const": "bun-test"
139
+ },
140
+ "executable": {
141
+ "type": "string",
142
+ "minLength": 1
143
+ },
144
+ "baseTestFiles": {
145
+ "minItems": 1,
146
+ "maxItems": 1000,
147
+ "type": "array",
148
+ "items": {
149
+ "$ref": "#/$defs/__schema7"
150
+ }
151
+ }
152
+ },
153
+ "required": ["kind", "executable", "baseTestFiles"],
154
+ "additionalProperties": false
155
+ }
156
+ ]
157
+ },
158
+ "__schema4": {
159
+ "type": "string",
160
+ "minLength": 1
161
+ },
162
+ "__schema5": {
163
+ "type": "string"
164
+ },
165
+ "__schema6": {
166
+ "type": "string"
167
+ },
168
+ "__schema7": {
169
+ "type": "string",
170
+ "minLength": 1
171
+ },
172
+ "__schema8": {
173
+ "oneOf": [
174
+ {
175
+ "type": "object",
176
+ "properties": {
177
+ "kind": {
178
+ "type": "string",
179
+ "const": "trusted-local"
180
+ },
181
+ "acknowledgedUnsafeExecution": {
182
+ "type": "boolean"
183
+ },
184
+ "environmentAllowlist": {
185
+ "maxItems": 100,
186
+ "type": "array",
187
+ "items": {
188
+ "$ref": "#/$defs/__schema9"
189
+ }
190
+ }
191
+ },
192
+ "required": ["kind", "acknowledgedUnsafeExecution", "environmentAllowlist"],
193
+ "additionalProperties": false
194
+ },
195
+ {
196
+ "type": "object",
197
+ "properties": {
198
+ "kind": {
199
+ "type": "string",
200
+ "const": "container"
201
+ },
202
+ "image": {
203
+ "type": "string",
204
+ "maxLength": 512,
205
+ "pattern": "^(?:[A-Za-z0-9][A-Za-z0-9.-]*(?::[0-9]{1,5})?\\/)?[a-z0-9]+(?:(?:[._]|__|-+)[a-z0-9]+)*(?:\\/[a-z0-9]+(?:(?:[._]|__|-+)[a-z0-9]+)*)*(?::[A-Za-z0-9_][A-Za-z0-9._-]{0,127})?@sha256:[a-f0-9]{64}$"
206
+ },
207
+ "environment": {
208
+ "maxItems": 100,
209
+ "type": "array",
210
+ "items": {
211
+ "$ref": "#/$defs/__schema10"
212
+ }
213
+ },
214
+ "limits": {
215
+ "type": "object",
216
+ "properties": {
217
+ "memoryBytes": {
218
+ "type": "integer",
219
+ "minimum": 67108864,
220
+ "maximum": 68719476736
221
+ },
222
+ "cpuMillicores": {
223
+ "type": "integer",
224
+ "minimum": 100,
225
+ "maximum": 256000
226
+ },
227
+ "pids": {
228
+ "type": "integer",
229
+ "minimum": 16,
230
+ "maximum": 65536
231
+ },
232
+ "temporaryDirectoryBytes": {
233
+ "type": "integer",
234
+ "minimum": 1048576,
235
+ "maximum": 17179869184
236
+ }
237
+ },
238
+ "required": ["memoryBytes", "cpuMillicores", "pids", "temporaryDirectoryBytes"],
239
+ "additionalProperties": false
240
+ }
241
+ },
242
+ "required": ["kind", "image", "environment", "limits"],
243
+ "additionalProperties": false
244
+ }
245
+ ]
246
+ },
247
+ "__schema9": {
248
+ "type": "string",
249
+ "minLength": 1,
250
+ "maxLength": 128,
251
+ "pattern": "^(?!(?:[Nn][Oo][Dd][Ee]_[Oo][Pp][Tt][Ii][Oo][Nn][Ss]$|[Tt][Ee][Ss][Tt][Ff][Oo][Rr][Gg][Ee]_|[Nn][Oo][Dd][Ee]_[Tt][Ee][Ss][Tt]_)).+$"
252
+ },
253
+ "__schema10": {
254
+ "type": "object",
255
+ "properties": {
256
+ "name": {
257
+ "$ref": "#/$defs/__schema9"
258
+ },
259
+ "value": {
260
+ "type": "string",
261
+ "maxLength": 4096
262
+ }
263
+ },
264
+ "required": ["name", "value"],
265
+ "additionalProperties": false
266
+ },
267
+ "__schema11": {
268
+ "minItems": 1,
269
+ "maxItems": 100,
270
+ "type": "array",
271
+ "items": {
272
+ "$ref": "#/$defs/__schema12"
273
+ }
274
+ },
275
+ "__schema12": {
276
+ "type": "string",
277
+ "minLength": 1,
278
+ "maxLength": 512
279
+ },
280
+ "__schema13": {
281
+ "type": "object",
282
+ "properties": {
283
+ "maximumCandidates": {
284
+ "type": "integer",
285
+ "minimum": 1,
286
+ "maximum": 1000
287
+ },
288
+ "maximumWorlds": {
289
+ "type": "integer",
290
+ "minimum": 3,
291
+ "maximum": 1000
292
+ },
293
+ "maximumExecutions": {
294
+ "type": "integer",
295
+ "minimum": 1,
296
+ "maximum": 1000000
297
+ },
298
+ "maximumRepositoryFiles": {
299
+ "type": "integer",
300
+ "minimum": 1,
301
+ "maximum": 10000000
302
+ },
303
+ "maximumRepositoryBytes": {
304
+ "type": "integer",
305
+ "minimum": 1,
306
+ "maximum": 1000000000000
307
+ },
308
+ "maximumWorldOverlayBytes": {
309
+ "type": "integer",
310
+ "minimum": 1,
311
+ "maximum": 1000000000000
312
+ },
313
+ "maximumCandidateBytes": {
314
+ "type": "integer",
315
+ "minimum": 1,
316
+ "maximum": 100000000
317
+ },
318
+ "maximumTotalCandidateBytes": {
319
+ "type": "integer",
320
+ "minimum": 1,
321
+ "maximum": 100000000000
322
+ },
323
+ "timeoutMsPerExecution": {
324
+ "type": "integer",
325
+ "minimum": 10,
326
+ "maximum": 86400000
327
+ },
328
+ "maximumOutputBytes": {
329
+ "type": "integer",
330
+ "minimum": 128,
331
+ "maximum": 100000000
332
+ }
333
+ },
334
+ "required": [
335
+ "maximumCandidates",
336
+ "maximumWorlds",
337
+ "maximumExecutions",
338
+ "maximumRepositoryFiles",
339
+ "maximumRepositoryBytes",
340
+ "maximumWorldOverlayBytes",
341
+ "maximumCandidateBytes",
342
+ "maximumTotalCandidateBytes",
343
+ "timeoutMsPerExecution",
344
+ "maximumOutputBytes"
345
+ ],
346
+ "additionalProperties": false
347
+ },
348
+ "__schema14": {
349
+ "type": "object",
350
+ "properties": {
351
+ "policyVersion": {
352
+ "type": "string",
353
+ "const": "1.0.0"
354
+ },
355
+ "requiredAttempts": {
356
+ "type": "integer",
357
+ "minimum": 1,
358
+ "maximum": 1000
359
+ },
360
+ "minimumTargetWeightPermille": {
361
+ "type": "integer",
362
+ "minimum": 1,
363
+ "maximum": 1000
364
+ },
365
+ "maximumSelectedCandidates": {
366
+ "type": "integer",
367
+ "minimum": 1,
368
+ "maximum": 1000
369
+ },
370
+ "acceptedTargetOutcomes": {
371
+ "minItems": 1,
372
+ "maxItems": 1,
373
+ "type": "array",
374
+ "items": {
375
+ "$ref": "#/$defs/__schema15"
376
+ }
377
+ }
378
+ },
379
+ "required": [
380
+ "policyVersion",
381
+ "requiredAttempts",
382
+ "minimumTargetWeightPermille",
383
+ "maximumSelectedCandidates",
384
+ "acceptedTargetOutcomes"
385
+ ],
386
+ "additionalProperties": false
387
+ },
388
+ "__schema15": {
389
+ "type": "string",
390
+ "const": "ASSERTION_FAILURE"
391
+ },
392
+ "__schema16": {
393
+ "minItems": 1,
394
+ "maxItems": 1000,
395
+ "type": "array",
396
+ "items": {
397
+ "$ref": "#/$defs/__schema17"
398
+ }
399
+ },
400
+ "__schema17": {
401
+ "type": "object",
402
+ "properties": {
403
+ "id": {
404
+ "$ref": "#/$defs/__schema18"
405
+ },
406
+ "kind": {
407
+ "type": "string",
408
+ "enum": ["REFERENCE", "TARGET", "NEUTRAL"]
409
+ },
410
+ "required": {
411
+ "type": "boolean"
412
+ },
413
+ "weight": {
414
+ "type": "integer",
415
+ "minimum": 0,
416
+ "maximum": 1000000
417
+ },
418
+ "provenance": {
419
+ "type": "string",
420
+ "minLength": 1,
421
+ "maxLength": 1024
422
+ },
423
+ "files": {
424
+ "maxItems": 1000,
425
+ "type": "array",
426
+ "items": {
427
+ "$ref": "#/$defs/__schema19"
428
+ }
429
+ }
430
+ },
431
+ "required": ["id", "kind", "required", "weight", "provenance", "files"],
432
+ "additionalProperties": false
433
+ },
434
+ "__schema18": {
435
+ "type": "string",
436
+ "minLength": 1,
437
+ "maxLength": 128,
438
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
439
+ },
440
+ "__schema19": {
441
+ "type": "object",
442
+ "properties": {
443
+ "path": {
444
+ "type": "string",
445
+ "minLength": 1,
446
+ "maxLength": 512
447
+ },
448
+ "content": {
449
+ "type": "string",
450
+ "maxLength": 1048576
451
+ }
452
+ },
453
+ "required": ["path", "content"],
454
+ "additionalProperties": false
455
+ },
456
+ "__schema20": {
457
+ "minItems": 1,
458
+ "maxItems": 1000,
459
+ "type": "array",
460
+ "items": {
461
+ "$ref": "#/$defs/__schema21"
462
+ }
463
+ },
464
+ "__schema21": {
465
+ "type": "object",
466
+ "properties": {
467
+ "id": {
468
+ "$ref": "#/$defs/__schema18"
469
+ },
470
+ "files": {
471
+ "minItems": 1,
472
+ "maxItems": 100,
473
+ "type": "array",
474
+ "items": {
475
+ "$ref": "#/$defs/__schema19"
476
+ }
477
+ }
478
+ },
479
+ "required": ["id", "files"],
480
+ "additionalProperties": false
481
+ }
482
+ },
483
+ "$id": "https://testforge.dev/schemas/verification-request.v3.json"
484
+ }