opencode-longrun-harness 1.2.22

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 (67) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +390 -0
  3. package/docs/V1.2.20_EVIDENCE.md +114 -0
  4. package/docs/V1.2.21_EVIDENCE.md +68 -0
  5. package/docs/V1.2.22_EVIDENCE.md +52 -0
  6. package/harness/commissioning/README.md +16 -0
  7. package/harness/commissioning/inspect-copied-run.mjs +25 -0
  8. package/harness/commissioning/verify-copied-case.mjs +35 -0
  9. package/harness/plugin/longrun.js +677 -0
  10. package/harness/src/cli.mjs +40 -0
  11. package/harness/src/controller.js +1413 -0
  12. package/harness/src/evidence.mjs +135 -0
  13. package/harness/src/execution.mjs +217 -0
  14. package/harness/src/executor.mjs +21 -0
  15. package/harness/src/install.mjs +435 -0
  16. package/harness/src/maintenance.mjs +257 -0
  17. package/harness/src/memory.mjs +472 -0
  18. package/harness/test/candidates.test.mjs +73 -0
  19. package/harness/test/checkpoint.test.mjs +65 -0
  20. package/harness/test/controller.test.mjs +230 -0
  21. package/harness/test/evidence.test.mjs +57 -0
  22. package/harness/test/fixtures/durable-host.mjs +27 -0
  23. package/harness/test/fixtures/example-app-run.json +1375 -0
  24. package/harness/test/fixtures/notes-budget-exhausted-run.json +2070 -0
  25. package/harness/test/fixtures/notes-premature-complete-run.json +1496 -0
  26. package/harness/test/fixtures/notes-recovery-run.json +622 -0
  27. package/harness/test/fixtures/presets-readout-run.json +825 -0
  28. package/harness/test/fixtures/routing-worker.mjs +35 -0
  29. package/harness/test/fixtures/vitest-failed-receipt.json +33 -0
  30. package/harness/test/helper.mjs +41 -0
  31. package/harness/test/install.test.mjs +117 -0
  32. package/harness/test/lifecycle.test.mjs +102 -0
  33. package/harness/test/maintenance.test.mjs +204 -0
  34. package/harness/test/memory.test.mjs +145 -0
  35. package/harness/test/negative-control.test.mjs +91 -0
  36. package/harness/test/plugin.test.mjs +169 -0
  37. package/harness/test/recovery-runner.test.mjs +435 -0
  38. package/harness/test/recovery.test.mjs +68 -0
  39. package/harness/test/repair-mechanics.test.mjs +122 -0
  40. package/harness/test/toolbehavior.test.mjs +75 -0
  41. package/harness/test/v121-commissioning.test.mjs +177 -0
  42. package/harness/test/v1210-deadline.test.mjs +134 -0
  43. package/harness/test/v1211-pause.test.mjs +81 -0
  44. package/harness/test/v1212-maintenance-pause.test.mjs +76 -0
  45. package/harness/test/v1213-readout.test.mjs +82 -0
  46. package/harness/test/v1214-durable.test.mjs +121 -0
  47. package/harness/test/v1215-guidance.test.mjs +57 -0
  48. package/harness/test/v1216-test-summary.test.mjs +39 -0
  49. package/harness/test/v1217-discovery.test.mjs +73 -0
  50. package/harness/test/v1218-completion-review.test.mjs +203 -0
  51. package/harness/test/v1219-budget-pause.test.mjs +134 -0
  52. package/harness/test/v122-lifecycle-resolver.test.mjs +218 -0
  53. package/harness/test/v1220-budget-amendment.test.mjs +343 -0
  54. package/harness/test/v1221-negative-fixture-anchor.test.mjs +65 -0
  55. package/harness/test/v1222-default-evidence-class.test.mjs +75 -0
  56. package/harness/test/v123-plugin-e2e.test.mjs +120 -0
  57. package/harness/test/v123-receipt-model.test.mjs +185 -0
  58. package/harness/test/v124-canonical.test.mjs +147 -0
  59. package/harness/test/v124-installed.test.mjs +48 -0
  60. package/harness/test/v125-stability.test.mjs +183 -0
  61. package/harness/test/v126-execution.test.mjs +183 -0
  62. package/harness/test/v127-reconciliation.test.mjs +139 -0
  63. package/harness/test/v128-compaction.test.mjs +156 -0
  64. package/harness/test/v129-routing.test.mjs +165 -0
  65. package/harness/tools/audit-receipts.mjs +121 -0
  66. package/harness/tools/recovery-runner.mjs +499 -0
  67. package/package.json +49 -0
@@ -0,0 +1,2070 @@
1
+ {
2
+ "runId": "lr-00000000a1b2",
3
+ "status": "IMPLEMENTING",
4
+ "originalRequest": "Example App expansion: implement the requested feature end to end in this copy only, keep every existing subsystem and test intact, and prove the result with the declared checks.",
5
+ "contract": {
6
+ "criteria": [
7
+ {
8
+ "id": "notes-server",
9
+ "required": true,
10
+ "weight": 3,
11
+ "checks": [
12
+ "c-notes-server"
13
+ ],
14
+ "evidenceClass": "INTEGRATION",
15
+ "visual": false,
16
+ "status": "FAIL"
17
+ },
18
+ {
19
+ "id": "notes-gameplay",
20
+ "required": true,
21
+ "weight": 3,
22
+ "checks": [
23
+ "c-notes-e2e"
24
+ ],
25
+ "evidenceClass": "BROWSER",
26
+ "visual": false,
27
+ "status": "FAIL"
28
+ },
29
+ {
30
+ "id": "regression-unit",
31
+ "required": true,
32
+ "weight": 1,
33
+ "checks": [
34
+ "c-default-unit"
35
+ ],
36
+ "evidenceClass": "UNIT",
37
+ "visual": false,
38
+ "status": "FAIL"
39
+ },
40
+ {
41
+ "id": "regression-browser",
42
+ "required": true,
43
+ "weight": 1,
44
+ "checks": [
45
+ "c-default-browser"
46
+ ],
47
+ "evidenceClass": "BROWSER",
48
+ "visual": false,
49
+ "status": "FAIL"
50
+ }
51
+ ],
52
+ "gates": [
53
+ {
54
+ "id": "c-typecheck",
55
+ "required": true,
56
+ "status": "FAIL"
57
+ },
58
+ {
59
+ "id": "c-build",
60
+ "required": true,
61
+ "status": "FAIL"
62
+ }
63
+ ],
64
+ "lossTarget": 0
65
+ },
66
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
67
+ "evaluatorHash": null,
68
+ "sourceFingerprint": "ebf154ebb2ff68d82b1bd58b8e66fbd0687c39f4dc6307bbc311f3363de31f58",
69
+ "loss": 1,
70
+ "budget": {
71
+ "iterations": 24,
72
+ "activeSeconds": 7200,
73
+ "deadlineSeconds": 28800,
74
+ "sameFailureLimit": 3,
75
+ "noProgressLimit": 5,
76
+ "autoDispatchCap": 40,
77
+ "toolActionCap": 140
78
+ },
79
+ "autoEnabled": false,
80
+ "runMode": "tracked",
81
+ "memoryStatus": "FRESH",
82
+ "state": {
83
+ "iterations": 0,
84
+ "noProgressStreak": 0,
85
+ "sameFailureStreak": 0,
86
+ "candidates": [
87
+ {
88
+ "n": 1,
89
+ "runId": "lr-00000000a1b2",
90
+ "fingerprint": "cd10010000934e59561b9004c978d7f7dd1ecf8d6dbadc9e16eb4943823bda40",
91
+ "ts": 1789934897617,
92
+ "hypothesis": null,
93
+ "receiptIds": [
94
+ "receipt-1-ca3602d2492c"
95
+ ],
96
+ "criteriaChanged": [
97
+ "notes-server"
98
+ ],
99
+ "lossBefore": 1,
100
+ "lossAfter": 1,
101
+ "bestLoss": null,
102
+ "result": "FAIL",
103
+ "diagnosticOnly": false,
104
+ "elapsedMs": 1155,
105
+ "counted": true,
106
+ "reason": "evaluated_new_source_state"
107
+ },
108
+ {
109
+ "n": 2,
110
+ "runId": "lr-00000000a1b2",
111
+ "fingerprint": "6223097690aa0750d4aadcccebd0ee6da8eeaab9a20504092b546a5816f6f31a",
112
+ "ts": 1789934952509,
113
+ "hypothesis": null,
114
+ "receiptIds": [
115
+ "receipt-2-6f43c274634d"
116
+ ],
117
+ "criteriaChanged": [
118
+ "notes-server"
119
+ ],
120
+ "lossBefore": 1,
121
+ "lossAfter": 1,
122
+ "bestLoss": null,
123
+ "result": "FAIL",
124
+ "diagnosticOnly": false,
125
+ "elapsedMs": 827,
126
+ "counted": true,
127
+ "reason": "evaluated_new_source_state"
128
+ },
129
+ {
130
+ "n": 3,
131
+ "runId": "lr-00000000a1b2",
132
+ "fingerprint": "3ce79a0e64f47e3413bb578c61e8aba944a6b450134177ba100fb91ae6bd57f4",
133
+ "ts": 1789934970085,
134
+ "hypothesis": null,
135
+ "receiptIds": [
136
+ "receipt-3-16e13ce44f83"
137
+ ],
138
+ "criteriaChanged": [
139
+ "notes-server"
140
+ ],
141
+ "lossBefore": 1,
142
+ "lossAfter": 0.625,
143
+ "bestLoss": null,
144
+ "result": "PASS",
145
+ "diagnosticOnly": false,
146
+ "elapsedMs": 650,
147
+ "counted": true,
148
+ "reason": "evaluated_new_source_state"
149
+ },
150
+ {
151
+ "n": 4,
152
+ "runId": "lr-00000000a1b2",
153
+ "fingerprint": "15a944aca1fb2ba7dddf7f06d2f55eccfe2ee42a131fc7c8d684d0c241d4f0d4",
154
+ "ts": 1789935608384,
155
+ "hypothesis": null,
156
+ "receiptIds": [
157
+ "receipt-4-d653eda7591b"
158
+ ],
159
+ "criteriaChanged": [
160
+ "notes-server"
161
+ ],
162
+ "lossBefore": 1,
163
+ "lossAfter": 0.625,
164
+ "bestLoss": 0.625,
165
+ "result": "PASS",
166
+ "diagnosticOnly": false,
167
+ "elapsedMs": 1241,
168
+ "counted": true,
169
+ "reason": "evaluated_new_source_state"
170
+ },
171
+ {
172
+ "n": 5,
173
+ "runId": "lr-00000000a1b2",
174
+ "fingerprint": "227226c09a19c94a3d8bb7a20226bd5dd8b2847dbe463ea892ef92bed00a7b6c",
175
+ "ts": 1789935717606,
176
+ "hypothesis": null,
177
+ "receiptIds": [
178
+ "receipt-6-0bdc3608449c"
179
+ ],
180
+ "criteriaChanged": [],
181
+ "lossBefore": 1,
182
+ "lossAfter": 1,
183
+ "bestLoss": 0.625,
184
+ "result": "PASS",
185
+ "diagnosticOnly": false,
186
+ "elapsedMs": 1060,
187
+ "counted": true,
188
+ "reason": "evaluated_new_source_state"
189
+ },
190
+ {
191
+ "n": 6,
192
+ "runId": "lr-00000000a1b2",
193
+ "fingerprint": "82ea0b6f585fcb6be389cb81bfad113e4a077fea08e018b724c9622c5e5906ee",
194
+ "ts": 1789937597564,
195
+ "hypothesis": null,
196
+ "receiptIds": [
197
+ "receipt-7-68c13bf25294"
198
+ ],
199
+ "criteriaChanged": [],
200
+ "lossBefore": 1,
201
+ "lossAfter": 1,
202
+ "bestLoss": 0.625,
203
+ "result": "FAIL",
204
+ "diagnosticOnly": false,
205
+ "elapsedMs": 1088,
206
+ "counted": true,
207
+ "reason": "evaluated_new_source_state"
208
+ },
209
+ {
210
+ "n": 7,
211
+ "runId": "lr-00000000a1b2",
212
+ "fingerprint": "de4c38391a5de287d7a16c33a47233f5e8430bc99fa911db3d0be00ce43780f6",
213
+ "ts": 1789937612496,
214
+ "hypothesis": null,
215
+ "receiptIds": [
216
+ "receipt-8-aa9f6cf5a631"
217
+ ],
218
+ "criteriaChanged": [],
219
+ "lossBefore": 1,
220
+ "lossAfter": 1,
221
+ "bestLoss": 0.625,
222
+ "result": "PASS",
223
+ "diagnosticOnly": false,
224
+ "elapsedMs": 872,
225
+ "counted": true,
226
+ "reason": "evaluated_new_source_state"
227
+ },
228
+ {
229
+ "n": 8,
230
+ "runId": "lr-00000000a1b2",
231
+ "fingerprint": "22f09d3dfc8329d291d6a882467dd74b916474cf314444f5d6660ea405d5dd1f",
232
+ "ts": 1789938042983,
233
+ "hypothesis": null,
234
+ "receiptIds": [
235
+ "receipt-9-52e08a88fa2d"
236
+ ],
237
+ "criteriaChanged": [
238
+ "notes-server"
239
+ ],
240
+ "lossBefore": 1,
241
+ "lossAfter": 0.625,
242
+ "bestLoss": 0.625,
243
+ "result": "PASS",
244
+ "diagnosticOnly": false,
245
+ "elapsedMs": 1059,
246
+ "counted": true,
247
+ "reason": "evaluated_new_source_state"
248
+ },
249
+ {
250
+ "n": 9,
251
+ "runId": "lr-00000000a1b2",
252
+ "fingerprint": "2447c90c4d257df55b4b5c547b3349a91bcb1ff752ebea0b73cec00f134c546b",
253
+ "ts": 1789938190471,
254
+ "hypothesis": null,
255
+ "receiptIds": [
256
+ "receipt-11-722b039a6d8b"
257
+ ],
258
+ "criteriaChanged": [
259
+ "notes-gameplay"
260
+ ],
261
+ "lossBefore": 1,
262
+ "lossAfter": 1,
263
+ "bestLoss": 0.625,
264
+ "result": "FAIL",
265
+ "diagnosticOnly": false,
266
+ "elapsedMs": 28618,
267
+ "counted": true,
268
+ "reason": "evaluated_new_source_state"
269
+ },
270
+ {
271
+ "n": 10,
272
+ "runId": "lr-00000000a1b2",
273
+ "fingerprint": "92a0819f51ce24b5cf0de3b181cbaab5dd6c6d46b047cf022bb67d5a3f4612e6",
274
+ "ts": 1789938300582,
275
+ "hypothesis": null,
276
+ "receiptIds": [
277
+ "receipt-12-8a7b98eb7262"
278
+ ],
279
+ "criteriaChanged": [
280
+ "notes-gameplay"
281
+ ],
282
+ "lossBefore": 1,
283
+ "lossAfter": 1,
284
+ "bestLoss": 0.625,
285
+ "result": "FAIL",
286
+ "diagnosticOnly": false,
287
+ "elapsedMs": 28401,
288
+ "counted": true,
289
+ "reason": "evaluated_new_source_state"
290
+ },
291
+ {
292
+ "n": 11,
293
+ "runId": "lr-00000000a1b2",
294
+ "fingerprint": "78a8e6d75a733302b24a687359853133bc8b8e79cd7cd73e25fc9a55da9fe53c",
295
+ "ts": 1789938555705,
296
+ "hypothesis": null,
297
+ "receiptIds": [
298
+ "receipt-13-237f7573f025"
299
+ ],
300
+ "criteriaChanged": [
301
+ "notes-gameplay"
302
+ ],
303
+ "lossBefore": 1,
304
+ "lossAfter": 1,
305
+ "bestLoss": 0.625,
306
+ "result": "FAIL",
307
+ "diagnosticOnly": false,
308
+ "elapsedMs": 211549,
309
+ "counted": true,
310
+ "reason": "evaluated_new_source_state"
311
+ },
312
+ {
313
+ "n": 12,
314
+ "runId": "lr-00000000a1b2",
315
+ "fingerprint": "65fe8b7948e2d571a1c730c0998997f93482c23abb1005fba08a9ae7402d59cc",
316
+ "ts": 1789939303401,
317
+ "hypothesis": null,
318
+ "receiptIds": [
319
+ "receipt-14-200707480c73"
320
+ ],
321
+ "criteriaChanged": [
322
+ "notes-gameplay"
323
+ ],
324
+ "lossBefore": 1,
325
+ "lossAfter": 1,
326
+ "bestLoss": 0.625,
327
+ "result": "FAIL",
328
+ "diagnosticOnly": false,
329
+ "elapsedMs": 74829,
330
+ "counted": true,
331
+ "reason": "evaluated_new_source_state"
332
+ },
333
+ {
334
+ "n": 13,
335
+ "runId": "lr-00000000a1b2",
336
+ "fingerprint": "e5738ddd2f71a5e7f23ee96aa9a07b1b181c95794b61a1817cac0287d1caf9c1",
337
+ "ts": 1789939403763,
338
+ "hypothesis": null,
339
+ "receiptIds": [
340
+ "receipt-15-fcb1524de086"
341
+ ],
342
+ "criteriaChanged": [
343
+ "notes-gameplay"
344
+ ],
345
+ "lossBefore": 1,
346
+ "lossAfter": 1,
347
+ "bestLoss": 0.625,
348
+ "result": "FAIL",
349
+ "diagnosticOnly": false,
350
+ "elapsedMs": 73685,
351
+ "counted": true,
352
+ "reason": "evaluated_new_source_state"
353
+ },
354
+ {
355
+ "n": 14,
356
+ "runId": "lr-00000000a1b2",
357
+ "fingerprint": "d35892d8eb496cd291827339fb5bbcf556515a3132464a0820497b638fe7172a",
358
+ "ts": 1789939494887,
359
+ "hypothesis": null,
360
+ "receiptIds": [
361
+ "receipt-16-af558b551339"
362
+ ],
363
+ "criteriaChanged": [
364
+ "notes-gameplay"
365
+ ],
366
+ "lossBefore": 1,
367
+ "lossAfter": 0.625,
368
+ "bestLoss": 0.625,
369
+ "result": "PASS",
370
+ "diagnosticOnly": false,
371
+ "elapsedMs": 64736,
372
+ "counted": true,
373
+ "reason": "evaluated_new_source_state"
374
+ },
375
+ {
376
+ "n": 15,
377
+ "runId": "lr-00000000a1b2",
378
+ "fingerprint": "25dae1b3154b8234e9214dbf4f22036483ceb2b1bb01e5a3c461298c76d4a21c",
379
+ "ts": 1789939742067,
380
+ "hypothesis": null,
381
+ "receiptIds": [
382
+ "receipt-20-2f9421896e76"
383
+ ],
384
+ "criteriaChanged": [
385
+ "regression-browser"
386
+ ],
387
+ "lossBefore": 1,
388
+ "lossAfter": 0.875,
389
+ "bestLoss": 0.625,
390
+ "result": "PASS",
391
+ "diagnosticOnly": false,
392
+ "elapsedMs": 101797,
393
+ "counted": true,
394
+ "reason": "evaluated_new_source_state"
395
+ },
396
+ {
397
+ "n": 16,
398
+ "runId": "lr-00000000a1b2",
399
+ "fingerprint": "cc2be4bfd14c0210536dde650760876166c10a19331594667aeb6ace8cdca4db",
400
+ "ts": 1789939778497,
401
+ "hypothesis": null,
402
+ "receiptIds": [
403
+ "receipt-21-9debbabb0d91"
404
+ ],
405
+ "criteriaChanged": [],
406
+ "lossBefore": 1,
407
+ "lossAfter": 1,
408
+ "bestLoss": 0.625,
409
+ "result": "PASS",
410
+ "diagnosticOnly": false,
411
+ "elapsedMs": 1054,
412
+ "counted": true,
413
+ "reason": "evaluated_new_source_state"
414
+ },
415
+ {
416
+ "n": 17,
417
+ "runId": "lr-00000000a1b2",
418
+ "fingerprint": "6b6cbc88037c02c15bb08ce336b8e3613861ebcc8dc444c55449554ea540d70e",
419
+ "ts": 1789941834716,
420
+ "hypothesis": null,
421
+ "receiptIds": [
422
+ "receipt-27-c8ca8f5810e6"
423
+ ],
424
+ "criteriaChanged": [
425
+ "notes-gameplay"
426
+ ],
427
+ "lossBefore": 1,
428
+ "lossAfter": 1,
429
+ "bestLoss": 0.625,
430
+ "result": "FAIL",
431
+ "diagnosticOnly": false,
432
+ "elapsedMs": 73729,
433
+ "counted": true,
434
+ "reason": "evaluated_new_source_state"
435
+ },
436
+ {
437
+ "n": 18,
438
+ "runId": "lr-00000000a1b2",
439
+ "fingerprint": "ea762150f47e0cabe05261140d14d27c6f1015033e499d1af366955c3dbc8ff7",
440
+ "ts": 1789942061382,
441
+ "hypothesis": null,
442
+ "receiptIds": [
443
+ "receipt-28-9c3093b2efc0"
444
+ ],
445
+ "criteriaChanged": [
446
+ "notes-gameplay"
447
+ ],
448
+ "lossBefore": 1,
449
+ "lossAfter": 0.625,
450
+ "bestLoss": 0.625,
451
+ "result": "PASS",
452
+ "diagnosticOnly": false,
453
+ "elapsedMs": 69243,
454
+ "counted": true,
455
+ "reason": "evaluated_new_source_state"
456
+ },
457
+ {
458
+ "n": 19,
459
+ "runId": "lr-00000000a1b2",
460
+ "fingerprint": "521e757256bced7218a49d3b75e559269571a27f28b7663a05b1d77f0e0c8c02",
461
+ "ts": 1789942969441,
462
+ "hypothesis": null,
463
+ "receiptIds": [
464
+ "receipt-30-bb321235fb7d"
465
+ ],
466
+ "criteriaChanged": [
467
+ "notes-gameplay"
468
+ ],
469
+ "lossBefore": 1,
470
+ "lossAfter": 1,
471
+ "bestLoss": 0.625,
472
+ "result": "FAIL",
473
+ "diagnosticOnly": false,
474
+ "elapsedMs": 69269,
475
+ "counted": true,
476
+ "reason": "evaluated_new_source_state"
477
+ },
478
+ {
479
+ "n": 20,
480
+ "runId": "lr-00000000a1b2",
481
+ "fingerprint": "209ed535cb2a183b3720c319e618fd886b5ac31af6c086ae95f5d416193f2688",
482
+ "ts": 1789943146582,
483
+ "hypothesis": null,
484
+ "receiptIds": [
485
+ "receipt-31-82a67c8e9b6a"
486
+ ],
487
+ "criteriaChanged": [
488
+ "notes-gameplay"
489
+ ],
490
+ "lossBefore": 1,
491
+ "lossAfter": 0.625,
492
+ "bestLoss": 0.625,
493
+ "result": "PASS",
494
+ "diagnosticOnly": false,
495
+ "elapsedMs": 77428,
496
+ "counted": true,
497
+ "reason": "evaluated_new_source_state"
498
+ },
499
+ {
500
+ "n": 21,
501
+ "runId": "lr-00000000a1b2",
502
+ "fingerprint": "aedbb542ec2639cef1ea78e0b9677ee5cea8967de5274c33857c62f60568b2c8",
503
+ "ts": 1789943520280,
504
+ "hypothesis": null,
505
+ "receiptIds": [
506
+ "receipt-32-2ca62d52e56c"
507
+ ],
508
+ "criteriaChanged": [],
509
+ "lossBefore": 1,
510
+ "lossAfter": 1,
511
+ "bestLoss": 0.625,
512
+ "result": "PASS",
513
+ "diagnosticOnly": false,
514
+ "elapsedMs": 1086,
515
+ "counted": true,
516
+ "reason": "evaluated_new_source_state"
517
+ },
518
+ {
519
+ "n": 22,
520
+ "runId": "lr-00000000a1b2",
521
+ "fingerprint": "6a36d7b73612550968bf9abbd3b6e95e3655ca602ab9d273ec0d59b6f3ea4213",
522
+ "ts": 1789943849260,
523
+ "hypothesis": null,
524
+ "receiptIds": [
525
+ "receipt-33-1bc29cced44c"
526
+ ],
527
+ "criteriaChanged": [
528
+ "notes-gameplay"
529
+ ],
530
+ "lossBefore": 1,
531
+ "lossAfter": 1,
532
+ "bestLoss": 0.625,
533
+ "result": "FAIL",
534
+ "diagnosticOnly": false,
535
+ "elapsedMs": 101190,
536
+ "counted": true,
537
+ "reason": "evaluated_new_source_state"
538
+ },
539
+ {
540
+ "n": 23,
541
+ "runId": "lr-00000000a1b2",
542
+ "fingerprint": "04cdc04a7cad98eea8870394226cf1aeeaf7b6ec50e2452ee0d8a1de0a23150a",
543
+ "ts": 1789943902499,
544
+ "hypothesis": null,
545
+ "receiptIds": [
546
+ "receipt-34-c6ca1cf07732"
547
+ ],
548
+ "criteriaChanged": [],
549
+ "lossBefore": 1,
550
+ "lossAfter": 1,
551
+ "bestLoss": 0.625,
552
+ "result": "PASS",
553
+ "diagnosticOnly": false,
554
+ "elapsedMs": 1061,
555
+ "counted": true,
556
+ "reason": "evaluated_new_source_state"
557
+ },
558
+ {
559
+ "n": 24,
560
+ "runId": "lr-00000000a1b2",
561
+ "fingerprint": "ebf154ebb2ff68d82b1bd58b8e66fbd0687c39f4dc6307bbc311f3363de31f58",
562
+ "ts": 1789944223986,
563
+ "hypothesis": null,
564
+ "receiptIds": [
565
+ "receipt-36-ac578eeb9d3d"
566
+ ],
567
+ "criteriaChanged": [],
568
+ "lossBefore": 1,
569
+ "lossAfter": 1,
570
+ "bestLoss": 0.625,
571
+ "result": "PASS",
572
+ "diagnosticOnly": false,
573
+ "elapsedMs": 1065,
574
+ "counted": true,
575
+ "reason": "evaluated_new_source_state"
576
+ }
577
+ ],
578
+ "lastEvalFingerprint": "ebf154ebb2ff68d82b1bd58b8e66fbd0687c39f4dc6307bbc311f3363de31f58",
579
+ "memoryNodes": [
580
+ "AGENTS.md"
581
+ ],
582
+ "current": {
583
+ "n": 24,
584
+ "runId": "lr-00000000a1b2",
585
+ "fingerprint": "ebf154ebb2ff68d82b1bd58b8e66fbd0687c39f4dc6307bbc311f3363de31f58",
586
+ "ts": 1789944223986,
587
+ "hypothesis": null,
588
+ "receiptIds": [
589
+ "receipt-36-ac578eeb9d3d"
590
+ ],
591
+ "criteriaChanged": [],
592
+ "lossBefore": 1,
593
+ "lossAfter": 1,
594
+ "bestLoss": 0.625,
595
+ "result": "PASS",
596
+ "diagnosticOnly": false,
597
+ "elapsedMs": 1065,
598
+ "counted": true,
599
+ "reason": "evaluated_new_source_state"
600
+ },
601
+ "best": {
602
+ "n": 20,
603
+ "runId": "lr-00000000a1b2",
604
+ "fingerprint": "209ed535cb2a183b3720c319e618fd886b5ac31af6c086ae95f5d416193f2688",
605
+ "ts": 1789943146582,
606
+ "hypothesis": null,
607
+ "receiptIds": [
608
+ "receipt-31-82a67c8e9b6a"
609
+ ],
610
+ "criteriaChanged": [
611
+ "notes-gameplay"
612
+ ],
613
+ "lossBefore": 1,
614
+ "lossAfter": 0.625,
615
+ "bestLoss": 0.625,
616
+ "result": "PASS",
617
+ "diagnosticOnly": false,
618
+ "elapsedMs": 77428,
619
+ "counted": true,
620
+ "reason": "evaluated_new_source_state"
621
+ }
622
+ },
623
+ "receipts": [
624
+ {
625
+ "checkId": "c-notes-server",
626
+ "command": "npx vitest run packages/server/test/notes.test.ts",
627
+ "status": "FAIL",
628
+ "exitCode": 1,
629
+ "testCount": 0,
630
+ "startedAt": 1789934896427,
631
+ "finishedAt": 1789934897582,
632
+ "versions": {
633
+ "node": "v24.21.0"
634
+ },
635
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
636
+ "evaluatorHash": null,
637
+ "sourceFingerprint": "cd10010000934e59561b9004c978d7f7dd1ecf8d6dbadc9e16eb4943823bda40",
638
+ "fingerprintSchemaVersion": 2,
639
+ "fpScope": "project",
640
+ "evidenceClass": "INTEGRATION",
641
+ "class": "INTEGRATION",
642
+ "proxyOnly": false,
643
+ "argv": [
644
+ "npx",
645
+ "vitest",
646
+ "run",
647
+ "packages/server/test/notes.test.ts"
648
+ ],
649
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
650
+ "terminationReason": null,
651
+ "executionError": null,
652
+ "executionToken": "f2c22247-b625-4bc6-841a-07f2eacab20f"
653
+ },
654
+ {
655
+ "checkId": "c-notes-server",
656
+ "command": "npx vitest run packages/server/test/notes.test.ts",
657
+ "status": "FAIL",
658
+ "exitCode": 1,
659
+ "testCount": 0,
660
+ "startedAt": 1789934951646,
661
+ "finishedAt": 1789934952473,
662
+ "versions": {
663
+ "node": "v24.21.0"
664
+ },
665
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
666
+ "evaluatorHash": null,
667
+ "sourceFingerprint": "6223097690aa0750d4aadcccebd0ee6da8eeaab9a20504092b546a5816f6f31a",
668
+ "fingerprintSchemaVersion": 2,
669
+ "fpScope": "project",
670
+ "evidenceClass": "INTEGRATION",
671
+ "class": "INTEGRATION",
672
+ "proxyOnly": false,
673
+ "argv": [
674
+ "npx",
675
+ "vitest",
676
+ "run",
677
+ "packages/server/test/notes.test.ts"
678
+ ],
679
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
680
+ "terminationReason": null,
681
+ "executionError": null,
682
+ "executionToken": "2600fc75-2d2d-40f8-a37a-60c427380a04"
683
+ },
684
+ {
685
+ "checkId": "c-notes-server",
686
+ "command": "npx vitest run packages/server/test/notes.test.ts",
687
+ "status": "PASS",
688
+ "exitCode": 0,
689
+ "testCount": 11,
690
+ "startedAt": 1789934969397,
691
+ "finishedAt": 1789934970047,
692
+ "versions": {
693
+ "node": "v24.21.0"
694
+ },
695
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
696
+ "evaluatorHash": null,
697
+ "sourceFingerprint": "3ce79a0e64f47e3413bb578c61e8aba944a6b450134177ba100fb91ae6bd57f4",
698
+ "fingerprintSchemaVersion": 2,
699
+ "fpScope": "project",
700
+ "evidenceClass": "INTEGRATION",
701
+ "class": "INTEGRATION",
702
+ "proxyOnly": false,
703
+ "argv": [
704
+ "npx",
705
+ "vitest",
706
+ "run",
707
+ "packages/server/test/notes.test.ts"
708
+ ],
709
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
710
+ "terminationReason": null,
711
+ "executionError": null,
712
+ "executionToken": "1d038255-d020-4eb2-a003-78c16c9342c4"
713
+ },
714
+ {
715
+ "checkId": "c-notes-server",
716
+ "command": "npx vitest run packages/server/test/notes.test.ts",
717
+ "status": "PASS",
718
+ "exitCode": 0,
719
+ "testCount": 13,
720
+ "startedAt": 1789935607105,
721
+ "finishedAt": 1789935608346,
722
+ "versions": {
723
+ "node": "v24.21.0"
724
+ },
725
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
726
+ "evaluatorHash": null,
727
+ "sourceFingerprint": "15a944aca1fb2ba7dddf7f06d2f55eccfe2ee42a131fc7c8d684d0c241d4f0d4",
728
+ "fingerprintSchemaVersion": 2,
729
+ "fpScope": "project",
730
+ "evidenceClass": "INTEGRATION",
731
+ "class": "INTEGRATION",
732
+ "proxyOnly": false,
733
+ "argv": [
734
+ "npx",
735
+ "vitest",
736
+ "run",
737
+ "packages/server/test/notes.test.ts"
738
+ ],
739
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
740
+ "terminationReason": null,
741
+ "executionError": null,
742
+ "executionToken": "ee6815f4-1641-4533-b482-ef8d697447ac"
743
+ },
744
+ {
745
+ "checkId": "c-typecheck",
746
+ "command": "npx tsc -p tsconfig.json --noEmit",
747
+ "status": "FAIL",
748
+ "exitCode": 2,
749
+ "testCount": null,
750
+ "startedAt": 1789935626150,
751
+ "finishedAt": 1789935627298,
752
+ "versions": {
753
+ "node": "v24.21.0"
754
+ },
755
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
756
+ "evaluatorHash": null,
757
+ "sourceFingerprint": "15a944aca1fb2ba7dddf7f06d2f55eccfe2ee42a131fc7c8d684d0c241d4f0d4",
758
+ "fingerprintSchemaVersion": 2,
759
+ "fpScope": "project",
760
+ "evidenceClass": "STATIC",
761
+ "class": "STATIC",
762
+ "proxyOnly": false,
763
+ "argv": [
764
+ "npx",
765
+ "tsc",
766
+ "-p",
767
+ "tsconfig.json",
768
+ "--noEmit"
769
+ ],
770
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
771
+ "terminationReason": null,
772
+ "executionError": null,
773
+ "executionToken": "5c1f7852-780b-4c4b-a80f-209990a74f62"
774
+ },
775
+ {
776
+ "checkId": "c-typecheck",
777
+ "command": "npx tsc -p tsconfig.json --noEmit",
778
+ "status": "PASS",
779
+ "exitCode": 0,
780
+ "testCount": null,
781
+ "startedAt": 1789935716512,
782
+ "finishedAt": 1789935717572,
783
+ "versions": {
784
+ "node": "v24.21.0"
785
+ },
786
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
787
+ "evaluatorHash": null,
788
+ "sourceFingerprint": "227226c09a19c94a3d8bb7a20226bd5dd8b2847dbe463ea892ef92bed00a7b6c",
789
+ "fingerprintSchemaVersion": 2,
790
+ "fpScope": "project",
791
+ "evidenceClass": "STATIC",
792
+ "class": "STATIC",
793
+ "proxyOnly": false,
794
+ "argv": [
795
+ "npx",
796
+ "tsc",
797
+ "-p",
798
+ "tsconfig.json",
799
+ "--noEmit"
800
+ ],
801
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
802
+ "terminationReason": null,
803
+ "executionError": null,
804
+ "executionToken": "149d0d71-b16a-40fd-a8e6-4a94cb0f9bf0"
805
+ },
806
+ {
807
+ "checkId": "c-typecheck",
808
+ "command": "npx tsc -p tsconfig.json --noEmit",
809
+ "status": "FAIL",
810
+ "exitCode": 2,
811
+ "testCount": null,
812
+ "startedAt": 1789937596444,
813
+ "finishedAt": 1789937597532,
814
+ "versions": {
815
+ "node": "v24.21.0"
816
+ },
817
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
818
+ "evaluatorHash": null,
819
+ "sourceFingerprint": "82ea0b6f585fcb6be389cb81bfad113e4a077fea08e018b724c9622c5e5906ee",
820
+ "fingerprintSchemaVersion": 2,
821
+ "fpScope": "project",
822
+ "evidenceClass": "STATIC",
823
+ "class": "STATIC",
824
+ "proxyOnly": false,
825
+ "argv": [
826
+ "npx",
827
+ "tsc",
828
+ "-p",
829
+ "tsconfig.json",
830
+ "--noEmit"
831
+ ],
832
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
833
+ "terminationReason": null,
834
+ "executionError": null,
835
+ "executionToken": "3bf9282e-710f-4c56-b264-ae47c2b6dc71"
836
+ },
837
+ {
838
+ "checkId": "c-typecheck",
839
+ "command": "npx tsc -p tsconfig.json --noEmit",
840
+ "status": "PASS",
841
+ "exitCode": 0,
842
+ "testCount": null,
843
+ "startedAt": 1789937611594,
844
+ "finishedAt": 1789937612466,
845
+ "versions": {
846
+ "node": "v24.21.0"
847
+ },
848
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
849
+ "evaluatorHash": null,
850
+ "sourceFingerprint": "de4c38391a5de287d7a16c33a47233f5e8430bc99fa911db3d0be00ce43780f6",
851
+ "fingerprintSchemaVersion": 2,
852
+ "fpScope": "project",
853
+ "evidenceClass": "STATIC",
854
+ "class": "STATIC",
855
+ "proxyOnly": false,
856
+ "argv": [
857
+ "npx",
858
+ "tsc",
859
+ "-p",
860
+ "tsconfig.json",
861
+ "--noEmit"
862
+ ],
863
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
864
+ "terminationReason": null,
865
+ "executionError": null,
866
+ "executionToken": "23c171f3-6733-44ea-a27f-642c86cc9c03"
867
+ },
868
+ {
869
+ "checkId": "c-notes-server",
870
+ "command": "npx vitest run packages/server/test/notes.test.ts",
871
+ "status": "PASS",
872
+ "exitCode": 0,
873
+ "testCount": 13,
874
+ "startedAt": 1789938041887,
875
+ "finishedAt": 1789938042946,
876
+ "versions": {
877
+ "node": "v24.21.0"
878
+ },
879
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
880
+ "evaluatorHash": null,
881
+ "sourceFingerprint": "22f09d3dfc8329d291d6a882467dd74b916474cf314444f5d6660ea405d5dd1f",
882
+ "fingerprintSchemaVersion": 2,
883
+ "fpScope": "project",
884
+ "evidenceClass": "INTEGRATION",
885
+ "class": "INTEGRATION",
886
+ "proxyOnly": false,
887
+ "argv": [
888
+ "npx",
889
+ "vitest",
890
+ "run",
891
+ "packages/server/test/notes.test.ts"
892
+ ],
893
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
894
+ "terminationReason": null,
895
+ "executionError": null,
896
+ "executionToken": "78b7ef12-7b6e-497f-bd60-15639ecb310f"
897
+ },
898
+ {
899
+ "checkId": "c-notes-e2e",
900
+ "command": "npx playwright test --config playwright.notes.config.ts",
901
+ "status": "FAIL",
902
+ "exitCode": 1,
903
+ "testCount": 1,
904
+ "startedAt": 1789938049819,
905
+ "finishedAt": 1789938092175,
906
+ "versions": {
907
+ "node": "v24.21.0"
908
+ },
909
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
910
+ "evaluatorHash": null,
911
+ "sourceFingerprint": "22f09d3dfc8329d291d6a882467dd74b916474cf314444f5d6660ea405d5dd1f",
912
+ "fingerprintSchemaVersion": 2,
913
+ "fpScope": "project",
914
+ "evidenceClass": "BROWSER",
915
+ "class": "BROWSER",
916
+ "proxyOnly": false,
917
+ "argv": [
918
+ "npx",
919
+ "playwright",
920
+ "test",
921
+ "--config",
922
+ "playwright.notes.config.ts"
923
+ ],
924
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
925
+ "terminationReason": null,
926
+ "executionError": null,
927
+ "executionToken": "9f44dd21-2ebc-4a41-9052-90fb2d23c3b2"
928
+ },
929
+ {
930
+ "checkId": "c-notes-e2e",
931
+ "command": "npx playwright test --config playwright.notes.config.ts",
932
+ "status": "FAIL",
933
+ "exitCode": 1,
934
+ "testCount": 4,
935
+ "startedAt": 1789938161795,
936
+ "finishedAt": 1789938190413,
937
+ "versions": {
938
+ "node": "v24.21.0"
939
+ },
940
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
941
+ "evaluatorHash": null,
942
+ "sourceFingerprint": "2447c90c4d257df55b4b5c547b3349a91bcb1ff752ebea0b73cec00f134c546b",
943
+ "fingerprintSchemaVersion": 2,
944
+ "fpScope": "project",
945
+ "evidenceClass": "BROWSER",
946
+ "class": "BROWSER",
947
+ "proxyOnly": false,
948
+ "argv": [
949
+ "npx",
950
+ "playwright",
951
+ "test",
952
+ "--config",
953
+ "playwright.notes.config.ts"
954
+ ],
955
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
956
+ "terminationReason": null,
957
+ "executionError": null,
958
+ "executionToken": "b2bd865b-bc58-4598-9eb1-4d48cb7b7f17"
959
+ },
960
+ {
961
+ "checkId": "c-notes-e2e",
962
+ "command": "npx playwright test --config playwright.notes.config.ts",
963
+ "status": "FAIL",
964
+ "exitCode": 1,
965
+ "testCount": 4,
966
+ "startedAt": 1789938272124,
967
+ "finishedAt": 1789938300525,
968
+ "versions": {
969
+ "node": "v24.21.0"
970
+ },
971
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
972
+ "evaluatorHash": null,
973
+ "sourceFingerprint": "92a0819f51ce24b5cf0de3b181cbaab5dd6c6d46b047cf022bb67d5a3f4612e6",
974
+ "fingerprintSchemaVersion": 2,
975
+ "fpScope": "project",
976
+ "evidenceClass": "BROWSER",
977
+ "class": "BROWSER",
978
+ "proxyOnly": false,
979
+ "argv": [
980
+ "npx",
981
+ "playwright",
982
+ "test",
983
+ "--config",
984
+ "playwright.notes.config.ts"
985
+ ],
986
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
987
+ "terminationReason": null,
988
+ "executionError": null,
989
+ "executionToken": "731f8aec-d6ca-4aa6-bf12-8f1eaeee3c66"
990
+ },
991
+ {
992
+ "checkId": "c-notes-e2e",
993
+ "command": "npx playwright test --config playwright.notes.config.ts",
994
+ "status": "FAIL",
995
+ "exitCode": 1,
996
+ "testCount": 5,
997
+ "startedAt": 1789938344109,
998
+ "finishedAt": 1789938555658,
999
+ "versions": {
1000
+ "node": "v24.21.0"
1001
+ },
1002
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1003
+ "evaluatorHash": null,
1004
+ "sourceFingerprint": "78a8e6d75a733302b24a687359853133bc8b8e79cd7cd73e25fc9a55da9fe53c",
1005
+ "fingerprintSchemaVersion": 2,
1006
+ "fpScope": "project",
1007
+ "evidenceClass": "BROWSER",
1008
+ "class": "BROWSER",
1009
+ "proxyOnly": false,
1010
+ "argv": [
1011
+ "npx",
1012
+ "playwright",
1013
+ "test",
1014
+ "--config",
1015
+ "playwright.notes.config.ts"
1016
+ ],
1017
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1018
+ "terminationReason": null,
1019
+ "executionError": null,
1020
+ "executionToken": "49642558-96cc-487b-8645-5739019e1b2c"
1021
+ },
1022
+ {
1023
+ "checkId": "c-notes-e2e",
1024
+ "command": "npx playwright test --config playwright.notes.config.ts",
1025
+ "status": "FAIL",
1026
+ "exitCode": 1,
1027
+ "testCount": 6,
1028
+ "startedAt": 1789939228525,
1029
+ "finishedAt": 1789939303354,
1030
+ "versions": {
1031
+ "node": "v24.21.0"
1032
+ },
1033
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1034
+ "evaluatorHash": null,
1035
+ "sourceFingerprint": "65fe8b7948e2d571a1c730c0998997f93482c23abb1005fba08a9ae7402d59cc",
1036
+ "fingerprintSchemaVersion": 2,
1037
+ "fpScope": "project",
1038
+ "evidenceClass": "BROWSER",
1039
+ "class": "BROWSER",
1040
+ "proxyOnly": false,
1041
+ "argv": [
1042
+ "npx",
1043
+ "playwright",
1044
+ "test",
1045
+ "--config",
1046
+ "playwright.notes.config.ts"
1047
+ ],
1048
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1049
+ "terminationReason": null,
1050
+ "executionError": null,
1051
+ "executionToken": "b0732d60-6ca8-4730-90eb-937ca2c516a7"
1052
+ },
1053
+ {
1054
+ "checkId": "c-notes-e2e",
1055
+ "command": "npx playwright test --config playwright.notes.config.ts",
1056
+ "status": "FAIL",
1057
+ "exitCode": 1,
1058
+ "testCount": 6,
1059
+ "startedAt": 1789939330047,
1060
+ "finishedAt": 1789939403732,
1061
+ "versions": {
1062
+ "node": "v24.21.0"
1063
+ },
1064
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1065
+ "evaluatorHash": null,
1066
+ "sourceFingerprint": "e5738ddd2f71a5e7f23ee96aa9a07b1b181c95794b61a1817cac0287d1caf9c1",
1067
+ "fingerprintSchemaVersion": 2,
1068
+ "fpScope": "project",
1069
+ "evidenceClass": "BROWSER",
1070
+ "class": "BROWSER",
1071
+ "proxyOnly": false,
1072
+ "argv": [
1073
+ "npx",
1074
+ "playwright",
1075
+ "test",
1076
+ "--config",
1077
+ "playwright.notes.config.ts"
1078
+ ],
1079
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1080
+ "terminationReason": null,
1081
+ "executionError": null,
1082
+ "executionToken": "58a0d403-e188-4ecf-94c4-09e2d9051782"
1083
+ },
1084
+ {
1085
+ "checkId": "c-notes-e2e",
1086
+ "command": "npx playwright test --config playwright.notes.config.ts",
1087
+ "status": "PASS",
1088
+ "exitCode": 0,
1089
+ "testCount": 8,
1090
+ "startedAt": 1789939430119,
1091
+ "finishedAt": 1789939494855,
1092
+ "versions": {
1093
+ "node": "v24.21.0"
1094
+ },
1095
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1096
+ "evaluatorHash": null,
1097
+ "sourceFingerprint": "d35892d8eb496cd291827339fb5bbcf556515a3132464a0820497b638fe7172a",
1098
+ "fingerprintSchemaVersion": 2,
1099
+ "fpScope": "project",
1100
+ "evidenceClass": "BROWSER",
1101
+ "class": "BROWSER",
1102
+ "proxyOnly": false,
1103
+ "argv": [
1104
+ "npx",
1105
+ "playwright",
1106
+ "test",
1107
+ "--config",
1108
+ "playwright.notes.config.ts"
1109
+ ],
1110
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1111
+ "terminationReason": null,
1112
+ "executionError": null,
1113
+ "executionToken": "45524806-8c8d-473c-a587-0e807f0190f8"
1114
+ },
1115
+ {
1116
+ "checkId": "c-notes-server",
1117
+ "command": "npx vitest run packages/server/test/notes.test.ts",
1118
+ "status": "PASS",
1119
+ "exitCode": 0,
1120
+ "testCount": 13,
1121
+ "startedAt": 1789939503261,
1122
+ "finishedAt": 1789939504198,
1123
+ "versions": {
1124
+ "node": "v24.21.0"
1125
+ },
1126
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1127
+ "evaluatorHash": null,
1128
+ "sourceFingerprint": "d35892d8eb496cd291827339fb5bbcf556515a3132464a0820497b638fe7172a",
1129
+ "fingerprintSchemaVersion": 2,
1130
+ "fpScope": "project",
1131
+ "evidenceClass": "INTEGRATION",
1132
+ "class": "INTEGRATION",
1133
+ "proxyOnly": false,
1134
+ "argv": [
1135
+ "npx",
1136
+ "vitest",
1137
+ "run",
1138
+ "packages/server/test/notes.test.ts"
1139
+ ],
1140
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1141
+ "terminationReason": null,
1142
+ "executionError": null,
1143
+ "executionToken": "800f04bd-6f06-459a-b01f-e8e2a6a6257b"
1144
+ },
1145
+ {
1146
+ "checkId": "c-default-unit",
1147
+ "command": "npx vitest run",
1148
+ "status": "PASS",
1149
+ "exitCode": 0,
1150
+ "testCount": 98,
1151
+ "startedAt": 1789939508480,
1152
+ "finishedAt": 1789939509387,
1153
+ "versions": {
1154
+ "node": "v24.21.0"
1155
+ },
1156
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1157
+ "evaluatorHash": null,
1158
+ "sourceFingerprint": "d35892d8eb496cd291827339fb5bbcf556515a3132464a0820497b638fe7172a",
1159
+ "fingerprintSchemaVersion": 2,
1160
+ "fpScope": "project",
1161
+ "evidenceClass": "UNIT",
1162
+ "class": "UNIT",
1163
+ "proxyOnly": false,
1164
+ "argv": [
1165
+ "npx",
1166
+ "vitest",
1167
+ "run"
1168
+ ],
1169
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1170
+ "terminationReason": null,
1171
+ "executionError": null,
1172
+ "executionToken": "507fa406-660a-40d5-b90d-2190b7d0f7dd"
1173
+ },
1174
+ {
1175
+ "checkId": "c-default-browser",
1176
+ "command": "npx playwright test",
1177
+ "status": "FAIL",
1178
+ "exitCode": 1,
1179
+ "testCount": 33,
1180
+ "startedAt": 1789939514788,
1181
+ "finishedAt": 1789939616841,
1182
+ "versions": {
1183
+ "node": "v24.21.0"
1184
+ },
1185
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1186
+ "evaluatorHash": null,
1187
+ "sourceFingerprint": "d35892d8eb496cd291827339fb5bbcf556515a3132464a0820497b638fe7172a",
1188
+ "fingerprintSchemaVersion": 2,
1189
+ "fpScope": "project",
1190
+ "evidenceClass": "BROWSER",
1191
+ "class": "BROWSER",
1192
+ "proxyOnly": false,
1193
+ "argv": [
1194
+ "npx",
1195
+ "playwright",
1196
+ "test"
1197
+ ],
1198
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1199
+ "terminationReason": null,
1200
+ "executionError": null,
1201
+ "executionToken": "ecd150f0-5f84-4663-89b1-2f57a557c7ec"
1202
+ },
1203
+ {
1204
+ "checkId": "c-default-browser",
1205
+ "command": "npx playwright test",
1206
+ "status": "PASS",
1207
+ "exitCode": 0,
1208
+ "testCount": 34,
1209
+ "startedAt": 1789939640239,
1210
+ "finishedAt": 1789939742036,
1211
+ "versions": {
1212
+ "node": "v24.21.0"
1213
+ },
1214
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1215
+ "evaluatorHash": null,
1216
+ "sourceFingerprint": "25dae1b3154b8234e9214dbf4f22036483ceb2b1bb01e5a3c461298c76d4a21c",
1217
+ "fingerprintSchemaVersion": 2,
1218
+ "fpScope": "project",
1219
+ "evidenceClass": "BROWSER",
1220
+ "class": "BROWSER",
1221
+ "proxyOnly": false,
1222
+ "argv": [
1223
+ "npx",
1224
+ "playwright",
1225
+ "test"
1226
+ ],
1227
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1228
+ "terminationReason": null,
1229
+ "executionError": null,
1230
+ "executionToken": "4c790612-fde0-4ce4-95c4-8476cf7a5b49"
1231
+ },
1232
+ {
1233
+ "checkId": "c-typecheck",
1234
+ "command": "npx tsc -p tsconfig.json --noEmit",
1235
+ "status": "PASS",
1236
+ "exitCode": 0,
1237
+ "testCount": null,
1238
+ "startedAt": 1789939777409,
1239
+ "finishedAt": 1789939778463,
1240
+ "versions": {
1241
+ "node": "v24.21.0"
1242
+ },
1243
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1244
+ "evaluatorHash": null,
1245
+ "sourceFingerprint": "cc2be4bfd14c0210536dde650760876166c10a19331594667aeb6ace8cdca4db",
1246
+ "fingerprintSchemaVersion": 2,
1247
+ "fpScope": "project",
1248
+ "evidenceClass": "STATIC",
1249
+ "class": "STATIC",
1250
+ "proxyOnly": false,
1251
+ "argv": [
1252
+ "npx",
1253
+ "tsc",
1254
+ "-p",
1255
+ "tsconfig.json",
1256
+ "--noEmit"
1257
+ ],
1258
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1259
+ "terminationReason": null,
1260
+ "executionError": null,
1261
+ "executionToken": "dc265457-9a2c-466a-ad41-e60ca0008033"
1262
+ },
1263
+ {
1264
+ "checkId": "c-build",
1265
+ "command": "npm run build -w @sb/web",
1266
+ "status": "PASS",
1267
+ "exitCode": 0,
1268
+ "testCount": null,
1269
+ "startedAt": 1789939782920,
1270
+ "finishedAt": 1789939784001,
1271
+ "versions": {
1272
+ "node": "v24.21.0"
1273
+ },
1274
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1275
+ "evaluatorHash": null,
1276
+ "sourceFingerprint": "cc2be4bfd14c0210536dde650760876166c10a19331594667aeb6ace8cdca4db",
1277
+ "fingerprintSchemaVersion": 2,
1278
+ "fpScope": "project",
1279
+ "evidenceClass": "STATIC",
1280
+ "class": "STATIC",
1281
+ "proxyOnly": false,
1282
+ "argv": [
1283
+ "npm",
1284
+ "run",
1285
+ "build",
1286
+ "-w",
1287
+ "@sb/web"
1288
+ ],
1289
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1290
+ "terminationReason": null,
1291
+ "executionError": null,
1292
+ "executionToken": "3a21242d-ae8c-4703-97bf-ef75b398618c"
1293
+ },
1294
+ {
1295
+ "checkId": "c-notes-server",
1296
+ "command": "npx vitest run packages/server/test/notes.test.ts",
1297
+ "status": "PASS",
1298
+ "exitCode": 0,
1299
+ "testCount": 13,
1300
+ "startedAt": 1789939792646,
1301
+ "finishedAt": 1789939793500,
1302
+ "versions": {
1303
+ "node": "v24.21.0"
1304
+ },
1305
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1306
+ "evaluatorHash": null,
1307
+ "sourceFingerprint": "cc2be4bfd14c0210536dde650760876166c10a19331594667aeb6ace8cdca4db",
1308
+ "fingerprintSchemaVersion": 2,
1309
+ "fpScope": "project",
1310
+ "evidenceClass": "INTEGRATION",
1311
+ "class": "INTEGRATION",
1312
+ "proxyOnly": false,
1313
+ "argv": [
1314
+ "npx",
1315
+ "vitest",
1316
+ "run",
1317
+ "packages/server/test/notes.test.ts"
1318
+ ],
1319
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1320
+ "terminationReason": null,
1321
+ "executionError": null,
1322
+ "executionToken": "cc6e6025-d7d9-4e72-8930-95f48da3c061"
1323
+ },
1324
+ {
1325
+ "checkId": "c-notes-e2e",
1326
+ "command": "npx playwright test --config playwright.notes.config.ts",
1327
+ "status": "PASS",
1328
+ "exitCode": 0,
1329
+ "testCount": 8,
1330
+ "startedAt": 1789939797088,
1331
+ "finishedAt": 1789939862169,
1332
+ "versions": {
1333
+ "node": "v24.21.0"
1334
+ },
1335
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1336
+ "evaluatorHash": null,
1337
+ "sourceFingerprint": "cc2be4bfd14c0210536dde650760876166c10a19331594667aeb6ace8cdca4db",
1338
+ "fingerprintSchemaVersion": 2,
1339
+ "fpScope": "project",
1340
+ "evidenceClass": "BROWSER",
1341
+ "class": "BROWSER",
1342
+ "proxyOnly": false,
1343
+ "argv": [
1344
+ "npx",
1345
+ "playwright",
1346
+ "test",
1347
+ "--config",
1348
+ "playwright.notes.config.ts"
1349
+ ],
1350
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1351
+ "terminationReason": null,
1352
+ "executionError": null,
1353
+ "executionToken": "e0b84655-3600-4e5e-8c2f-5437d21c0d3e"
1354
+ },
1355
+ {
1356
+ "checkId": "c-default-unit",
1357
+ "command": "npx vitest run",
1358
+ "status": "PASS",
1359
+ "exitCode": 0,
1360
+ "testCount": 98,
1361
+ "startedAt": 1789939866865,
1362
+ "finishedAt": 1789939867941,
1363
+ "versions": {
1364
+ "node": "v24.21.0"
1365
+ },
1366
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1367
+ "evaluatorHash": null,
1368
+ "sourceFingerprint": "cc2be4bfd14c0210536dde650760876166c10a19331594667aeb6ace8cdca4db",
1369
+ "fingerprintSchemaVersion": 2,
1370
+ "fpScope": "project",
1371
+ "evidenceClass": "UNIT",
1372
+ "class": "UNIT",
1373
+ "proxyOnly": false,
1374
+ "argv": [
1375
+ "npx",
1376
+ "vitest",
1377
+ "run"
1378
+ ],
1379
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1380
+ "terminationReason": null,
1381
+ "executionError": null,
1382
+ "executionToken": "7f902678-d227-4d05-b30b-4c022c39f886"
1383
+ },
1384
+ {
1385
+ "checkId": "c-default-browser",
1386
+ "command": "npx playwright test",
1387
+ "status": "PASS",
1388
+ "exitCode": 0,
1389
+ "testCount": 34,
1390
+ "startedAt": 1789939872492,
1391
+ "finishedAt": 1789939974274,
1392
+ "versions": {
1393
+ "node": "v24.21.0"
1394
+ },
1395
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1396
+ "evaluatorHash": null,
1397
+ "sourceFingerprint": "cc2be4bfd14c0210536dde650760876166c10a19331594667aeb6ace8cdca4db",
1398
+ "fingerprintSchemaVersion": 2,
1399
+ "fpScope": "project",
1400
+ "evidenceClass": "BROWSER",
1401
+ "class": "BROWSER",
1402
+ "proxyOnly": false,
1403
+ "argv": [
1404
+ "npx",
1405
+ "playwright",
1406
+ "test"
1407
+ ],
1408
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1409
+ "terminationReason": null,
1410
+ "executionError": null,
1411
+ "executionToken": "7e337c05-0ca6-4217-a3a7-447114aca18c"
1412
+ },
1413
+ {
1414
+ "checkId": "c-notes-e2e",
1415
+ "command": "npx playwright test --config playwright.notes.config.ts",
1416
+ "status": "FAIL",
1417
+ "exitCode": 1,
1418
+ "testCount": 8,
1419
+ "startedAt": 1789941760928,
1420
+ "finishedAt": 1789941834657,
1421
+ "versions": {
1422
+ "node": "v24.21.0"
1423
+ },
1424
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1425
+ "evaluatorHash": null,
1426
+ "sourceFingerprint": "6b6cbc88037c02c15bb08ce336b8e3613861ebcc8dc444c55449554ea540d70e",
1427
+ "fingerprintSchemaVersion": 2,
1428
+ "fpScope": "project",
1429
+ "evidenceClass": "BROWSER",
1430
+ "class": "BROWSER",
1431
+ "proxyOnly": false,
1432
+ "argv": [
1433
+ "npx",
1434
+ "playwright",
1435
+ "test",
1436
+ "--config",
1437
+ "playwright.notes.config.ts"
1438
+ ],
1439
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1440
+ "terminationReason": null,
1441
+ "executionError": null,
1442
+ "executionToken": "6321be72-98a3-4e85-ad2f-caf32d3b7b01"
1443
+ },
1444
+ {
1445
+ "checkId": "c-notes-e2e",
1446
+ "command": "npx playwright test --config playwright.notes.config.ts",
1447
+ "status": "PASS",
1448
+ "exitCode": 0,
1449
+ "testCount": 9,
1450
+ "startedAt": 1789941992082,
1451
+ "finishedAt": 1789942061325,
1452
+ "versions": {
1453
+ "node": "v24.21.0"
1454
+ },
1455
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1456
+ "evaluatorHash": null,
1457
+ "sourceFingerprint": "ea762150f47e0cabe05261140d14d27c6f1015033e499d1af366955c3dbc8ff7",
1458
+ "fingerprintSchemaVersion": 2,
1459
+ "fpScope": "project",
1460
+ "evidenceClass": "BROWSER",
1461
+ "class": "BROWSER",
1462
+ "proxyOnly": false,
1463
+ "argv": [
1464
+ "npx",
1465
+ "playwright",
1466
+ "test",
1467
+ "--config",
1468
+ "playwright.notes.config.ts"
1469
+ ],
1470
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1471
+ "terminationReason": null,
1472
+ "executionError": null,
1473
+ "executionToken": "16b6c704-db93-41d9-bc69-90bed51c1078"
1474
+ },
1475
+ {
1476
+ "checkId": "c-default-browser",
1477
+ "command": "npx playwright test",
1478
+ "status": "PASS",
1479
+ "exitCode": 0,
1480
+ "testCount": 34,
1481
+ "startedAt": 1789942070795,
1482
+ "finishedAt": 1789942173154,
1483
+ "versions": {
1484
+ "node": "v24.21.0"
1485
+ },
1486
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1487
+ "evaluatorHash": null,
1488
+ "sourceFingerprint": "ea762150f47e0cabe05261140d14d27c6f1015033e499d1af366955c3dbc8ff7",
1489
+ "fingerprintSchemaVersion": 2,
1490
+ "fpScope": "project",
1491
+ "evidenceClass": "BROWSER",
1492
+ "class": "BROWSER",
1493
+ "proxyOnly": false,
1494
+ "argv": [
1495
+ "npx",
1496
+ "playwright",
1497
+ "test"
1498
+ ],
1499
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1500
+ "terminationReason": null,
1501
+ "executionError": null,
1502
+ "executionToken": "0db09bfe-eb0c-4834-88d2-89d70a0c895a"
1503
+ },
1504
+ {
1505
+ "checkId": "c-notes-e2e",
1506
+ "command": "npx playwright test --config playwright.notes.config.ts",
1507
+ "status": "FAIL",
1508
+ "exitCode": 1,
1509
+ "testCount": 8,
1510
+ "startedAt": 1789942900121,
1511
+ "finishedAt": 1789942969390,
1512
+ "versions": {
1513
+ "node": "v24.21.0"
1514
+ },
1515
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1516
+ "evaluatorHash": null,
1517
+ "sourceFingerprint": "521e757256bced7218a49d3b75e559269571a27f28b7663a05b1d77f0e0c8c02",
1518
+ "fingerprintSchemaVersion": 2,
1519
+ "fpScope": "project",
1520
+ "evidenceClass": "BROWSER",
1521
+ "class": "BROWSER",
1522
+ "proxyOnly": false,
1523
+ "argv": [
1524
+ "npx",
1525
+ "playwright",
1526
+ "test",
1527
+ "--config",
1528
+ "playwright.notes.config.ts"
1529
+ ],
1530
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1531
+ "terminationReason": null,
1532
+ "executionError": null,
1533
+ "executionToken": "adc38f4f-7793-4753-8116-6f4a8a8fa524"
1534
+ },
1535
+ {
1536
+ "checkId": "c-notes-e2e",
1537
+ "command": "npx playwright test --config playwright.notes.config.ts",
1538
+ "status": "PASS",
1539
+ "exitCode": 0,
1540
+ "testCount": 10,
1541
+ "startedAt": 1789943069104,
1542
+ "finishedAt": 1789943146532,
1543
+ "versions": {
1544
+ "node": "v24.21.0"
1545
+ },
1546
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1547
+ "evaluatorHash": null,
1548
+ "sourceFingerprint": "209ed535cb2a183b3720c319e618fd886b5ac31af6c086ae95f5d416193f2688",
1549
+ "fingerprintSchemaVersion": 2,
1550
+ "fpScope": "project",
1551
+ "evidenceClass": "BROWSER",
1552
+ "class": "BROWSER",
1553
+ "proxyOnly": false,
1554
+ "argv": [
1555
+ "npx",
1556
+ "playwright",
1557
+ "test",
1558
+ "--config",
1559
+ "playwright.notes.config.ts"
1560
+ ],
1561
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1562
+ "terminationReason": null,
1563
+ "executionError": null,
1564
+ "executionToken": "64333550-80b1-4c2d-a98f-6286bb71ac1e"
1565
+ },
1566
+ {
1567
+ "checkId": "c-typecheck",
1568
+ "command": "npx tsc -p tsconfig.json --noEmit",
1569
+ "status": "PASS",
1570
+ "exitCode": 0,
1571
+ "testCount": null,
1572
+ "startedAt": 1789943519157,
1573
+ "finishedAt": 1789943520243,
1574
+ "versions": {
1575
+ "node": "v24.21.0"
1576
+ },
1577
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1578
+ "evaluatorHash": null,
1579
+ "sourceFingerprint": "aedbb542ec2639cef1ea78e0b9677ee5cea8967de5274c33857c62f60568b2c8",
1580
+ "fingerprintSchemaVersion": 2,
1581
+ "fpScope": "project",
1582
+ "proxyOnly": false,
1583
+ "argv": [
1584
+ "npx",
1585
+ "tsc",
1586
+ "-p",
1587
+ "tsconfig.json",
1588
+ "--noEmit"
1589
+ ],
1590
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1591
+ "terminationReason": null,
1592
+ "executionError": null,
1593
+ "executionToken": "cdedfba1-ddf7-4dc5-b617-1ea5644ce67e"
1594
+ },
1595
+ {
1596
+ "checkId": "c-notes-e2e",
1597
+ "command": "npx playwright test --config playwright.notes.config.ts",
1598
+ "status": "FAIL",
1599
+ "exitCode": 1,
1600
+ "testCount": 12,
1601
+ "startedAt": 1789943748034,
1602
+ "finishedAt": 1789943849224,
1603
+ "versions": {
1604
+ "node": "v24.21.0"
1605
+ },
1606
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1607
+ "evaluatorHash": null,
1608
+ "sourceFingerprint": "6a36d7b73612550968bf9abbd3b6e95e3655ca602ab9d273ec0d59b6f3ea4213",
1609
+ "fingerprintSchemaVersion": 2,
1610
+ "fpScope": "project",
1611
+ "evidenceClass": "BROWSER",
1612
+ "class": "BROWSER",
1613
+ "proxyOnly": false,
1614
+ "argv": [
1615
+ "npx",
1616
+ "playwright",
1617
+ "test",
1618
+ "--config",
1619
+ "playwright.notes.config.ts"
1620
+ ],
1621
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1622
+ "terminationReason": null,
1623
+ "executionError": null,
1624
+ "executionToken": "b0e106b9-6dcd-4baf-a22d-e7cb43c6e9a0"
1625
+ },
1626
+ {
1627
+ "checkId": "c-typecheck",
1628
+ "command": "npx tsc -p tsconfig.json --noEmit",
1629
+ "status": "PASS",
1630
+ "exitCode": 0,
1631
+ "testCount": null,
1632
+ "startedAt": 1789943901401,
1633
+ "finishedAt": 1789943902462,
1634
+ "versions": {
1635
+ "node": "v24.21.0"
1636
+ },
1637
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1638
+ "evaluatorHash": null,
1639
+ "sourceFingerprint": "04cdc04a7cad98eea8870394226cf1aeeaf7b6ec50e2452ee0d8a1de0a23150a",
1640
+ "fingerprintSchemaVersion": 2,
1641
+ "fpScope": "project",
1642
+ "proxyOnly": false,
1643
+ "argv": [
1644
+ "npx",
1645
+ "tsc",
1646
+ "-p",
1647
+ "tsconfig.json",
1648
+ "--noEmit"
1649
+ ],
1650
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1651
+ "terminationReason": null,
1652
+ "executionError": null,
1653
+ "executionToken": "8995599c-7583-405c-bd28-3468d9b9869e"
1654
+ },
1655
+ {
1656
+ "checkId": "c-notes-e2e",
1657
+ "command": "npx playwright test --config playwright.notes.config.ts",
1658
+ "status": "PASS",
1659
+ "exitCode": 0,
1660
+ "testCount": 14,
1661
+ "startedAt": 1789943905811,
1662
+ "finishedAt": 1789944004200,
1663
+ "versions": {
1664
+ "node": "v24.21.0"
1665
+ },
1666
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1667
+ "evaluatorHash": null,
1668
+ "sourceFingerprint": "04cdc04a7cad98eea8870394226cf1aeeaf7b6ec50e2452ee0d8a1de0a23150a",
1669
+ "fingerprintSchemaVersion": 2,
1670
+ "fpScope": "project",
1671
+ "evidenceClass": "BROWSER",
1672
+ "class": "BROWSER",
1673
+ "proxyOnly": false,
1674
+ "argv": [
1675
+ "npx",
1676
+ "playwright",
1677
+ "test",
1678
+ "--config",
1679
+ "playwright.notes.config.ts"
1680
+ ],
1681
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1682
+ "terminationReason": null,
1683
+ "executionError": null,
1684
+ "executionToken": "dd0bf432-6621-41fc-9dc3-e92c355355a5"
1685
+ },
1686
+ {
1687
+ "checkId": "c-typecheck",
1688
+ "command": "npx tsc -p tsconfig.json --noEmit",
1689
+ "status": "PASS",
1690
+ "exitCode": 0,
1691
+ "testCount": null,
1692
+ "startedAt": 1789944222883,
1693
+ "finishedAt": 1789944223948,
1694
+ "versions": {
1695
+ "node": "v24.21.0"
1696
+ },
1697
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1698
+ "evaluatorHash": null,
1699
+ "sourceFingerprint": "ebf154ebb2ff68d82b1bd58b8e66fbd0687c39f4dc6307bbc311f3363de31f58",
1700
+ "fingerprintSchemaVersion": 2,
1701
+ "fpScope": "project",
1702
+ "proxyOnly": false,
1703
+ "argv": [
1704
+ "npx",
1705
+ "tsc",
1706
+ "-p",
1707
+ "tsconfig.json",
1708
+ "--noEmit"
1709
+ ],
1710
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1711
+ "terminationReason": null,
1712
+ "executionError": null,
1713
+ "executionToken": "4789d395-d074-400b-a903-a406809096a9"
1714
+ },
1715
+ {
1716
+ "checkId": "c-notes-e2e",
1717
+ "command": "npx playwright test --config playwright.notes.config.ts",
1718
+ "status": "FAIL",
1719
+ "exitCode": 1,
1720
+ "testCount": 13,
1721
+ "startedAt": 1789944227697,
1722
+ "finishedAt": 1789944348558,
1723
+ "versions": {
1724
+ "node": "v24.21.0"
1725
+ },
1726
+ "contractHash": "5ff1bad8de4ff627df71a0c2bfef061e38b3eb262089cbca54e842d26d21c2b0",
1727
+ "evaluatorHash": null,
1728
+ "sourceFingerprint": "ebf154ebb2ff68d82b1bd58b8e66fbd0687c39f4dc6307bbc311f3363de31f58",
1729
+ "fingerprintSchemaVersion": 2,
1730
+ "fpScope": "project",
1731
+ "evidenceClass": "BROWSER",
1732
+ "class": "BROWSER",
1733
+ "proxyOnly": false,
1734
+ "argv": [
1735
+ "npx",
1736
+ "playwright",
1737
+ "test",
1738
+ "--config",
1739
+ "playwright.notes.config.ts"
1740
+ ],
1741
+ "outputTail": "command completed; the recorded status and exit code are the evidence.",
1742
+ "terminationReason": null,
1743
+ "executionError": null,
1744
+ "executionToken": "7f3d4311-5d30-4316-87d3-ca3e6839c63b"
1745
+ }
1746
+ ],
1747
+ "faults": [],
1748
+ "execution": {
1749
+ "schemaVersion": 1,
1750
+ "since": 1789934372883,
1751
+ "historicalUsageUnknown": false,
1752
+ "verificationMs": 1625576,
1753
+ "commandAttempts": 37,
1754
+ "inFlight": null
1755
+ },
1756
+ "directory": "/home/example/project",
1757
+ "checkCatalogue": {
1758
+ "c-notes-server": {
1759
+ "command": [
1760
+ "npx",
1761
+ "vitest",
1762
+ "run",
1763
+ "packages/server/test/notes.test.ts"
1764
+ ],
1765
+ "kind": "test",
1766
+ "integration": true,
1767
+ "negativeControl": true,
1768
+ "timeoutMs": 180000
1769
+ },
1770
+ "c-notes-e2e": {
1771
+ "command": [
1772
+ "npx",
1773
+ "playwright",
1774
+ "test",
1775
+ "--config",
1776
+ "playwright.notes.config.ts"
1777
+ ],
1778
+ "kind": "test",
1779
+ "integration": true,
1780
+ "negativeControl": true,
1781
+ "visual": true,
1782
+ "timeoutMs": 420000
1783
+ },
1784
+ "c-default-unit": {
1785
+ "command": [
1786
+ "npx",
1787
+ "vitest",
1788
+ "run"
1789
+ ],
1790
+ "kind": "test",
1791
+ "timeoutMs": 180000
1792
+ },
1793
+ "c-default-browser": {
1794
+ "command": [
1795
+ "npx",
1796
+ "playwright",
1797
+ "test"
1798
+ ],
1799
+ "kind": "test",
1800
+ "timeoutMs": 600000
1801
+ },
1802
+ "c-typecheck": {
1803
+ "command": [
1804
+ "npx",
1805
+ "tsc",
1806
+ "-p",
1807
+ "tsconfig.json",
1808
+ "--noEmit"
1809
+ ],
1810
+ "kind": "cmd",
1811
+ "gate": true,
1812
+ "timeoutMs": 180000
1813
+ },
1814
+ "c-build": {
1815
+ "command": [
1816
+ "npm",
1817
+ "run",
1818
+ "build",
1819
+ "-w",
1820
+ "@sb/web"
1821
+ ],
1822
+ "kind": "cmd",
1823
+ "gate": true,
1824
+ "timeoutMs": 240000
1825
+ }
1826
+ },
1827
+ "createdAt": 1789934372883,
1828
+ "compactionSessionID": "ses_f3f9f0822ffeWuypAPjXEvlUzm",
1829
+ "agentProgressHistory": [
1830
+ {
1831
+ "schemaVersion": 1,
1832
+ "revision": 1,
1833
+ "at": 1789934384565,
1834
+ "sessionID": "ses_f3f9f0822ffeWuypAPjXEvlUzm",
1835
+ "sourceFingerprint": "43b42152981c219f21bad5db97c6040b2d6fbbdf1806eb5c70329885060d2c65",
1836
+ "fields": {
1837
+ "currentSlice": "Implement and verify the requested feature.",
1838
+ "nextAction": "Continue the declared checks one at a time and record each with longrun_verify.",
1839
+ "decisions": [
1840
+ "Wall = terrain wall|pillar from buildMap (layout seed-independent); reject out-of-board + walls, no clamp.",
1841
+ "API under /api/notes/v1/{list,create,update,delete}; server ignores any client id/revision.",
1842
+ "Restart-persistence proof lives in the INTEGRATION vitest (real HTTP, fixed loopback port, SAME file DB), reload proof in the BROWSER e2e.",
1843
+ "Planning is a TacticalGame input mode gated by a flag so it cannot move/shoot/select/endTurn; markers are scene objects rebuilt each sync (no accumulation)."
1844
+ ],
1845
+ "failedHypotheses": [
1846
+ "<example hypothesis redacted>"
1847
+ ],
1848
+ "memoryNodes": [
1849
+ "packages/server/src/index.ts",
1850
+ "packages/server/src/leaderboard.ts",
1851
+ "packages/server/src/validate.ts",
1852
+ "packages/sim/src/map.ts",
1853
+ "packages/sim/src/missions.ts",
1854
+ "packages/web/src/game/TacticalGame.ts",
1855
+ "packages/web/src/scene/World.ts",
1856
+ "playwright.config.ts",
1857
+ "vitest.config.ts",
1858
+ "tsconfig.json"
1859
+ ],
1860
+ "artifacts": []
1861
+ }
1862
+ },
1863
+ {
1864
+ "schemaVersion": 1,
1865
+ "revision": 2,
1866
+ "at": 1789935030856,
1867
+ "sessionID": "ses_f3f9f0822ffeWuypAPjXEvlUzm",
1868
+ "sourceFingerprint": "3ce79a0e64f47e3413bb578c61e8aba944a6b450134177ba100fb91ae6bd57f4",
1869
+ "fields": {
1870
+ "currentSlice": "Implement and verify the requested feature.",
1871
+ "nextAction": "Continue the declared checks one at a time and record each with longrun_verify.",
1872
+ "decisions": [
1873
+ "Keep one input owner: TacticalGame gates tactical actions while planning.active; left-click selects a tile (vis2 only), right/shift-drag still pans (presentation only).",
1874
+ "PlanningController owns notes/draft/status, re-renders markers from notes\u2229vis==2 on game.onStateChange, and is disposed on mission unmount (no stale listeners/markers).",
1875
+ "Restart-persistence proved in the INTEGRATION test; reload + pointer/keyboard/fog/invariance + screenshots proved in the BROWSER spec."
1876
+ ],
1877
+ "failedHypotheses": [
1878
+ "<example hypothesis redacted>"
1879
+ ],
1880
+ "memoryNodes": [
1881
+ "packages/server/src/notes.ts",
1882
+ "packages/server/src/leaderboard.ts",
1883
+ "packages/web/src/game/TacticalGame.ts",
1884
+ "packages/web/src/scene/World.ts",
1885
+ "packages/web/src/GameCanvas.tsx",
1886
+ "packages/web/src/HUD.tsx"
1887
+ ],
1888
+ "artifacts": [
1889
+ "packages/server/src/notes.ts",
1890
+ "packages/server/src/index.ts",
1891
+ "packages/server/test/notes.test.ts"
1892
+ ]
1893
+ }
1894
+ },
1895
+ {
1896
+ "schemaVersion": 1,
1897
+ "revision": 3,
1898
+ "at": 1789935752230,
1899
+ "sessionID": "ses_f3f9f0822ffeWuypAPjXEvlUzm",
1900
+ "sourceFingerprint": "dc33b0f2fa08fe45cefa09c4588065938b0f53e89db28e79e8c99af6a61000e8",
1901
+ "fields": {
1902
+ "currentSlice": "Implement and verify the requested feature.",
1903
+ "nextAction": "Continue the declared checks one at a time and record each with longrun_verify.",
1904
+ "decisions": [
1905
+ "Process-boundary restart proven with two owned child PIDs, fixed loopback port, port-released proof, exact note fields across boundary.",
1906
+ "Readiness belongs to the owned child's own banner, not a foreign /health.",
1907
+ "Annotation bodies capped (complete 400); submit's 5MB readBody unchanged."
1908
+ ],
1909
+ "failedHypotheses": [
1910
+ "<example hypothesis redacted>"
1911
+ ],
1912
+ "memoryNodes": [
1913
+ "packages/server/AGENTS.md"
1914
+ ],
1915
+ "artifacts": [
1916
+ "packages/server/src/index.ts",
1917
+ "packages/server/test/notes.test.ts"
1918
+ ]
1919
+ }
1920
+ },
1921
+ {
1922
+ "schemaVersion": 1,
1923
+ "revision": 4,
1924
+ "at": 1789936705246,
1925
+ "sessionID": "ses_f3f9f0822ffeWuypAPjXEvlUzm",
1926
+ "sourceFingerprint": "dc33b0f2fa08fe45cefa09c4588065938b0f53e89db28e79e8c99af6a61000e8",
1927
+ "fields": {
1928
+ "currentSlice": "Implement and verify the requested feature.",
1929
+ "nextAction": "Continue the declared checks one at a time and record each with longrun_verify.",
1930
+ "decisions": [
1931
+ "Use existing six declared checks and exact mappings; no new IDs.",
1932
+ "Server owns parameterized file SQLite; 400 invalid, 404 unknown, 409 stale, 500 storage.",
1933
+ "Planning-mode input must not move/shoot/select units or mutate sim/PRNG/save/replay.",
1934
+ "Only currently visible tiles vis==2 are interactive/rendered; notes UI cannot reveal hidden enemies.",
1935
+ "Browser uses isolated loopback web 5499/server 9099, strict ports, no reuse, isolated fileDB, cleanup.",
1936
+ "Preserve 27 test files and default 34 browser tests in 12 files; no weakening."
1937
+ ],
1938
+ "failedHypotheses": [
1939
+ "<example hypothesis redacted>"
1940
+ ],
1941
+ "memoryNodes": [
1942
+ "AGENTS.md",
1943
+ "packages/server/AGENTS.md",
1944
+ "packages/sim/AGENTS.md",
1945
+ "packages/sim/src/AGENTS.md",
1946
+ "packages/web/AGENTS.md",
1947
+ "packages/web/src/AGENTS.md"
1948
+ ],
1949
+ "artifacts": [
1950
+ "packages/server/src/index.ts",
1951
+ "packages/server/test/notes.test.ts"
1952
+ ]
1953
+ }
1954
+ },
1955
+ {
1956
+ "schemaVersion": 1,
1957
+ "revision": 5,
1958
+ "at": 1789941687085,
1959
+ "sessionID": "ses_f3f9f0822ffeWuypAPjXEvlUzm",
1960
+ "sourceFingerprint": "cc2be4bfd14c0210536dde650760876166c10a19331594667aeb6ace8cdca4db",
1961
+ "fields": {
1962
+ "currentSlice": "Implement and verify the requested feature.",
1963
+ "nextAction": "Continue the declared checks one at a time and record each with longrun_verify.",
1964
+ "decisions": [
1965
+ "Durable requirements are in .longrun/reviews/notes-review.md; not replacement contract.",
1966
+ "Preserve all existing assertions; red regressions must expose confirmed defects before repair.",
1967
+ "Keyboard shortcuts must stop hijacking Tab/focus and planning UI state must agree with controller.",
1968
+ "Batch 1 keyboard/focus/HUD; batch 2 late drafts/scope races; batch 3 seed0/conflict/fog; batch 4 owned resources/failure cleanup.",
1969
+ "Keep full scope after compaction; old green counts are not full acceptance.",
1970
+ "Final sequence: curated lessons, memory_refresh, six checks, checkpoint, PAUSE; no self-complete."
1971
+ ],
1972
+ "failedHypotheses": [
1973
+ "<example hypothesis redacted>"
1974
+ ],
1975
+ "memoryNodes": [
1976
+ "AGENTS.md",
1977
+ "packages/web/src/AGENTS.md",
1978
+ ".longrun/reviews/notes-review.md"
1979
+ ],
1980
+ "artifacts": [
1981
+ "packages/web/src/GameCanvas.tsx",
1982
+ "packages/web/src/game/TacticalGame.ts",
1983
+ "packages/web/src/scene/World.ts",
1984
+ "e2e-notes/notes.spec.ts",
1985
+ "playwright.notes.config.ts"
1986
+ ]
1987
+ }
1988
+ },
1989
+ {
1990
+ "schemaVersion": 1,
1991
+ "revision": 6,
1992
+ "at": 1789942303521,
1993
+ "sessionID": "ses_f3f9f0822ffeWuypAPjXEvlUzm",
1994
+ "sourceFingerprint": "ea762150f47e0cabe05261140d14d27c6f1015033e499d1af366955c3dbc8ff7",
1995
+ "fields": {
1996
+ "currentSlice": "Implement and verify the requested feature.",
1997
+ "nextAction": "Continue the declared checks one at a time and record each with longrun_verify.",
1998
+ "decisions": [
1999
+ "Preserve receipt27 as legitimate pre-fix FAIL and receipt28 as post-fix PASS; no assertion deletion or history reset.",
2000
+ "The original broad Tab assertion over-constrained keyboard routing; replace it with precise oracle based on actual focus/target.",
2001
+ "Ordinary board-focused tactical controls, including Tab next operative after planning exit, must remain available.",
2002
+ "Keyboard side effects may block only while planning/UI interaction is active; UI/form focus must not trigger tactical selection.",
2003
+ "Continue all original requirements after keyboard fix; old green counts are not acceptance.",
2004
+ "Final: curated memory plus native memory_refresh, six checks on one final source, checkpoint, PAUSE; no COMPLETE or fixture work."
2005
+ ],
2006
+ "failedHypotheses": [
2007
+ "<example hypothesis redacted>"
2008
+ ],
2009
+ "memoryNodes": [
2010
+ ".longrun/reviews/notes-review.md"
2011
+ ],
2012
+ "artifacts": [
2013
+ "packages/web/src/GameCanvas.tsx",
2014
+ "packages/web/src/game/TacticalGame.ts",
2015
+ "packages/web/src/HUD.tsx",
2016
+ "packages/web/src/scene/World.ts",
2017
+ "e2e-notes/notes.spec.ts"
2018
+ ]
2019
+ }
2020
+ }
2021
+ ],
2022
+ "agentProgress": {
2023
+ "schemaVersion": 1,
2024
+ "revision": 6,
2025
+ "at": 1789942303521,
2026
+ "sessionID": "ses_f3f9f0822ffeWuypAPjXEvlUzm",
2027
+ "sourceFingerprint": "ea762150f47e0cabe05261140d14d27c6f1015033e499d1af366955c3dbc8ff7",
2028
+ "fields": {
2029
+ "currentSlice": "Implement and verify the requested feature.",
2030
+ "nextAction": "Continue the declared checks one at a time and record each with longrun_verify.",
2031
+ "decisions": [
2032
+ "Preserve receipt27 as legitimate pre-fix FAIL and receipt28 as post-fix PASS; no assertion deletion or history reset.",
2033
+ "The original broad Tab assertion over-constrained keyboard routing; replace it with precise oracle based on actual focus/target.",
2034
+ "Ordinary board-focused tactical controls, including Tab next operative after planning exit, must remain available.",
2035
+ "Keyboard side effects may block only while planning/UI interaction is active; UI/form focus must not trigger tactical selection.",
2036
+ "Continue all original requirements after keyboard fix; old green counts are not acceptance.",
2037
+ "Final: curated memory plus native memory_refresh, six checks on one final source, checkpoint, PAUSE; no COMPLETE or fixture work."
2038
+ ],
2039
+ "failedHypotheses": [
2040
+ "<example hypothesis redacted>"
2041
+ ],
2042
+ "memoryNodes": [
2043
+ ".longrun/reviews/notes-review.md"
2044
+ ],
2045
+ "artifacts": [
2046
+ "packages/web/src/GameCanvas.tsx",
2047
+ "packages/web/src/game/TacticalGame.ts",
2048
+ "packages/web/src/HUD.tsx",
2049
+ "packages/web/src/scene/World.ts",
2050
+ "e2e-notes/notes.spec.ts"
2051
+ ]
2052
+ }
2053
+ },
2054
+ "controlGeneration": 15,
2055
+ "completionReviews": [
2056
+ {
2057
+ "schemaVersion": 1,
2058
+ "id": "notes-rejected-20260920",
2059
+ "at": 1789941532667,
2060
+ "source": "operator_cli",
2061
+ "verdict": "reject",
2062
+ "reason": "Independent Codex review rejects full-scope acceptance of notes. Actual browser review reproduced planning UI/game disagreement after Escape, focus lost to BODY after Save/Cancel, and HUD overlap. Source review retains pending write/draft/scope races, incomplete debug telemetry, seed-zero/full fog-invariance gaps and owned failure-cleanup concerns. All six green declared checks and their genuine zero loss remain historical evidence, not full product acceptance. The native COMPLETE also skipped the explicitly required final memory refresh and independent pause boundary. Archive this actual premature completion and restore only PAUSED/OFF on the same run for authorized local-Qwen corrections within its original limits; never reset the contract, deadline, accounting or receipts. See notes-cycle-evidence/manual-review/review.json and REVIEW_REQUIREMENTS.md.",
2063
+ "basis": "20274b212cc4cddec540e9ba72877e426cdb0decc1cbaf4bedf15f69b4f9fd86",
2064
+ "sourceFingerprint": "cc2be4bfd14c0210536dde650760876166c10a19331594667aeb6ace8cdca4db",
2065
+ "previousState": "COMPLETE",
2066
+ "priorRunHash": "e379125abe64fa3ced9529bb168494b34cf2b9fb2390c2e099b0deca0da4a58c",
2067
+ "archivedSnapshot": "/home/example/project/state/state/374badf8c29ce5865d6c8e8b85a1c2f5/completion-review-notes-rejected-20260920.json"
2068
+ }
2069
+ ]
2070
+ }