@tangle-network/agent-eval 0.203.1 → 0.203.4

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 (242) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/adapters/http.d.ts +2 -2
  3. package/dist/analyst/index.d.ts +6 -6
  4. package/dist/analyst/index.js +1 -1
  5. package/dist/{benchmark-command-6OBcB0sG.js → benchmark-command-BpgCWzJm.js} +2 -2
  6. package/dist/{benchmark-command-6OBcB0sG.js.map → benchmark-command-BpgCWzJm.js.map} +1 -1
  7. package/dist/benchmarks/index.d.ts +4 -4
  8. package/dist/benchmarks/index.js +2 -2
  9. package/dist/campaign/index.d.ts +4 -4
  10. package/dist/campaign/index.js +3 -3
  11. package/dist/{campaign-BbObY2c6.js → campaign-DYhg4SjN.js} +4 -4
  12. package/dist/{campaign-BbObY2c6.js.map → campaign-DYhg4SjN.js.map} +1 -1
  13. package/dist/cli.js +1 -1
  14. package/dist/contract/index.d.ts +7 -7
  15. package/dist/contract/index.js +3 -3
  16. package/dist/{default-registry-CxEBVA6W.d.ts → default-registry-BHEfZHQd.d.ts} +3 -3
  17. package/dist/{default-registry-CxEBVA6W.d.ts.map → default-registry-BHEfZHQd.d.ts.map} +1 -1
  18. package/dist/{define-agent-eval-Da8mHyc7.js → define-agent-eval-B25Cc3ki.js} +2 -2
  19. package/dist/{define-agent-eval-Da8mHyc7.js.map → define-agent-eval-B25Cc3ki.js.map} +1 -1
  20. package/dist/{define-agent-eval-BbEXdM3H.d.ts → define-agent-eval-D8bPoBM5.d.ts} +5 -5
  21. package/dist/{define-agent-eval-BbEXdM3H.d.ts.map → define-agent-eval-D8bPoBM5.d.ts.map} +1 -1
  22. package/dist/{engine-CaSqEVlL.d.ts → engine-F_PvwesR.d.ts} +2 -2
  23. package/dist/{engine-CaSqEVlL.d.ts.map → engine-F_PvwesR.d.ts.map} +1 -1
  24. package/dist/evaluation.d.ts +1 -1
  25. package/dist/experiment/index.d.ts +1 -1
  26. package/dist/{index-Ce2HACcP.d.ts → index-B8n12TR2.d.ts} +9 -11
  27. package/dist/index-B8n12TR2.d.ts.map +1 -0
  28. package/dist/{index-CIkxRsLS.d.ts → index-C9l_-23M.d.ts} +3 -3
  29. package/dist/{index-CIkxRsLS.d.ts.map → index-C9l_-23M.d.ts.map} +1 -1
  30. package/dist/{index-CGAwP9l3.d.ts → index-CG7mtu_G.d.ts} +6 -6
  31. package/dist/{index-CGAwP9l3.d.ts.map → index-CG7mtu_G.d.ts.map} +1 -1
  32. package/dist/index.d.ts +11 -11
  33. package/dist/index.js +5 -5
  34. package/dist/jev.d.ts +1 -1
  35. package/dist/judge-gate-B1qYnkpi.js +658 -0
  36. package/dist/judge-gate-B1qYnkpi.js.map +1 -0
  37. package/dist/judge-gate-BuQd7sSm.d.ts +454 -0
  38. package/dist/judge-gate-BuQd7sSm.d.ts.map +1 -0
  39. package/dist/{llm-judge-EUMHOZOQ.js → llm-judge-DyZdrp6I.js} +54 -12
  40. package/dist/llm-judge-DyZdrp6I.js.map +1 -0
  41. package/dist/{matrix-BqHiMKIj.d.ts → matrix-W1lbSx72.d.ts} +2 -2
  42. package/dist/{matrix-BqHiMKIj.d.ts.map → matrix-W1lbSx72.d.ts.map} +1 -1
  43. package/dist/meta-eval/index.d.ts +2 -132
  44. package/dist/meta-eval/index.d.ts.map +1 -1
  45. package/dist/meta-eval/index.js +2 -275
  46. package/dist/meta-eval/index.js.map +1 -1
  47. package/dist/multishot/golden/index.d.ts +1 -1
  48. package/dist/multishot/index.d.ts +2 -2
  49. package/dist/openapi.json +1 -1
  50. package/dist/{produced-state-g9BPgu4D.js → produced-state-DLToUXrD.js} +2 -2
  51. package/dist/{produced-state-g9BPgu4D.js.map → produced-state-DLToUXrD.js.map} +1 -1
  52. package/dist/rl.d.ts +2 -2
  53. package/dist/search/index.d.ts +2 -2
  54. package/dist/{search-kernel-C5jua_UB.d.ts → search-kernel-DNpsHb8P.d.ts} +2 -2
  55. package/dist/{search-kernel-C5jua_UB.d.ts.map → search-kernel-DNpsHb8P.d.ts.map} +1 -1
  56. package/dist/{skillopt-optimization-method-DZrdQGZl.js → skillopt-optimization-method-Dz5CGZb8.js} +2 -2
  57. package/dist/{skillopt-optimization-method-DZrdQGZl.js.map → skillopt-optimization-method-Dz5CGZb8.js.map} +1 -1
  58. package/dist/{statistical-heldout-CJYAO-4a.d.ts → statistical-heldout-Dq3pnmxd.d.ts} +2 -2
  59. package/dist/{statistical-heldout-CJYAO-4a.d.ts.map → statistical-heldout-Dq3pnmxd.d.ts.map} +1 -1
  60. package/dist/{store-tool-spans-fIE31bU8.d.ts → store-tool-spans-CAF3T-BS.d.ts} +3 -3
  61. package/dist/{store-tool-spans-fIE31bU8.d.ts.map → store-tool-spans-CAF3T-BS.d.ts.map} +1 -1
  62. package/dist/{tool-groups-DP8b5kjF.d.ts → tool-groups-B7_jUPHp.d.ts} +2 -2
  63. package/dist/tool-groups-B7_jUPHp.d.ts.map +1 -0
  64. package/dist/{trace-questions-Cd0Fyhbv.d.ts → trace-questions-Dd3AMf-U.d.ts} +2 -2
  65. package/dist/{trace-questions-Cd0Fyhbv.d.ts.map → trace-questions-Dd3AMf-U.d.ts.map} +1 -1
  66. package/dist/trace-repair/index.d.ts +1 -1
  67. package/dist/traces.d.ts +2 -2
  68. package/dist/{types-hH9APahd.d.ts → types-DZQpUJse.d.ts} +2 -2
  69. package/dist/{types-hH9APahd.d.ts.map → types-DZQpUJse.d.ts.map} +1 -1
  70. package/dist/{types-Duc6xOoW.d.ts → types-ZUy5HGY5.d.ts} +9 -3
  71. package/dist/{types-Duc6xOoW.d.ts.map → types-ZUy5HGY5.d.ts.map} +1 -1
  72. package/docs/eval-surface-map.md +12 -2
  73. package/docs/proofs/campaign-attempt-retention-20261001/README.md +70 -0
  74. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-judge-attribution/attribution_0/attempts/e7949644-3d60-4ab9-817e-f80d0a48f5d8/attempt-1/artifacts/capture.json +3 -0
  75. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-judge-attribution/attribution_0/attempts/e7949644-3d60-4ab9-817e-f80d0a48f5d8/attempt-1/identity.json +10 -0
  76. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-judge-attribution/attribution_0/attempts/e7949644-3d60-4ab9-817e-f80d0a48f5d8/attempt-1/result.json +1 -0
  77. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-judge-attribution/attribution_0/attempts/e7949644-3d60-4ab9-817e-f80d0a48f5d8/attempt-1/trace/spans.jsonl +0 -0
  78. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-judge-attribution/attribution_0/cached-result.json +1 -0
  79. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-judge-attribution/attribution_0/latest-attempt.json +1 -0
  80. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-legacy/capture-retention_0/attempts/7c7718f6-c85e-4867-9e3a-13ef9513de80/attempt-1/artifacts/captured-response.json +4 -0
  81. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-legacy/capture-retention_0/attempts/7c7718f6-c85e-4867-9e3a-13ef9513de80/attempt-1/identity.json +10 -0
  82. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-legacy/capture-retention_0/attempts/7c7718f6-c85e-4867-9e3a-13ef9513de80/attempt-1/result.json +1 -0
  83. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-legacy/capture-retention_0/attempts/7c7718f6-c85e-4867-9e3a-13ef9513de80/attempt-1/trace/spans.jsonl +1 -0
  84. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-legacy/capture-retention_0/cached-result.json +1 -0
  85. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-legacy/capture-retention_0/captured-response.json +6 -0
  86. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-legacy/capture-retention_0/failure-receipt.json +58 -0
  87. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-legacy/capture-retention_0/latest-attempt.json +1 -0
  88. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-legacy/capture-retention_0/spans.jsonl +1 -0
  89. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/baseline/capture-retention_0/attempts/3652118b-e1dc-4b17-bc15-6b802dc71eb1/attempt-1/artifacts/captured-response.json +4 -0
  90. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/baseline/capture-retention_0/attempts/3652118b-e1dc-4b17-bc15-6b802dc71eb1/attempt-1/identity.json +10 -0
  91. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/baseline/capture-retention_0/attempts/3652118b-e1dc-4b17-bc15-6b802dc71eb1/attempt-1/result.json +1 -0
  92. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/baseline/capture-retention_0/attempts/3652118b-e1dc-4b17-bc15-6b802dc71eb1/attempt-1/trace/spans.jsonl +1 -0
  93. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/baseline/capture-retention_0/cached-result.json +1 -0
  94. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/baseline/capture-retention_0/latest-attempt.json +1 -0
  95. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/candidates/42b3fec6b7e55008/capture-retention_0/attempts/40e411fe-ad12-4e6b-a279-2cf07c356a2f/attempt-1/artifacts/captured-response.json +4 -0
  96. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/candidates/42b3fec6b7e55008/capture-retention_0/attempts/40e411fe-ad12-4e6b-a279-2cf07c356a2f/attempt-1/failure-receipt.json +62 -0
  97. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/candidates/42b3fec6b7e55008/capture-retention_0/attempts/40e411fe-ad12-4e6b-a279-2cf07c356a2f/attempt-1/identity.json +10 -0
  98. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/candidates/42b3fec6b7e55008/capture-retention_0/attempts/40e411fe-ad12-4e6b-a279-2cf07c356a2f/attempt-1/result.json +1 -0
  99. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/candidates/42b3fec6b7e55008/capture-retention_0/attempts/40e411fe-ad12-4e6b-a279-2cf07c356a2f/attempt-1/trace/spans.jsonl +1 -0
  100. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/candidates/42b3fec6b7e55008/capture-retention_0/latest-attempt.json +1 -0
  101. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/candidates/87740cc101602a08/capture-retention_0/attempts/9e7da63e-2d19-4ec1-a5ec-ec804e2b0f40/attempt-1/artifacts/captured-response.json +4 -0
  102. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/candidates/87740cc101602a08/capture-retention_0/attempts/9e7da63e-2d19-4ec1-a5ec-ec804e2b0f40/attempt-1/identity.json +10 -0
  103. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/candidates/87740cc101602a08/capture-retention_0/attempts/9e7da63e-2d19-4ec1-a5ec-ec804e2b0f40/attempt-1/result.json +1 -0
  104. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/candidates/87740cc101602a08/capture-retention_0/attempts/9e7da63e-2d19-4ec1-a5ec-ec804e2b0f40/attempt-1/trace/spans.jsonl +1 -0
  105. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/candidates/87740cc101602a08/capture-retention_0/cached-result.json +1 -0
  106. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/candidates/87740cc101602a08/capture-retention_0/latest-attempt.json +1 -0
  107. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/first-interruption.json +38 -0
  108. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/search/blobs/19147243d263e55b1eaf1c940691947382a7cce17c5f49e4a4da765a473d2a55.json +1 -0
  109. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/search/blobs/5dd0d871d559d1c55b2ac04b3fbd26d62f7c9e25d7632d4542502cd292818fc0.json +1 -0
  110. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/search/blobs/5de45d632937e75ff90fec9f1f2ec425904d3632da71f6b26f83b1e1eb8cde5a.json +1 -0
  111. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/search/blobs/6caba627806e499aa3d9e156aec9d5a731a3ef30e29756d343b85b7217c77c11.json +1 -0
  112. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/search/blobs/ce2770851b3b7651f27cedcbad0372b9191e9a9b016665987e3ddd2ad53012b5.json +1 -0
  113. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/search/blobs/d8ac4ba8d9844afb4defa5cd277fe3cb944d99e58cf41c07d3ae199b6f467966.json +1 -0
  114. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/search/blobs/f59a02035fe96ea2f5582dd715d2e3ad8c184ae959310978962f1ac0780753bd.json +1 -0
  115. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/search/ledger.jsonl +23 -0
  116. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-optimization/search/ledger.jsonl.head +1 -0
  117. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-path-guard/capture-retention_0/attempts/3c8272d6-d35b-477e-9d08-085261b8dc64/attempt-1/artifacts/capture.json +3 -0
  118. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-path-guard/capture-retention_0/attempts/3c8272d6-d35b-477e-9d08-085261b8dc64/attempt-1/identity.json +10 -0
  119. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-path-guard/capture-retention_0/attempts/3c8272d6-d35b-477e-9d08-085261b8dc64/attempt-1/result.json +1 -0
  120. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-path-guard/capture-retention_0/attempts/3c8272d6-d35b-477e-9d08-085261b8dc64/attempt-1/trace/spans.jsonl +0 -0
  121. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-path-guard/capture-retention_0/cached-result.json +1 -0
  122. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-path-guard/capture-retention_0/latest-attempt.json +1 -0
  123. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-resume/capture-retention_0/attempts/2b022ccb-adb3-4468-8c21-48ee82d0634a/attempt-1/artifacts/captured-response.json +6 -0
  124. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-resume/capture-retention_0/attempts/2b022ccb-adb3-4468-8c21-48ee82d0634a/attempt-1/failure-receipt.json +81 -0
  125. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-resume/capture-retention_0/attempts/2b022ccb-adb3-4468-8c21-48ee82d0634a/attempt-1/identity.json +10 -0
  126. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-resume/capture-retention_0/attempts/2b022ccb-adb3-4468-8c21-48ee82d0634a/attempt-1/result.json +1 -0
  127. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-resume/capture-retention_0/attempts/2b022ccb-adb3-4468-8c21-48ee82d0634a/attempt-1/trace/spans.jsonl +2 -0
  128. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-resume/capture-retention_0/attempts/c4859951-1e7c-4d23-b89a-0ca8fa79e2cf/attempt-1/artifacts/captured-response.json +6 -0
  129. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-resume/capture-retention_0/attempts/c4859951-1e7c-4d23-b89a-0ca8fa79e2cf/attempt-1/identity.json +10 -0
  130. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-resume/capture-retention_0/attempts/c4859951-1e7c-4d23-b89a-0ca8fa79e2cf/attempt-1/result.json +1 -0
  131. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-resume/capture-retention_0/attempts/c4859951-1e7c-4d23-b89a-0ca8fa79e2cf/attempt-1/trace/spans.jsonl +2 -0
  132. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-resume/capture-retention_0/cached-result.json +1 -0
  133. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-resume/capture-retention_0/latest-attempt.json +1 -0
  134. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-resume/observation.json +608 -0
  135. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-retry/capture-retention_0/attempts/74c13884-d47e-4b6d-a823-5bd44ee0e6cb/attempt-1/artifacts/captured-response.json +6 -0
  136. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-retry/capture-retention_0/attempts/74c13884-d47e-4b6d-a823-5bd44ee0e6cb/attempt-1/failure-receipt.json +81 -0
  137. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-retry/capture-retention_0/attempts/74c13884-d47e-4b6d-a823-5bd44ee0e6cb/attempt-1/identity.json +10 -0
  138. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-retry/capture-retention_0/attempts/74c13884-d47e-4b6d-a823-5bd44ee0e6cb/attempt-1/result.json +1 -0
  139. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-retry/capture-retention_0/attempts/74c13884-d47e-4b6d-a823-5bd44ee0e6cb/attempt-1/trace/spans.jsonl +2 -0
  140. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-retry/capture-retention_0/attempts/74c13884-d47e-4b6d-a823-5bd44ee0e6cb/attempt-2/artifacts/captured-response.json +6 -0
  141. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-retry/capture-retention_0/attempts/74c13884-d47e-4b6d-a823-5bd44ee0e6cb/attempt-2/identity.json +10 -0
  142. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-retry/capture-retention_0/attempts/74c13884-d47e-4b6d-a823-5bd44ee0e6cb/attempt-2/result.json +1 -0
  143. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-retry/capture-retention_0/attempts/74c13884-d47e-4b6d-a823-5bd44ee0e6cb/attempt-2/trace/spans.jsonl +2 -0
  144. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-retry/capture-retention_0/cached-result.json +1 -0
  145. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-retry/capture-retention_0/latest-attempt.json +1 -0
  146. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-retry/observation.json +514 -0
  147. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/after-summary.json +1853 -0
  148. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/judge-attribution.json +140 -0
  149. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/qualification.log +1 -0
  150. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/qualify.mjs +165 -0
  151. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/reproduce.mjs +39 -0
  152. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/reproduction-resume/capture-retention_0/cached-result.json +1 -0
  153. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/reproduction-resume/capture-retention_0/captured-response.json +5 -0
  154. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/reproduction-resume/capture-retention_0/failure-receipt.json +58 -0
  155. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/reproduction-resume/capture-retention_0/spans.jsonl +1 -0
  156. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/reproduction-resume/observer-retained-captures.json +20 -0
  157. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/reproduction-retry/capture-retention_0/cached-result.json +1 -0
  158. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/reproduction-retry/capture-retention_0/captured-response.json +5 -0
  159. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/reproduction-retry/capture-retention_0/failure-receipt.attempt-1.json +58 -0
  160. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/reproduction-retry/capture-retention_0/spans.jsonl +1 -0
  161. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/reproduction-retry/observer-retained-captures.json +20 -0
  162. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/reproduction-summary.json +315 -0
  163. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/reproduction.log +1 -0
  164. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/source-and-build.json +2409 -0
  165. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/typecheck.log +1 -0
  166. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/current/verify-package.log +340 -0
  167. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-legacy/capture-retention_0/attempts/33d57ccb-d4d8-4c23-92e3-c1ddf7db6058/attempt-1/artifacts/captured-response.json +4 -0
  168. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-legacy/capture-retention_0/attempts/33d57ccb-d4d8-4c23-92e3-c1ddf7db6058/attempt-1/identity.json +10 -0
  169. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-legacy/capture-retention_0/attempts/33d57ccb-d4d8-4c23-92e3-c1ddf7db6058/attempt-1/result.json +1 -0
  170. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-legacy/capture-retention_0/attempts/33d57ccb-d4d8-4c23-92e3-c1ddf7db6058/attempt-1/trace/spans.jsonl +1 -0
  171. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-legacy/capture-retention_0/cached-result.json +1 -0
  172. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-legacy/capture-retention_0/captured-response.json +6 -0
  173. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-legacy/capture-retention_0/failure-receipt.json +58 -0
  174. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-legacy/capture-retention_0/latest-attempt.json +1 -0
  175. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-legacy/capture-retention_0/spans.jsonl +1 -0
  176. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-optimization/baseline/capture-retention_0/attempts/6b25a1d2-5324-445b-b59d-bdc7381cd4b4/attempt-1/artifacts/captured-response.json +4 -0
  177. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-optimization/baseline/capture-retention_0/attempts/6b25a1d2-5324-445b-b59d-bdc7381cd4b4/attempt-1/identity.json +10 -0
  178. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-optimization/baseline/capture-retention_0/attempts/6b25a1d2-5324-445b-b59d-bdc7381cd4b4/attempt-1/result.json +1 -0
  179. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-optimization/baseline/capture-retention_0/attempts/6b25a1d2-5324-445b-b59d-bdc7381cd4b4/attempt-1/trace/spans.jsonl +1 -0
  180. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-optimization/baseline/capture-retention_0/cached-result.json +1 -0
  181. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-optimization/baseline/capture-retention_0/latest-attempt.json +1 -0
  182. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-optimization/first-interruption.json +5 -0
  183. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-optimization/search/blobs/5de45d632937e75ff90fec9f1f2ec425904d3632da71f6b26f83b1e1eb8cde5a.json +1 -0
  184. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-optimization/search/ledger.jsonl +7 -0
  185. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-optimization/search/ledger.jsonl.head +1 -0
  186. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-path-guard/capture-retention_0/attempts/723fa9c6-099e-437c-bddf-a4cbd28a8508/attempt-1/artifacts/capture.json +3 -0
  187. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-path-guard/capture-retention_0/attempts/723fa9c6-099e-437c-bddf-a4cbd28a8508/attempt-1/identity.json +10 -0
  188. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-path-guard/capture-retention_0/attempts/723fa9c6-099e-437c-bddf-a4cbd28a8508/attempt-1/result.json +1 -0
  189. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-path-guard/capture-retention_0/attempts/723fa9c6-099e-437c-bddf-a4cbd28a8508/attempt-1/trace/spans.jsonl +0 -0
  190. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-path-guard/capture-retention_0/cached-result.json +1 -0
  191. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-path-guard/capture-retention_0/latest-attempt.json +1 -0
  192. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-resume/capture-retention_0/attempts/06db3429-c5c6-42c1-8623-08e2da1f563e/attempt-1/artifacts/captured-response.json +6 -0
  193. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-resume/capture-retention_0/attempts/06db3429-c5c6-42c1-8623-08e2da1f563e/attempt-1/failure-receipt.json +62 -0
  194. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-resume/capture-retention_0/attempts/06db3429-c5c6-42c1-8623-08e2da1f563e/attempt-1/identity.json +10 -0
  195. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-resume/capture-retention_0/attempts/06db3429-c5c6-42c1-8623-08e2da1f563e/attempt-1/result.json +1 -0
  196. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-resume/capture-retention_0/attempts/06db3429-c5c6-42c1-8623-08e2da1f563e/attempt-1/trace/spans.jsonl +1 -0
  197. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-resume/capture-retention_0/attempts/d49f7e40-c4d2-4cb6-98d1-5e49f45c6e2c/attempt-1/artifacts/captured-response.json +6 -0
  198. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-resume/capture-retention_0/attempts/d49f7e40-c4d2-4cb6-98d1-5e49f45c6e2c/attempt-1/identity.json +10 -0
  199. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-resume/capture-retention_0/attempts/d49f7e40-c4d2-4cb6-98d1-5e49f45c6e2c/attempt-1/result.json +1 -0
  200. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-resume/capture-retention_0/attempts/d49f7e40-c4d2-4cb6-98d1-5e49f45c6e2c/attempt-1/trace/spans.jsonl +1 -0
  201. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-resume/capture-retention_0/cached-result.json +1 -0
  202. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-resume/capture-retention_0/latest-attempt.json +1 -0
  203. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-resume/observation.json +458 -0
  204. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-retry/capture-retention_0/attempts/cf34f352-67e5-4e8b-a510-0e896bcc96fc/attempt-1/artifacts/captured-response.json +6 -0
  205. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-retry/capture-retention_0/attempts/cf34f352-67e5-4e8b-a510-0e896bcc96fc/attempt-1/failure-receipt.json +62 -0
  206. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-retry/capture-retention_0/attempts/cf34f352-67e5-4e8b-a510-0e896bcc96fc/attempt-1/identity.json +10 -0
  207. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-retry/capture-retention_0/attempts/cf34f352-67e5-4e8b-a510-0e896bcc96fc/attempt-1/result.json +1 -0
  208. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-retry/capture-retention_0/attempts/cf34f352-67e5-4e8b-a510-0e896bcc96fc/attempt-1/trace/spans.jsonl +1 -0
  209. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-retry/capture-retention_0/attempts/cf34f352-67e5-4e8b-a510-0e896bcc96fc/attempt-2/artifacts/captured-response.json +6 -0
  210. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-retry/capture-retention_0/attempts/cf34f352-67e5-4e8b-a510-0e896bcc96fc/attempt-2/identity.json +10 -0
  211. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-retry/capture-retention_0/attempts/cf34f352-67e5-4e8b-a510-0e896bcc96fc/attempt-2/result.json +1 -0
  212. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-retry/capture-retention_0/attempts/cf34f352-67e5-4e8b-a510-0e896bcc96fc/attempt-2/trace/spans.jsonl +1 -0
  213. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-retry/capture-retention_0/cached-result.json +1 -0
  214. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-retry/capture-retention_0/latest-attempt.json +1 -0
  215. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/after-retry/observation.json +380 -0
  216. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/before-resume/capture-retention_0/cached-result.json +1 -0
  217. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/before-resume/capture-retention_0/captured-response.json +6 -0
  218. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/before-resume/capture-retention_0/failure-receipt.json +58 -0
  219. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/before-resume/capture-retention_0/spans.jsonl +1 -0
  220. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/before-resume/observation.json +198 -0
  221. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/before-retry/capture-retention_0/cached-result.json +1 -0
  222. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/before-retry/capture-retention_0/captured-response.json +6 -0
  223. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/before-retry/capture-retention_0/failure-receipt.attempt-1.json +58 -0
  224. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/before-retry/capture-retention_0/spans.jsonl +1 -0
  225. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/before-retry/observation.json +121 -0
  226. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/before-summary.json +321 -0
  227. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/build.attribution.log +491 -0
  228. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/build.final.log +491 -0
  229. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/build.log +495 -0
  230. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/qualification.log +18 -0
  231. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/qualification.wrong-root.log +9 -0
  232. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/qualify.mjs +148 -0
  233. package/docs/proofs/campaign-attempt-retention-20261001/artifacts/predecessor/qualify.wrong-root.mjs +148 -0
  234. package/docs/proofs/campaign-attempt-retention-20261001/manifest.json +808 -0
  235. package/package.json +2 -2
  236. package/dist/index-Ce2HACcP.d.ts.map +0 -1
  237. package/dist/llm-judge-EUMHOZOQ.js.map +0 -1
  238. package/dist/series-convergence-CjO2QdRW.js +0 -43
  239. package/dist/series-convergence-CjO2QdRW.js.map +0 -1
  240. package/dist/series-convergence-DLy0bQMV.d.ts +0 -126
  241. package/dist/series-convergence-DLy0bQMV.d.ts.map +0 -1
  242. package/dist/tool-groups-DP8b5kjF.d.ts.map +0 -1
@@ -0,0 +1,140 @@
1
+ {
2
+ "dispatchRunAttemptId": "e7949644-3d60-4ab9-817e-f80d0a48f5d8",
3
+ "judgeTags": {
4
+ "runDir": "/mnt/traces/eval-attempt-artifacts-20261001-r2/after-judge-attribution",
5
+ "cellId": "attribution:0",
6
+ "scenarioId": "attribution",
7
+ "rep": "0",
8
+ "runAttemptId": "e7949644-3d60-4ab9-817e-f80d0a48f5d8",
9
+ "attemptNumber": "1"
10
+ },
11
+ "report": {
12
+ "manifestHash": "12b1fd3b28adadf018749116f4680a6105e5c7b5cac8d2af339303fa547fef79",
13
+ "splitDigest": "sha256:e89df58336656867eafec16cfa0cd7af8564248b98f4aa3e1490c51cc18b5b86",
14
+ "seed": 42,
15
+ "reps": 1,
16
+ "startedAt": "2026-10-01T17:16:26.512Z",
17
+ "endedAt": "2026-10-01T17:16:26.515Z",
18
+ "durationMs": 3,
19
+ "cells": [
20
+ {
21
+ "manifestHash": "12b1fd3b28adadf018749116f4680a6105e5c7b5cac8d2af339303fa547fef79",
22
+ "attempt": {
23
+ "runAttemptId": "e7949644-3d60-4ab9-817e-f80d0a48f5d8",
24
+ "number": 1
25
+ },
26
+ "cellId": "attribution:0",
27
+ "scenarioId": "attribution",
28
+ "rep": 0,
29
+ "artifact": {
30
+ "captured": true
31
+ },
32
+ "judgeScores": {
33
+ "operational-attribution": {
34
+ "dimensions": {
35
+ "captured": 1
36
+ },
37
+ "composite": 1,
38
+ "notes": "Operational attribution; no research outcome."
39
+ }
40
+ },
41
+ "costUsd": 0,
42
+ "costProvenance": {
43
+ "kind": "observed",
44
+ "usd": 0
45
+ },
46
+ "costCallIds": [],
47
+ "tokenUsage": {
48
+ "input": 0,
49
+ "output": 0
50
+ },
51
+ "durationMs": 2,
52
+ "seed": 42,
53
+ "cached": false
54
+ }
55
+ ],
56
+ "aggregates": {
57
+ "byJudge": {
58
+ "operational-attribution": {
59
+ "mean": 1,
60
+ "stdev": 0,
61
+ "ci95": [
62
+ 1,
63
+ 1
64
+ ],
65
+ "n": 1,
66
+ "distribution": {
67
+ "n": 1,
68
+ "min": 1,
69
+ "p50": 1,
70
+ "p90": 1,
71
+ "max": 1,
72
+ "sum": 1
73
+ }
74
+ }
75
+ },
76
+ "byScenario": {
77
+ "attribution": {
78
+ "meanComposite": 1,
79
+ "ci95": [
80
+ 1,
81
+ 1
82
+ ],
83
+ "n": 1,
84
+ "distribution": {
85
+ "n": 1,
86
+ "min": 1,
87
+ "p50": 1,
88
+ "p90": 1,
89
+ "max": 1,
90
+ "sum": 1
91
+ }
92
+ }
93
+ },
94
+ "cost": {
95
+ "totalCalls": 0,
96
+ "pendingCalls": 0,
97
+ "unresolvedCalls": 0,
98
+ "reservedCostUsd": 0,
99
+ "inputTokens": 0,
100
+ "outputTokens": 0,
101
+ "reasoningTokens": 0,
102
+ "cachedTokens": 0,
103
+ "cacheWriteTokens": 0,
104
+ "totalCostUsd": 0,
105
+ "costProvenance": {
106
+ "kind": "observed",
107
+ "usd": 0
108
+ },
109
+ "byChannel": [],
110
+ "unpricedModels": [],
111
+ "fullyPriced": true,
112
+ "usageComplete": true,
113
+ "accountingComplete": true,
114
+ "incompleteReasons": []
115
+ },
116
+ "cellsExecuted": 1,
117
+ "cellsSkipped": 0,
118
+ "cellsCached": 0,
119
+ "cellsFailed": 0,
120
+ "cellsDispatchFailed": 0,
121
+ "cellsJudgeFailed": 0,
122
+ "cellsUnclassifiedFailed": 0
123
+ },
124
+ "runDir": "/mnt/traces/eval-attempt-artifacts-20261001-r2/after-judge-attribution",
125
+ "artifactsByPath": {
126
+ "attribution:0/attempts/e7949644-3d60-4ab9-817e-f80d0a48f5d8/attempt-1/identity.json": "/mnt/traces/eval-attempt-artifacts-20261001-r2/after-judge-attribution/attribution_0/attempts/e7949644-3d60-4ab9-817e-f80d0a48f5d8/attempt-1/identity.json",
127
+ "attribution:0/attempts/e7949644-3d60-4ab9-817e-f80d0a48f5d8/attempt-1/artifacts/capture.json": "/mnt/traces/eval-attempt-artifacts-20261001-r2/after-judge-attribution/attribution_0/attempts/e7949644-3d60-4ab9-817e-f80d0a48f5d8/attempt-1/artifacts/capture.json",
128
+ "attribution:0/attempts/e7949644-3d60-4ab9-817e-f80d0a48f5d8/attempt-1/result.json": "/mnt/traces/eval-attempt-artifacts-20261001-r2/after-judge-attribution/attribution_0/attempts/e7949644-3d60-4ab9-817e-f80d0a48f5d8/attempt-1/result.json"
129
+ },
130
+ "scenarios": [
131
+ {
132
+ "id": "attribution",
133
+ "kind": "operational",
134
+ "scenarioDigest": "sha256:9162e2bc75649b3699e3a3cd56d472ba5013590856802ecdf4b1ce56273eb878"
135
+ }
136
+ ]
137
+ },
138
+ "providerRequests": 0,
139
+ "researchUnits": 0
140
+ }
@@ -0,0 +1 @@
1
+ {"module":{"path":"/home/drew/code/_wt/eval-router-cache-usage-20261001/dist/campaign/index.js","sha256":"2464ee9209cc4d5aa72fb0f64dd8950e0f5d7a3a59bdab5ad3a3148b4db52061"},"retryRetained":true,"resumeRetained":true,"legacyFilesPreserved":4,"pathGuard":"Artifact path must remain inside this execution attempt","optimizationFailedCandidateRecovered":true,"providerRequests":0,"operationalLedgerReceipts":4,"researchUnits":0}
@@ -0,0 +1,165 @@
1
+ import { createHash } from 'node:crypto'
2
+ import { readFileSync, writeFileSync, readdirSync, mkdirSync } from 'node:fs'
3
+ import { dirname, join, relative } from 'node:path'
4
+ import { pathToFileURL } from 'node:url'
5
+ import assert from 'node:assert/strict'
6
+
7
+ const root = process.env.PROOF_ROOT
8
+ const modulePath = process.env.EVAL_MODULE
9
+ if (!root || !modulePath) throw new Error('PROOF_ROOT and EVAL_MODULE are required')
10
+ const { runEval, runOptimization } = await import(pathToFileURL(modulePath).href)
11
+ const { CostLedger } = await import(pathToFileURL(process.env.EVAL_COST_MODULE).href)
12
+ const hash = data => createHash('sha256').update(data).digest('hex')
13
+ const json = path => JSON.parse(readFileSync(path, 'utf8'))
14
+ const save = (path, value) => writeFileSync(path, JSON.stringify(value, null, 2) + '\n')
15
+ const scenarios = [{ id: 'capture-retention', kind: 'operational', scenarioDigest: 'sha256:' + hash('attempt-artifact-retention') }]
16
+ const base = { scenarios, reps: 1, seed: 42, expectUsage: 'off', labeledStore: 'off', dispatchRef: 'operational-attempt-retention-v1', maxConcurrency: 1 }
17
+ const interruption = 'Operational interruption after native artifact capture'
18
+
19
+ async function qualify(mode) {
20
+ const runDir = join(root, 'after-' + mode)
21
+ const observed = []
22
+ let invocations = 0
23
+ const costLedger = new CostLedger()
24
+ const opts = { ...base, runDir, costLedger, dispatch: async (_scenario, ctx) => {
25
+ const invocation = ++invocations
26
+ const value = { cellId: ctx.cellId, runAttemptId: ctx.runAttemptId, invocation, content: 'Actual filesystem capture from invocation ' + invocation }
27
+ ctx.trace.span('native.callback.capture', { invocation, runAttemptId: ctx.runAttemptId }).end()
28
+ const path = await ctx.artifacts.writeJson('captured-response.json', value)
29
+ observed.push({ invocation, path, sha256: hash(readFileSync(path)), value })
30
+ const metered = await ctx.cost.runPaidCall({
31
+ actor: 'operational-file-read',
32
+ execute: async () => readFileSync(path, 'utf8'),
33
+ receipt: () => ({ model: 'not-an-inference', inputTokens: 0, outputTokens: 0, estimatedCostUsd: 0 }),
34
+ })
35
+ assert.equal(metered.succeeded, true)
36
+ if (invocation === 1) throw new Error(interruption)
37
+ return value
38
+ }}
39
+ const reports = []
40
+ if (mode === 'retry') reports.push(await runEval({ ...opts, cellRetry: { attempts: 2, retryable: f => f.error.message === interruption } }))
41
+ else {
42
+ reports.push(await runEval(opts))
43
+ reports.push(await runEval(opts))
44
+ }
45
+ assert.equal(invocations, 2)
46
+ assert.notEqual(observed[0].path, observed[1].path)
47
+ const attempts = observed.map(item => {
48
+ assert.equal(hash(readFileSync(item.path)), item.sha256)
49
+ const attemptDir = dirname(dirname(item.path))
50
+ const identity = json(join(attemptDir, 'identity.json'))
51
+ const result = json(join(attemptDir, 'result.json'))
52
+ const trace = readFileSync(join(attemptDir, 'trace/spans.jsonl'), 'utf8').split('\n').filter(Boolean).map(JSON.parse)
53
+ assert.equal(identity.runAttemptId, item.value.runAttemptId)
54
+ assert.deepEqual(result.attempt, { runAttemptId: identity.runAttemptId, number: identity.number })
55
+ assert.equal(identity.cellId, item.value.cellId)
56
+ assert.equal(identity.manifestHash, result.manifestHash)
57
+ assert.equal(trace[0].invocation, item.invocation)
58
+ return { identity, result, trace, path: relative(root, attemptDir) }
59
+ })
60
+ const cellDir = dirname(dirname(dirname(dirname(dirname(observed[1].path)))))
61
+ const pointer = json(join(cellDir, 'latest-attempt.json'))
62
+ assert.deepEqual(pointer, reports.at(-1).cells[0].attempt)
63
+ assert.equal(attempts[0].identity.number, 1)
64
+ assert.equal(attempts[1].identity.number, mode === 'retry' ? 2 : 1)
65
+ assert.equal(attempts[0].identity.runAttemptId === attempts[1].identity.runAttemptId, mode === 'retry')
66
+ const receipt = json(join(root, attempts[0].path, 'failure-receipt.json'))
67
+ assert.equal(receipt.failure.error.message, interruption)
68
+ assert.deepEqual(receipt.cell.attempt, attempts[0].result.attempt)
69
+ const reused = await runEval(opts)
70
+ assert.equal(invocations, 2)
71
+ assert.equal(reused.cells[0].cached, true)
72
+ assert.deepEqual(reused.cells[0].attempt, pointer)
73
+ const ledgerReceipts = costLedger.list()
74
+ assert.equal(ledgerReceipts.length, 2)
75
+ ledgerReceipts.forEach((call, index) => {
76
+ assert.equal(call.tags.runAttemptId, attempts[index].identity.runAttemptId)
77
+ assert.equal(call.tags.attemptNumber, String(attempts[index].identity.number))
78
+ })
79
+ assert.equal(reports.at(-1).cells[0].costCallIds.length, mode === 'retry' ? 2 : 1)
80
+ const result = { invocations, observed, attempts, receipt, pointer, reports, ledgerReceipts, cacheReuse: reused, firstContentStillPresent: true, modelInference: false, researchUnits: 0 }
81
+ save(join(runDir, 'observation.json'), result)
82
+ return result
83
+ }
84
+
85
+ const summary = { module: { path: modulePath, sha256: hash(readFileSync(modulePath)) }, retry: await qualify('retry'), resume: await qualify('resume') }
86
+
87
+ // Use a copied historical cell to prove new execution never writes its legacy capture paths.
88
+ const legacyRun = join(root, 'after-legacy')
89
+ const legacyCell = join(legacyRun, 'capture-retention_0')
90
+ mkdirSync(legacyCell, { recursive: true })
91
+ const originalCell = join(process.env.BASELINE_ROOT, 'before-resume/capture-retention_0')
92
+ const legacySnapshot = {}
93
+ for (const name of readdirSync(originalCell)) {
94
+ const bytes = readFileSync(join(originalCell, name))
95
+ writeFileSync(join(legacyCell, name), bytes)
96
+ legacySnapshot[name] = hash(bytes)
97
+ }
98
+ const legacyReport = await runEval({ ...base, runDir: legacyRun, resumable: false, dispatch: async (_scenario, ctx) => {
99
+ await ctx.artifacts.writeJson('captured-response.json', { continuation: true, runAttemptId: ctx.runAttemptId })
100
+ ctx.trace.span('legacy.continuation').end()
101
+ return { continuation: true }
102
+ }})
103
+ for (const [name, sha] of Object.entries(legacySnapshot)) assert.equal(hash(readFileSync(join(legacyCell, name))), sha)
104
+ summary.legacy = { originalCell, legacySnapshot, report: legacyReport, allHistoricalCellFilesUnchanged: true }
105
+
106
+ // Exercise the public artifact scope while a real attempt identity exists.
107
+ const guardRun = join(root, 'after-path-guard')
108
+ let guard
109
+ const guardReport = await runEval({ ...base, runDir: guardRun, dispatch: async (_scenario, ctx) => {
110
+ const own = await ctx.artifacts.writeJson('capture.json', { own: true })
111
+ const identityPath = join(dirname(dirname(own)), 'identity.json')
112
+ const before = hash(readFileSync(identityPath))
113
+ let rejection
114
+ try { await ctx.artifacts.writeJson('../identity.json', { overwritten: true }) }
115
+ catch (error) { rejection = error.message }
116
+ const after = hash(readFileSync(identityPath))
117
+ assert.equal(rejection, 'Artifact path must remain inside this execution attempt')
118
+ assert.equal(before, after)
119
+ guard = { rejection, identityBefore: before, identityAfter: after }
120
+ return guard
121
+ }})
122
+ summary.pathGuard = { ...guard, report: guardReport }
123
+
124
+ // Interrupt after a failed candidate settles. Reopen the native search ledger,
125
+ // then observe its prior candidate through runOptimization's stored-cell reader.
126
+ const optimizationDir = join(root, 'after-optimization')
127
+ let proposals = 0
128
+ const histories = []
129
+ const optimizationOpts = {
130
+ ...base, runDir: optimizationDir,
131
+ judges: [{ name: 'operational-quality', dimensions: [{ key: 'captured', description: 'Artifact was returned' }], judgeVersion: 'operational-v1', score: () => ({ dimensions: { captured: 1 }, composite: 1, notes: 'Operational artifact only; no research outcome.' }) }],
132
+ baselineSurface: 'baseline', populationSize: 1, maxGenerations: 2,
133
+ dispatchWithSurface: async (surface, _scenario, ctx) => {
134
+ await ctx.artifacts.writeJson('captured-response.json', { surface, runAttemptId: ctx.runAttemptId })
135
+ ctx.trace.span('native.optimization.capture', { surface }).end()
136
+ if (surface === 'failed-candidate') throw new Error('Operational candidate interruption')
137
+ return { surface }
138
+ },
139
+ proposer: {
140
+ kind: 'operational-retention-qualification',
141
+ async propose(ctx) {
142
+ proposals++
143
+ histories.push({ proposal: proposals, history: ctx.history })
144
+ if (proposals === 1) return ['failed-candidate']
145
+ if (proposals === 2) throw new Error('Operational stop after candidate settlement')
146
+ return ['resumed-candidate']
147
+ },
148
+ },
149
+ }
150
+ let firstError
151
+ try { await runOptimization(optimizationOpts) }
152
+ catch (error) { firstError = error.message }
153
+ save(join(optimizationDir, 'first-interruption.json'), { firstError, proposals, histories })
154
+ assert.match(firstError ?? '', /Operational stop after candidate settlement/)
155
+ const optimized = await runOptimization(optimizationOpts)
156
+ const resumedHistory = histories.find(h => h.proposal === 3)?.history
157
+ assert.ok(resumedHistory)
158
+ const failed = resumedHistory.flatMap(g => g.candidates).find(c => c.coverage?.unscorableCells?.length)
159
+ assert.ok(failed, 'Reopened optimization must retain its failed candidate')
160
+ assert.equal(failed.coverage.expectedCells, 1)
161
+ assert.equal(failed.coverage.scorableCells, 0)
162
+ assert.match(JSON.stringify(failed.coverage.unscorableCells), /Operational candidate interruption/)
163
+ summary.optimization = { firstError, proposals, histories, failedCandidateRecovered: true, optimized }
164
+ save(join(root, 'after-summary.json'), summary)
165
+ console.log(JSON.stringify({ module: summary.module, retryRetained: summary.retry.firstContentStillPresent, resumeRetained: summary.resume.firstContentStillPresent, legacyFilesPreserved: Object.keys(legacySnapshot).length, pathGuard: guard.rejection, optimizationFailedCandidateRecovered: true, providerRequests: 0, operationalLedgerReceipts: 4, researchUnits: 0 }))
@@ -0,0 +1,39 @@
1
+ import { createHash } from 'node:crypto'
2
+ import { readFileSync, writeFileSync, existsSync } from 'node:fs'
3
+ import { dirname, join } from 'node:path'
4
+ import { pathToFileURL } from 'node:url'
5
+ const { runEval } = await import(pathToFileURL(process.env.EVAL_MODULE).href)
6
+ const root = process.env.PROOF_ROOT
7
+ const hash = bytes => createHash('sha256').update(bytes).digest('hex')
8
+ const save = (path, value) => writeFileSync(path, JSON.stringify(value, null, 2) + '\n')
9
+ const result = { module: { path: process.env.EVAL_MODULE, sha256: hash(readFileSync(process.env.EVAL_MODULE)) }, providerRequests: 0, researchUnits: 0 }
10
+ for (const mode of ['retry', 'resume']) {
11
+ const runDir = join(root, 'reproduction-' + mode)
12
+ let invocations = 0
13
+ const observed = []
14
+ let firstTrace
15
+ const opts = {
16
+ runDir, scenarios: [{ id: 'capture-retention', kind: 'operational' }], reps: 1, seed: 42,
17
+ expectUsage: 'off', labeledStore: 'off', dispatchRef: 'operational-attempt-retention-baseline-v1', maxConcurrency: 1,
18
+ dispatch: async (_scenario, ctx) => {
19
+ const invocation = ++invocations
20
+ const value = { cellId: ctx.cellId, runAttemptId: ctx.runAttemptId, invocation }
21
+ const path = await ctx.artifacts.writeJson('captured-response.json', value)
22
+ const tracePath = join(dirname(path), 'spans.jsonl')
23
+ if (invocation === 2 && existsSync(tracePath)) firstTrace = { path: tracePath, bytes: readFileSync(tracePath, 'utf8'), sha256: hash(readFileSync(tracePath)) }
24
+ ctx.trace.span('native.callback.capture', { invocation, runAttemptId: ctx.runAttemptId }).end()
25
+ observed.push({ path, value, sha256: hash(readFileSync(path)) })
26
+ save(join(runDir, 'observer-retained-captures.json'), observed)
27
+ if (invocation === 1) throw new Error('Operational interruption after native artifact capture')
28
+ return value
29
+ },
30
+ }
31
+ const reports = mode === 'retry'
32
+ ? [await runEval({ ...opts, cellRetry: { attempts: 2, retryable: () => true } })]
33
+ : [await runEval(opts), await runEval(opts)]
34
+ const firstContentStillPresent = hash(readFileSync(observed[0].path)) === observed[0].sha256
35
+ const firstTraceStillPresent = firstTrace ? hash(readFileSync(firstTrace.path)) === firstTrace.sha256 : null
36
+ result[mode] = { invocations, observed, reports, firstTrace, firstContentStillPresent, firstTraceStillPresent, finalTrace: readFileSync(join(dirname(observed[1].path), 'spans.jsonl'), 'utf8') }
37
+ }
38
+ save(join(root, 'reproduction-summary.json'), result)
39
+ console.log(JSON.stringify({ module: result.module, retry: { artifactRetained: result.retry.firstContentStillPresent, traceRetained: result.retry.firstTraceStillPresent }, resume: { artifactRetained: result.resume.firstContentStillPresent, traceRetained: result.resume.firstTraceStillPresent }, providerRequests: 0, researchUnits: 0 }))
@@ -0,0 +1 @@
1
+ {"manifestHash":"28689623eb0a94107e244d8f418b5e00046bc193557ebdc02902197c9910d5ae","cellId":"capture-retention:0","scenarioId":"capture-retention","rep":0,"artifact":{"cellId":"capture-retention:0","runAttemptId":"d9803cca-2f1c-4310-92d5-625ace4f019b","invocation":2},"judgeScores":{},"costUsd":0,"costProvenance":{"kind":"observed","usd":0},"costCallIds":[],"tokenUsage":{"input":0,"output":0},"durationMs":1,"seed":42,"cached":false}
@@ -0,0 +1,5 @@
1
+ {
2
+ "cellId": "capture-retention:0",
3
+ "runAttemptId": "d9803cca-2f1c-4310-92d5-625ace4f019b",
4
+ "invocation": 2
5
+ }
@@ -0,0 +1,58 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "runAttemptId": "5da9ca02-da7a-41f4-a05b-fc8d6fe6b340",
4
+ "recordedAt": "2026-10-01T17:15:23.736Z",
5
+ "failure": {
6
+ "stage": "dispatch",
7
+ "error": {
8
+ "name": "Error",
9
+ "message": "Operational interruption after native artifact capture",
10
+ "stack": "Error: Operational interruption after native artifact capture\n at Object.dispatch (file:///mnt/traces/eval-attempt-artifacts-20261001-r2/reproduce.mjs:27:35)\n at async executeCell (file:///home/drew/webb/_wt/lab-evidence-unified/node_modules/.pnpm/@tangle-network+agent-eval@0.203.0/node_modules/@tangle-network/agent-eval/dist/llm-judge-C-0P1WiT.js:459:19)\n at async file:///home/drew/webb/_wt/lab-evidence-unified/node_modules/.pnpm/@tangle-network+agent-eval@0.203.0/node_modules/@tangle-network/agent-eval/dist/llm-judge-C-0P1WiT.js:888:15\n at async Promise.allSettled (index 0)\n at async runCampaign (file:///home/drew/webb/_wt/lab-evidence-unified/node_modules/.pnpm/@tangle-network+agent-eval@0.203.0/node_modules/@tangle-network/agent-eval/dist/llm-judge-C-0P1WiT.js:935:22)\n at async file:///mnt/traces/eval-attempt-artifacts-20261001-r2/reproduce.mjs:33:8"
11
+ }
12
+ },
13
+ "cell": {
14
+ "manifestHash": "28689623eb0a94107e244d8f418b5e00046bc193557ebdc02902197c9910d5ae",
15
+ "cellId": "capture-retention:0",
16
+ "scenarioId": "capture-retention",
17
+ "rep": 0,
18
+ "artifact": null,
19
+ "judgeScores": {},
20
+ "costUsd": 0,
21
+ "costProvenance": {
22
+ "kind": "observed",
23
+ "usd": 0
24
+ },
25
+ "costCallIds": [],
26
+ "tokenUsage": {
27
+ "input": 0,
28
+ "output": 0
29
+ },
30
+ "durationMs": 0,
31
+ "seed": 42,
32
+ "cached": false,
33
+ "errorStage": "dispatch",
34
+ "error": "Operational interruption after native artifact capture"
35
+ },
36
+ "cost": {
37
+ "totalCalls": 0,
38
+ "pendingCalls": 0,
39
+ "unresolvedCalls": 0,
40
+ "reservedCostUsd": 0,
41
+ "inputTokens": 0,
42
+ "outputTokens": 0,
43
+ "reasoningTokens": 0,
44
+ "cachedTokens": 0,
45
+ "cacheWriteTokens": 0,
46
+ "totalCostUsd": 0,
47
+ "costProvenance": {
48
+ "kind": "observed",
49
+ "usd": 0
50
+ },
51
+ "byChannel": [],
52
+ "unpricedModels": [],
53
+ "fullyPriced": true,
54
+ "usageComplete": true,
55
+ "accountingComplete": true,
56
+ "incompleteReasons": []
57
+ }
58
+ }
@@ -0,0 +1 @@
1
+ {"name":"native.callback.capture","cellId":"capture-retention:0","startMs":1790874923736,"invocation":2,"runAttemptId":"d9803cca-2f1c-4310-92d5-625ace4f019b","durationMs":0}
@@ -0,0 +1,20 @@
1
+ [
2
+ {
3
+ "path": "/mnt/traces/eval-attempt-artifacts-20261001-r2/reproduction-resume/capture-retention_0/captured-response.json",
4
+ "value": {
5
+ "cellId": "capture-retention:0",
6
+ "runAttemptId": "5da9ca02-da7a-41f4-a05b-fc8d6fe6b340",
7
+ "invocation": 1
8
+ },
9
+ "sha256": "56e04e8091749fee3ddae2a3456baebf72c19ac8ce374f92d07fd2d3d9350d2a"
10
+ },
11
+ {
12
+ "path": "/mnt/traces/eval-attempt-artifacts-20261001-r2/reproduction-resume/capture-retention_0/captured-response.json",
13
+ "value": {
14
+ "cellId": "capture-retention:0",
15
+ "runAttemptId": "d9803cca-2f1c-4310-92d5-625ace4f019b",
16
+ "invocation": 2
17
+ },
18
+ "sha256": "da33ee06d5bb8043c1e571e72cdd7bbb9b6cc8ea9a2b456c9473fb59e937da8c"
19
+ }
20
+ ]
@@ -0,0 +1 @@
1
+ {"manifestHash":"28689623eb0a94107e244d8f418b5e00046bc193557ebdc02902197c9910d5ae","cellId":"capture-retention:0","scenarioId":"capture-retention","rep":0,"artifact":{"cellId":"capture-retention:0","runAttemptId":"928ae03a-a64d-4d2a-bb41-0b54ed5fa7d7","invocation":2},"judgeScores":{},"costUsd":0,"costProvenance":{"kind":"observed","usd":0},"costCallIds":[],"tokenUsage":{"input":0,"output":0},"durationMs":0,"seed":42,"cached":false,"retryAttempts":1}
@@ -0,0 +1,5 @@
1
+ {
2
+ "cellId": "capture-retention:0",
3
+ "runAttemptId": "928ae03a-a64d-4d2a-bb41-0b54ed5fa7d7",
4
+ "invocation": 2
5
+ }
@@ -0,0 +1,58 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "runAttemptId": "928ae03a-a64d-4d2a-bb41-0b54ed5fa7d7",
4
+ "recordedAt": "2026-10-01T17:15:23.734Z",
5
+ "failure": {
6
+ "stage": "dispatch",
7
+ "error": {
8
+ "name": "Error",
9
+ "message": "Operational interruption after native artifact capture",
10
+ "stack": "Error: Operational interruption after native artifact capture\n at Object.dispatch (file:///mnt/traces/eval-attempt-artifacts-20261001-r2/reproduce.mjs:27:35)\n at async executeCell (file:///home/drew/webb/_wt/lab-evidence-unified/node_modules/.pnpm/@tangle-network+agent-eval@0.203.0/node_modules/@tangle-network/agent-eval/dist/llm-judge-C-0P1WiT.js:459:19)\n at async file:///home/drew/webb/_wt/lab-evidence-unified/node_modules/.pnpm/@tangle-network+agent-eval@0.203.0/node_modules/@tangle-network/agent-eval/dist/llm-judge-C-0P1WiT.js:888:15\n at async Promise.allSettled (index 0)\n at async runCampaign (file:///home/drew/webb/_wt/lab-evidence-unified/node_modules/.pnpm/@tangle-network+agent-eval@0.203.0/node_modules/@tangle-network/agent-eval/dist/llm-judge-C-0P1WiT.js:935:22)\n at async file:///mnt/traces/eval-attempt-artifacts-20261001-r2/reproduce.mjs:32:8"
11
+ }
12
+ },
13
+ "cell": {
14
+ "manifestHash": "28689623eb0a94107e244d8f418b5e00046bc193557ebdc02902197c9910d5ae",
15
+ "cellId": "capture-retention:0",
16
+ "scenarioId": "capture-retention",
17
+ "rep": 0,
18
+ "artifact": null,
19
+ "judgeScores": {},
20
+ "costUsd": 0,
21
+ "costProvenance": {
22
+ "kind": "observed",
23
+ "usd": 0
24
+ },
25
+ "costCallIds": [],
26
+ "tokenUsage": {
27
+ "input": 0,
28
+ "output": 0
29
+ },
30
+ "durationMs": 1,
31
+ "seed": 42,
32
+ "cached": false,
33
+ "errorStage": "dispatch",
34
+ "error": "Operational interruption after native artifact capture"
35
+ },
36
+ "cost": {
37
+ "totalCalls": 0,
38
+ "pendingCalls": 0,
39
+ "unresolvedCalls": 0,
40
+ "reservedCostUsd": 0,
41
+ "inputTokens": 0,
42
+ "outputTokens": 0,
43
+ "reasoningTokens": 0,
44
+ "cachedTokens": 0,
45
+ "cacheWriteTokens": 0,
46
+ "totalCostUsd": 0,
47
+ "costProvenance": {
48
+ "kind": "observed",
49
+ "usd": 0
50
+ },
51
+ "byChannel": [],
52
+ "unpricedModels": [],
53
+ "fullyPriced": true,
54
+ "usageComplete": true,
55
+ "accountingComplete": true,
56
+ "incompleteReasons": []
57
+ }
58
+ }
@@ -0,0 +1 @@
1
+ {"name":"native.callback.capture","cellId":"capture-retention:0","startMs":1790874923735,"invocation":2,"runAttemptId":"928ae03a-a64d-4d2a-bb41-0b54ed5fa7d7","durationMs":0}
@@ -0,0 +1,20 @@
1
+ [
2
+ {
3
+ "path": "/mnt/traces/eval-attempt-artifacts-20261001-r2/reproduction-retry/capture-retention_0/captured-response.json",
4
+ "value": {
5
+ "cellId": "capture-retention:0",
6
+ "runAttemptId": "928ae03a-a64d-4d2a-bb41-0b54ed5fa7d7",
7
+ "invocation": 1
8
+ },
9
+ "sha256": "eb737cc9d581881831f4f0092b590c11a3435a0ced7b689f8d987072140057d0"
10
+ },
11
+ {
12
+ "path": "/mnt/traces/eval-attempt-artifacts-20261001-r2/reproduction-retry/capture-retention_0/captured-response.json",
13
+ "value": {
14
+ "cellId": "capture-retention:0",
15
+ "runAttemptId": "928ae03a-a64d-4d2a-bb41-0b54ed5fa7d7",
16
+ "invocation": 2
17
+ },
18
+ "sha256": "e28d164f092d29a9e3259ec255efa7b0a6fc42f5148373d314ec5e26b29bdf3e"
19
+ }
20
+ ]