@jinn-network/client 0.1.7 → 0.1.8

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 (319) hide show
  1. package/README.md +67 -1
  2. package/dist/adapters/mech/adapter.d.ts +19 -1
  3. package/dist/adapters/mech/adapter.js +130 -14
  4. package/dist/adapters/mech/adapter.js.map +1 -1
  5. package/dist/adapters/mech/contracts.d.ts +22 -1
  6. package/dist/adapters/mech/contracts.js +34 -24
  7. package/dist/adapters/mech/contracts.js.map +1 -1
  8. package/dist/adapters/mech/safe.d.ts +1 -1
  9. package/dist/adapters/mech/safe.js +5 -3
  10. package/dist/adapters/mech/safe.js.map +1 -1
  11. package/dist/adapters/mech/types.d.ts +6 -1
  12. package/dist/adapters/mech/types.js.map +1 -1
  13. package/dist/agent/operator-claude.js +8 -0
  14. package/dist/agent/operator-claude.js.map +1 -1
  15. package/dist/api/activity-events-endpoint.d.ts +14 -0
  16. package/dist/api/activity-events-endpoint.js +59 -0
  17. package/dist/api/activity-events-endpoint.js.map +1 -0
  18. package/dist/api/bootstrap-endpoint.d.ts +1 -2
  19. package/dist/api/bootstrap-endpoint.js +42 -24
  20. package/dist/api/bootstrap-endpoint.js.map +1 -1
  21. package/dist/api/codex-doctor-endpoint.d.ts +22 -5
  22. package/dist/api/codex-doctor-endpoint.js +136 -17
  23. package/dist/api/codex-doctor-endpoint.js.map +1 -1
  24. package/dist/api/debug-report-endpoint.d.ts +27 -0
  25. package/dist/api/debug-report-endpoint.js +157 -0
  26. package/dist/api/debug-report-endpoint.js.map +1 -0
  27. package/dist/api/gather-status.d.ts +33 -0
  28. package/dist/api/gather-status.js +211 -26
  29. package/dist/api/gather-status.js.map +1 -1
  30. package/dist/api/hermes-doctor-endpoint.d.ts +15 -7
  31. package/dist/api/hermes-doctor-endpoint.js +56 -19
  32. package/dist/api/hermes-doctor-endpoint.js.map +1 -1
  33. package/dist/api/launcher-status.d.ts +4 -2
  34. package/dist/api/launcher-status.js +11 -10
  35. package/dist/api/launcher-status.js.map +1 -1
  36. package/dist/api/launcher-tasks.d.ts +1 -1
  37. package/dist/api/launcher-tasks.js +12 -8
  38. package/dist/api/launcher-tasks.js.map +1 -1
  39. package/dist/api/operator-artifacts-endpoint.js +73 -6
  40. package/dist/api/operator-artifacts-endpoint.js.map +1 -1
  41. package/dist/api/portfolio-v0-build.d.ts +7 -1
  42. package/dist/api/portfolio-v0-build.js +6 -2
  43. package/dist/api/portfolio-v0-build.js.map +1 -1
  44. package/dist/api/prediction-v1-build.d.ts +6 -0
  45. package/dist/api/prediction-v1-build.js +3 -1
  46. package/dist/api/prediction-v1-build.js.map +1 -1
  47. package/dist/api/server.d.ts +17 -0
  48. package/dist/api/server.js +40 -1
  49. package/dist/api/server.js.map +1 -1
  50. package/dist/api/setup-endpoints.d.ts +0 -9
  51. package/dist/api/setup-endpoints.js +11 -153
  52. package/dist/api/setup-endpoints.js.map +1 -1
  53. package/dist/api/solvernets-endpoints.js +30 -63
  54. package/dist/api/solvernets-endpoints.js.map +1 -1
  55. package/dist/api/status-build.d.ts +115 -2
  56. package/dist/api/status-build.js +47 -11
  57. package/dist/api/status-build.js.map +1 -1
  58. package/dist/api/status-harness-rollup.d.ts +35 -0
  59. package/dist/api/status-harness-rollup.js +45 -0
  60. package/dist/api/status-harness-rollup.js.map +1 -0
  61. package/dist/api/task-runs-build.d.ts +8 -0
  62. package/dist/api/task-runs-build.js +5 -1
  63. package/dist/api/task-runs-build.js.map +1 -1
  64. package/dist/build-info.json +4 -4
  65. package/dist/build-meta.json +1 -1
  66. package/dist/captures/live-publisher.js +24 -4
  67. package/dist/captures/live-publisher.js.map +1 -1
  68. package/dist/captures/publish.d.ts +1 -1
  69. package/dist/chain-read-errors.d.ts +12 -0
  70. package/dist/chain-read-errors.js +26 -1
  71. package/dist/chain-read-errors.js.map +1 -1
  72. package/dist/cli/commands/codedigest-revert-check.d.ts +33 -0
  73. package/dist/cli/commands/codedigest-revert-check.js +249 -0
  74. package/dist/cli/commands/codedigest-revert-check.js.map +1 -0
  75. package/dist/cli/commands/solver-nets.d.ts +1 -0
  76. package/dist/cli/commands/solver-nets.js +177 -22
  77. package/dist/cli/commands/solver-nets.js.map +1 -1
  78. package/dist/cli/commands/solver-plugins-block.d.ts +33 -0
  79. package/dist/cli/commands/solver-plugins-block.js +118 -0
  80. package/dist/cli/commands/solver-plugins-block.js.map +1 -0
  81. package/dist/cli/commands/solver-plugins-feedback.d.ts +72 -0
  82. package/dist/cli/commands/solver-plugins-feedback.js +262 -0
  83. package/dist/cli/commands/solver-plugins-feedback.js.map +1 -0
  84. package/dist/cli/commands/solver-plugins-read.d.ts +54 -0
  85. package/dist/cli/commands/solver-plugins-read.js +259 -0
  86. package/dist/cli/commands/solver-plugins-read.js.map +1 -0
  87. package/dist/cli/commands/solver-plugins.d.ts +35 -0
  88. package/dist/cli/commands/solver-plugins.js +399 -2
  89. package/dist/cli/commands/solver-plugins.js.map +1 -1
  90. package/dist/cli/commands/tasks.js +15 -2
  91. package/dist/cli/commands/tasks.js.map +1 -1
  92. package/dist/cli/index.js +2 -0
  93. package/dist/cli/index.js.map +1 -1
  94. package/dist/cli/task-native-readiness.d.ts +7 -0
  95. package/dist/cli/task-native-readiness.js +7 -5
  96. package/dist/cli/task-native-readiness.js.map +1 -1
  97. package/dist/config.d.ts +183 -232
  98. package/dist/config.js +232 -107
  99. package/dist/config.js.map +1 -1
  100. package/dist/daemon/ai-units-gate.d.ts +54 -0
  101. package/dist/daemon/ai-units-gate.js +82 -0
  102. package/dist/daemon/ai-units-gate.js.map +1 -0
  103. package/dist/daemon/creator.js +13 -0
  104. package/dist/daemon/creator.js.map +1 -1
  105. package/dist/daemon/daemon.d.ts +10 -0
  106. package/dist/daemon/daemon.js +203 -30
  107. package/dist/daemon/daemon.js.map +1 -1
  108. package/dist/daemon/gate-logger.d.ts +9 -0
  109. package/dist/daemon/gate-logger.js +2 -0
  110. package/dist/daemon/gate-logger.js.map +1 -0
  111. package/dist/daemon/jinn-claim-loop.js +22 -4
  112. package/dist/daemon/jinn-claim-loop.js.map +1 -1
  113. package/dist/daemon/readiness-gate.d.ts +1 -4
  114. package/dist/daemon/readiness-gate.js.map +1 -1
  115. package/dist/daemon/spend-cap-gate.d.ts +40 -0
  116. package/dist/daemon/spend-cap-gate.js +46 -0
  117. package/dist/daemon/spend-cap-gate.js.map +1 -0
  118. package/dist/dashboard/assets/index-CzKxvMcU.css +32 -0
  119. package/dist/dashboard/assets/index-yVemxHot.js +351 -0
  120. package/dist/dashboard/index.html +2 -2
  121. package/dist/discovery/http.js +328 -1
  122. package/dist/discovery/http.js.map +1 -1
  123. package/dist/discovery/onchain.js +42 -4
  124. package/dist/discovery/onchain.js.map +1 -1
  125. package/dist/discovery/types.d.ts +129 -0
  126. package/dist/discovery/types.js.map +1 -1
  127. package/dist/discovery/with-fallback.js +27 -0
  128. package/dist/discovery/with-fallback.js.map +1 -1
  129. package/dist/earning/bootstrap.d.ts +8 -3
  130. package/dist/earning/bootstrap.js +36 -13
  131. package/dist/earning/bootstrap.js.map +1 -1
  132. package/dist/earning/safe-adapter.js +23 -11
  133. package/dist/earning/safe-adapter.js.map +1 -1
  134. package/dist/earning/types.d.ts +6 -6
  135. package/dist/earning/viem-clients.d.ts +11 -4
  136. package/dist/earning/viem-clients.js +14 -5
  137. package/dist/earning/viem-clients.js.map +1 -1
  138. package/dist/erc8004/identity.d.ts +19 -3
  139. package/dist/erc8004/identity.js +38 -11
  140. package/dist/erc8004/identity.js.map +1 -1
  141. package/dist/erc8004/index.d.ts +1 -1
  142. package/dist/erc8004/index.js.map +1 -1
  143. package/dist/events/types.d.ts +2 -2
  144. package/dist/harnesses/cost-estimates.d.ts +10 -31
  145. package/dist/harnesses/cost-estimates.js +11 -43
  146. package/dist/harnesses/cost-estimates.js.map +1 -1
  147. package/dist/harnesses/engine/engine.d.ts +28 -4
  148. package/dist/harnesses/engine/engine.js +103 -17
  149. package/dist/harnesses/engine/engine.js.map +1 -1
  150. package/dist/harnesses/engine/persistence.d.ts +21 -4
  151. package/dist/harnesses/engine/persistence.js +43 -6
  152. package/dist/harnesses/engine/persistence.js.map +1 -1
  153. package/dist/harnesses/engine/state.d.ts +9 -0
  154. package/dist/harnesses/engine/state.js +23 -10
  155. package/dist/harnesses/engine/state.js.map +1 -1
  156. package/dist/harnesses/impls/hermes-agent/bootstrap.js +4 -2
  157. package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
  158. package/dist/harnesses/impls/hermes-agent/config-builder.d.ts +1 -1
  159. package/dist/harnesses/impls/hermes-agent/config-builder.js +4 -2
  160. package/dist/harnesses/impls/hermes-agent/config-builder.js.map +1 -1
  161. package/dist/harnesses/impls/hermes-agent/harness.d.ts +14 -0
  162. package/dist/harnesses/impls/hermes-agent/harness.js +16 -2
  163. package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
  164. package/dist/harnesses/impls/hermes-agent/prompt.d.ts +6 -6
  165. package/dist/harnesses/impls/hermes-agent/prompt.js +6 -6
  166. package/dist/harnesses/impls/learner/adapters/claude-code.d.ts +17 -0
  167. package/dist/harnesses/impls/learner/adapters/claude-code.js +113 -14
  168. package/dist/harnesses/impls/learner/adapters/claude-code.js.map +1 -1
  169. package/dist/harnesses/impls/learner/adapters/codex-code.d.ts +9 -0
  170. package/dist/harnesses/impls/learner/adapters/codex-code.js +30 -8
  171. package/dist/harnesses/impls/learner/adapters/codex-code.js.map +1 -1
  172. package/dist/harnesses/impls/learner/harness.d.ts +24 -0
  173. package/dist/harnesses/impls/learner/harness.js +27 -3
  174. package/dist/harnesses/impls/learner/harness.js.map +1 -1
  175. package/dist/harnesses/impls/learner/harvest.d.ts +1 -1
  176. package/dist/harnesses/impls/learner/harvest.js +23 -5
  177. package/dist/harnesses/impls/learner/harvest.js.map +1 -1
  178. package/dist/harnesses/impls/learner/restoration-patch.d.ts +2 -2
  179. package/dist/harnesses/impls/learner/restoration-patch.js +25 -6
  180. package/dist/harnesses/impls/learner/restoration-patch.js.map +1 -1
  181. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +21 -1
  182. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -1
  183. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.d.ts +74 -5
  184. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js +103 -32
  185. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js.map +1 -1
  186. package/dist/harnesses/readiness-registry.d.ts +7 -0
  187. package/dist/harnesses/readiness-registry.js +9 -0
  188. package/dist/harnesses/readiness-registry.js.map +1 -1
  189. package/dist/learner/revert-decision.d.ts +59 -0
  190. package/dist/learner/revert-decision.js +53 -0
  191. package/dist/learner/revert-decision.js.map +1 -0
  192. package/dist/learner/revert-stats.d.ts +24 -0
  193. package/dist/learner/revert-stats.js +44 -0
  194. package/dist/learner/revert-stats.js.map +1 -0
  195. package/dist/main.js +177 -104
  196. package/dist/main.js.map +1 -1
  197. package/dist/mcp/get-codedigest-reward.d.ts +13 -0
  198. package/dist/mcp/get-codedigest-reward.js +23 -0
  199. package/dist/mcp/get-codedigest-reward.js.map +1 -0
  200. package/dist/mcp/server.js +23 -0
  201. package/dist/mcp/server.js.map +1 -1
  202. package/dist/observability/debug-report-assemble.d.ts +43 -0
  203. package/dist/observability/debug-report-assemble.js +80 -0
  204. package/dist/observability/debug-report-assemble.js.map +1 -0
  205. package/dist/observability/emit-event.d.ts +9 -2
  206. package/dist/observability/emit-event.js +36 -2
  207. package/dist/observability/emit-event.js.map +1 -1
  208. package/dist/observability/file-logger.d.ts +69 -0
  209. package/dist/observability/file-logger.js +177 -0
  210. package/dist/observability/file-logger.js.map +1 -0
  211. package/dist/observability/redact-secrets.d.ts +65 -0
  212. package/dist/observability/redact-secrets.js +300 -0
  213. package/dist/observability/redact-secrets.js.map +1 -0
  214. package/dist/observability/tar.d.ts +30 -0
  215. package/dist/observability/tar.js +102 -0
  216. package/dist/observability/tar.js.map +1 -0
  217. package/dist/plugins/learner/skills/learn/consolidator-prompt.md +18 -1
  218. package/dist/plugins/learner/skills/learn/promoter-prompt.md +72 -1
  219. package/dist/preflight/pidfile-liveness.d.ts +44 -0
  220. package/dist/preflight/pidfile-liveness.js +103 -0
  221. package/dist/preflight/pidfile-liveness.js.map +1 -0
  222. package/dist/preflight/rpc-network.d.ts +40 -0
  223. package/dist/preflight/rpc-network.js +67 -1
  224. package/dist/preflight/rpc-network.js.map +1 -1
  225. package/dist/rpc/transport.d.ts +109 -0
  226. package/dist/rpc/transport.js +220 -0
  227. package/dist/rpc/transport.js.map +1 -0
  228. package/dist/scripts/donation-consumption-acceptance.js +7 -28
  229. package/dist/scripts/donation-consumption-acceptance.js.map +1 -1
  230. package/dist/scripts/swe-rebench-v2-pytest-missing.json +16 -0
  231. package/dist/solver-nets/prediction-operator-ux.d.ts +1 -2
  232. package/dist/solver-nets/prediction-operator-ux.js +56 -53
  233. package/dist/solver-nets/prediction-operator-ux.js.map +1 -1
  234. package/dist/solver-nets/registry.d.ts +19 -1
  235. package/dist/solver-nets/registry.js +37 -24
  236. package/dist/solver-nets/registry.js.map +1 -1
  237. package/dist/solver-types/_swe-rebench-v2-pool.d.ts +9 -2
  238. package/dist/solver-types/_swe-rebench-v2-pool.js +15 -20
  239. package/dist/solver-types/_swe-rebench-v2-pool.js.map +1 -1
  240. package/dist/solver-types/_swe-rebench-v2-state.d.ts +15 -0
  241. package/dist/solver-types/_swe-rebench-v2-state.js +19 -0
  242. package/dist/solver-types/_swe-rebench-v2-state.js.map +1 -1
  243. package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +116 -2
  244. package/dist/solver-types/_swe-rebench-v2-validated-pool.js +296 -21
  245. package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
  246. package/dist/solver-types/swe-rebench-v2-auto.d.ts +20 -11
  247. package/dist/solver-types/swe-rebench-v2-auto.js +64 -19
  248. package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -1
  249. package/dist/solver-types/swe-rebench-v2.d.ts +8 -2
  250. package/dist/solver-types/swe-rebench-v2.js +127 -11
  251. package/dist/solver-types/swe-rebench-v2.js.map +1 -1
  252. package/dist/solvernets/daemon-init.d.ts +1 -1
  253. package/dist/solvernets/daemon-init.js +19 -4
  254. package/dist/solvernets/daemon-init.js.map +1 -1
  255. package/dist/solvernets/launched-record-dispatcher.d.ts +4 -0
  256. package/dist/solvernets/launched-record-dispatcher.js +10 -4
  257. package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
  258. package/dist/solvernets/registry-client-erc8004.js +11 -0
  259. package/dist/solvernets/registry-client-erc8004.js.map +1 -1
  260. package/dist/solvernets/store.d.ts +2 -2
  261. package/dist/spend/ai-units-config.d.ts +39 -0
  262. package/dist/spend/ai-units-config.js +28 -0
  263. package/dist/spend/ai-units-config.js.map +1 -0
  264. package/dist/spend/ai-units.d.ts +89 -0
  265. package/dist/spend/ai-units.js +156 -0
  266. package/dist/spend/ai-units.js.map +1 -0
  267. package/dist/spend/cost-surface-status.d.ts +12 -0
  268. package/dist/spend/cost-surface-status.js +24 -0
  269. package/dist/spend/cost-surface-status.js.map +1 -0
  270. package/dist/spend/credential.d.ts +39 -0
  271. package/dist/spend/credential.js +71 -0
  272. package/dist/spend/credential.js.map +1 -0
  273. package/dist/spend/daemon-config.d.ts +13 -0
  274. package/dist/spend/daemon-config.js +24 -0
  275. package/dist/spend/daemon-config.js.map +1 -0
  276. package/dist/spend/pricing.d.ts +16 -0
  277. package/dist/spend/pricing.js +26 -0
  278. package/dist/spend/pricing.js.map +1 -0
  279. package/dist/spend/record.d.ts +13 -0
  280. package/dist/spend/record.js +36 -0
  281. package/dist/spend/record.js.map +1 -0
  282. package/dist/spend/usage.d.ts +27 -0
  283. package/dist/spend/usage.js +113 -0
  284. package/dist/spend/usage.js.map +1 -0
  285. package/dist/store/store.d.ts +101 -0
  286. package/dist/store/store.js +304 -4
  287. package/dist/store/store.js.map +1 -1
  288. package/dist/trajectory/transcript-parsers/codex-session.d.ts +12 -6
  289. package/dist/trajectory/transcript-parsers/codex-session.js +114 -13
  290. package/dist/trajectory/transcript-parsers/codex-session.js.map +1 -1
  291. package/dist/trajectory/transcript-parsers/types.d.ts +8 -8
  292. package/dist/trajectory/transcript-session-dirs.d.ts +18 -0
  293. package/dist/trajectory/transcript-session-dirs.js +85 -0
  294. package/dist/trajectory/transcript-session-dirs.js.map +1 -0
  295. package/dist/trajectory/transcript-watcher.d.ts +20 -1
  296. package/dist/trajectory/transcript-watcher.js +108 -32
  297. package/dist/trajectory/transcript-watcher.js.map +1 -1
  298. package/dist/tx-retry.d.ts +25 -0
  299. package/dist/tx-retry.js +95 -7
  300. package/dist/tx-retry.js.map +1 -1
  301. package/dist/types/payloads/portfolio-v0.d.ts +3 -3
  302. package/dist/types/payloads/prediction-apy-v0.d.ts +3 -3
  303. package/dist/types/payloads/prediction-v0.d.ts +12 -12
  304. package/package.json +11 -3
  305. package/plugins/learner/skills/learn/consolidator-prompt.md +18 -1
  306. package/plugins/learner/skills/learn/promoter-prompt.md +72 -1
  307. package/plugins/swe-rebench-v2-diffmin/README.md +10 -9
  308. package/plugins/swe-rebench-v2-diffmin/jinn.plugin.json +1 -1
  309. package/plugins/swe-rebench-v2-diffmin/skills/diffmin/SKILL.md +15 -10
  310. package/plugins/swe-rebench-v2-diffmin/skills/test-map/SKILL.md +10 -12
  311. package/plugins/swe-rebench-v2-runtime/.claude-plugin/plugin.json +1 -1
  312. package/plugins/swe-rebench-v2-runtime/.codex-plugin/plugin.json +3 -3
  313. package/plugins/swe-rebench-v2-runtime/README.md +6 -6
  314. package/plugins/swe-rebench-v2-runtime/jinn.plugin.json +2 -3
  315. package/plugins/swe-rebench-v2-runtime/skills/task/SKILL.md +81 -0
  316. package/dist/dashboard/assets/index-BUlE8F3Y.js +0 -330
  317. package/dist/dashboard/assets/index-blqc7eqq.css +0 -32
  318. package/plugins/swe-rebench-v2-runtime/skills/orient/SKILL.md +0 -29
  319. package/plugins/swe-rebench-v2-runtime/skills/plan/SKILL.md +0 -53
@@ -16,8 +16,10 @@ import { provisionWorkingDir, provisionImplStateDir, walkArtifacts, uploadArtifa
16
16
  import { DONATION_ARTIFACT_ENCODING } from './artifact-scrub.js';
17
17
  import { assembleAndSignEnvelope, } from './envelope-assembly.js';
18
18
  import { deliverAndClaim, } from './delivery.js';
19
+ import { SafeInnerRevertError, isNonRecoverableInnerRevert, formatDecodedRevert, } from '../../adapters/mech/safe-revert.js';
20
+ import { emitEvent } from '../../observability/emit-event.js';
19
21
  import { SkippableError } from '../types.js';
20
- import { submitEvaluatorFeedback, codeDigestSha256ToBytes32, modeStringToFlag, } from '../../erc8004/index.js';
22
+ import { submitEvaluatorFeedback, codeDigestSha256ToBytes32, encodeExecutionPayload, encodeExecutionPayloadV2, modeStringToFlag, } from '../../erc8004/index.js';
21
23
  import { TrajectoryCollector, emitTrajectory } from '../../trajectory/index.js';
22
24
  import { uploadToIpfs } from '../../adapters/mech/ipfs.js';
23
25
  import { VerdictCode } from '../../adapters/mech/verdict-code.js';
@@ -25,6 +27,7 @@ import { buildInfo } from '../../build-info.js';
25
27
  import { getSolverNetContract } from '../../vendor/@jinn-network/sdk/dist/solvernets/index.js';
26
28
  import { runHarnessWithFreezeFence, } from '../../daemon/freeze-fence.js';
27
29
  import { harnessStateDirName } from '../names.js';
30
+ import { recordTaskCost } from '../../spend/record.js';
28
31
  // ── Sentinel error ────────────────────────────────────────────────────────────
29
32
  export class NotImplementedError extends Error {
30
33
  transitionName;
@@ -150,9 +153,15 @@ export class TaskEngine {
150
153
  * Performance contract (issue #398): this runs once per task announcement,
151
154
  * on the engine-watcher hot path, for every observed task. It MUST NOT
152
155
  * perform per-task blocking I/O. In particular it does not probe
153
- * `impl.isReady()` — for the Hermes harness that runs two blocking
154
- * `spawnSync` child processes, so a backlog would pay per-task blocking
155
- * spawns and starve the daemon event loop.
156
+ * `impl.isReady()` — historically the Hermes harness ran child processes
157
+ * inside its readiness probe, so a backlog would pay per-task blocking
158
+ * spawns and starve the daemon event loop. (#778 converted the matching
159
+ * post-execution `git diff` wedge in harvest.ts to async + 60s timeout;
160
+ * the #778 follow-up converted the readiness-probe spawns themselves —
161
+ * Hermes `doctor` / `auth list` and the codex-doctor `--version` probe —
162
+ * to async, so the registry's background refresh loop no longer blocks the
163
+ * main thread either. The readiness path remains O(1) here via the cache
164
+ * below.)
156
165
  *
157
166
  * Harness readiness for the claim gate is instead served O(1) from the
158
167
  * daemon's cached `HarnessReadinessRegistry` snapshot: the engine-watcher
@@ -388,6 +397,7 @@ export class TaskEngine {
388
397
  break;
389
398
  case TaskRunState.COMPLETE:
390
399
  case TaskRunState.FAILED:
400
+ case TaskRunState.RACE_LOST:
391
401
  // Terminal — nothing to do.
392
402
  break;
393
403
  }
@@ -887,6 +897,18 @@ export class TaskEngine {
887
897
  clearTimeout(endTimer);
888
898
  }
889
899
  console.log(`[harness-engine] ${task.requestId} RUNNING → POST_SNAPSHOT via impl=${impl.name}`);
900
+ // Record the run's cost once it has cleanly reached POST_SNAPSHOT — i.e. the
901
+ // harness completed. Captures cost regardless of whether on-chain delivery
902
+ // later succeeds. Pre-completion early-exits (SkippableError, freeze-fence
903
+ // violation) intentionally do not record: the spend cap is an approximate
904
+ // graceful-pause control (design spec §2), not a precise ledger.
905
+ recordTaskCost(this.store, {
906
+ requestId: task.requestId,
907
+ harness: impl.name,
908
+ model: solverNet?.model,
909
+ workingDir,
910
+ solverType: task.solverType ?? null,
911
+ });
890
912
  }
891
913
  async takePostSnapshot(_intent) {
892
914
  throw new NotImplementedError('takePostSnapshot');
@@ -1312,6 +1334,8 @@ export class TaskEngine {
1312
1334
  !!harnessImplName;
1313
1335
  try {
1314
1336
  let pubTxHash;
1337
+ let pubBlockNumber;
1338
+ let payloadHex;
1315
1339
  if (canEmitV2) {
1316
1340
  const v2Payload = {
1317
1341
  version: 2,
@@ -1323,11 +1347,14 @@ export class TaskEngine {
1323
1347
  implName: harnessImplName,
1324
1348
  modeFlag: modeStringToFlag(task.executorMode),
1325
1349
  };
1326
- pubTxHash = await this.identityPublisher.publishContentV2({
1350
+ payloadHex = encodeExecutionPayloadV2(v2Payload);
1351
+ const result = await this.identityPublisher.publishContentV2({
1327
1352
  kind: metadataKind,
1328
1353
  cid: manifestCid,
1329
1354
  payload: v2Payload,
1330
1355
  });
1356
+ pubTxHash = result.txHash;
1357
+ pubBlockNumber = result.blockNumber;
1331
1358
  console.log(`[harness-engine] ${requestId}: setMetadata ${metadataKind}:${manifestCid} tx=${pubTxHash} (payload v2 mode=${task.executorMode} impl=${harnessImplName})`);
1332
1359
  }
1333
1360
  else {
@@ -1338,13 +1365,34 @@ export class TaskEngine {
1338
1365
  attestationQuoteCid: '0x',
1339
1366
  sourceMeasurement: '0x0000000000000000000000000000000000000000000000000000000000000000',
1340
1367
  };
1341
- pubTxHash = await this.identityPublisher.publishContent({
1368
+ payloadHex = encodeExecutionPayload(v1Payload);
1369
+ const result = await this.identityPublisher.publishContent({
1342
1370
  kind: metadataKind,
1343
1371
  cid: manifestCid,
1344
1372
  payload: v1Payload,
1345
1373
  });
1374
+ pubTxHash = result.txHash;
1375
+ pubBlockNumber = result.blockNumber;
1346
1376
  console.log(`[harness-engine] ${requestId}: setMetadata ${metadataKind}:${manifestCid} tx=${pubTxHash} (payload v1)`);
1347
1377
  }
1378
+ try {
1379
+ this.store.saveErc8004Anchor({
1380
+ envelopeId: manifestHashHex,
1381
+ envelopeCid: manifestCid,
1382
+ contentKind: metadataKind,
1383
+ metadataKey: `${metadataKind}:${manifestCid}`,
1384
+ agentId: this.identityPublisher.agent.toString(),
1385
+ chainId: this.identityPublisher.chainId,
1386
+ identityRegistryAddress: this.identityPublisher.registry,
1387
+ txHash: pubTxHash,
1388
+ blockNumber: pubBlockNumber,
1389
+ payloadHex,
1390
+ anchoredAt: Math.floor(Date.now() / 1000),
1391
+ });
1392
+ }
1393
+ catch (anchorErr) {
1394
+ console.warn(`[harness-engine] ${requestId}: failed to record erc8004 anchor (non-fatal): ${anchorErr instanceof Error ? anchorErr.message : anchorErr}`);
1395
+ }
1348
1396
  }
1349
1397
  catch (err) {
1350
1398
  console.warn(`[harness-engine] ${requestId}: setMetadata ${metadataKind} publish failed (non-fatal): ${err instanceof Error ? err.message : err}`);
@@ -1573,9 +1621,46 @@ export class TaskEngine {
1573
1621
  return null;
1574
1622
  }
1575
1623
  }
1624
+ /**
1625
+ * Classify a transition error and mark the task terminal accordingly.
1626
+ *
1627
+ * - `SafeInnerRevertError` with a non-recoverable inner name (the same
1628
+ * set the daemon's pre-claim catch in `emitTickErrorOrRaceLost` uses):
1629
+ * the on-chain slot is already pruned (TCMaxVerdictsReached,
1630
+ * TCAttemptAlreadyFinalized, …). We mark the row RACE_LOST and emit a
1631
+ * `kind=race_lost` activity event so operators can audit prunes
1632
+ * without inflating the FAILED counter (#896).
1633
+ * - Everything else: existing markFailed behaviour. When invoked from
1634
+ * recovery, `contextLabel === 'recovery'` so the failure_reason
1635
+ * carries the `recovery:` prefix the original code path used.
1636
+ *
1637
+ * Returns the classification so callers can log appropriately.
1638
+ */
1639
+ _classifyAndMarkTerminal(task, err, contextLabel) {
1640
+ if (err instanceof SafeInnerRevertError &&
1641
+ isNonRecoverableInnerRevert(err.decodedName)) {
1642
+ // decodedName is non-null by virtue of isNonRecoverableInnerRevert.
1643
+ const detail = formatDecodedRevert(err.decodedName, err.decodedArgs);
1644
+ this.persistence.markRaceLost(task.requestId, detail);
1645
+ emitEvent(this.store, {
1646
+ kind: 'race_lost',
1647
+ requestId: task.requestId,
1648
+ solverType: task.solverType ?? undefined,
1649
+ outcome: 'ok',
1650
+ detail,
1651
+ }, 'harness-engine');
1652
+ return 'race_lost';
1653
+ }
1654
+ const reason = err instanceof Error ? err.message : String(err);
1655
+ const stamped = contextLabel === 'recovery' ? `recovery: ${reason}` : reason;
1656
+ this.persistence.markFailed(task.requestId, stamped);
1657
+ return 'failed';
1658
+ }
1576
1659
  /**
1577
1660
  * Wraps a transition method call with error handling: if the transition
1578
- * throws, the task is marked FAILED with the error message.
1661
+ * throws, the task is marked terminal (FAILED or RACE_LOST per
1662
+ * `_classifyAndMarkTerminal`) and the error is rethrown so the caller can
1663
+ * surface it.
1579
1664
  */
1580
1665
  async _runTransition(task, fn) {
1581
1666
  // Each transition method (claim, takePreSnapshot, runImpl, pack, deliver)
@@ -1583,14 +1668,12 @@ export class TaskEngine {
1583
1668
  // deliveryTx, impl name). We deliberately don't emit a generic
1584
1669
  // `oldState → newState` line here: doing so produced duplicate
1585
1670
  // transition lines in the operator log (jinn-mono-kzan). On failure,
1586
- // the catch below marks the task FAILED and rethrows so the caller can
1587
- // surface the error.
1671
+ // the catch below routes through the race-loss classifier and rethrows.
1588
1672
  try {
1589
1673
  await fn();
1590
1674
  }
1591
1675
  catch (err) {
1592
- const reason = err instanceof Error ? err.message : String(err);
1593
- this.persistence.markFailed(task.requestId, reason);
1676
+ this._classifyAndMarkTerminal(task, err, 'transition');
1594
1677
  throw err;
1595
1678
  }
1596
1679
  }
@@ -1603,15 +1686,18 @@ export class TaskEngine {
1603
1686
  await this._recoverDispatch(task);
1604
1687
  }
1605
1688
  catch (err) {
1606
- // If recovery itself throws (e.g. NotImplementedError stub), mark failed.
1607
- // NotImplementedError is expected during development; don't swallow it in prod.
1608
- const reason = err instanceof Error ? err.message : String(err);
1609
- // Only mark failed if the task is still in the same non-terminal state
1689
+ // If recovery itself throws (e.g. NotImplementedError stub), classify
1690
+ // the error and mark the row terminal. NotImplementedError is expected
1691
+ // during development; don't swallow it in prod.
1692
+ // Only act if the task is still in the same non-terminal state
1610
1693
  // (another concurrent recovery pass might have already advanced it).
1611
1694
  const current = this.persistence.getByRequestId(task.requestId);
1612
1695
  if (current && current.state === task.state) {
1613
- this.persistence.markFailed(task.requestId, `recovery: ${reason}`);
1614
- console.error(`[harness-engine] resume failed for ${task.requestId}: ${reason}`);
1696
+ const classification = this._classifyAndMarkTerminal(task, err, 'recovery');
1697
+ const reason = err instanceof Error ? err.message : String(err);
1698
+ const log = classification === 'race_lost' ? console.log : console.error;
1699
+ const verb = classification === 'race_lost' ? 'pruned' : 'failed';
1700
+ log(`[harness-engine] resume ${verb} for ${task.requestId}: ${reason}`);
1615
1701
  }
1616
1702
  throw err;
1617
1703
  }
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/harnesses/engine/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/harnesses/engine/engine.ts"],"names":[],"mappings":"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"}
@@ -181,14 +181,15 @@ export declare class TaskRunPersistence {
181
181
  /** Fetch all in-flight tasks (not in any terminal state). */
182
182
  getInFlight(): PersistedTaskRun[];
183
183
  /**
184
- * Fetch all terminal tasks (COMPLETE or FAILED).
185
- * Used by the working-dir reaper (issue #320) to decide which on-disk
186
- * scratch directories are safe to delete.
184
+ * Fetch all terminal tasks (every state in `TERMINAL_STATES`: COMPLETE,
185
+ * FAILED, RACE_LOST). Used by the working-dir reaper (issue #320) to
186
+ * decide which on-disk scratch directories are safe to delete.
187
187
  */
188
188
  getTerminal(): PersistedTaskRun[];
189
189
  /**
190
190
  * Atomic snapshot for the working-dir reaper (issue #320): every task run's
191
- * request ID partitioned into terminal (COMPLETE / FAILED) vs in-flight.
191
+ * request ID partitioned into terminal (every state in `TERMINAL_STATES`)
192
+ * vs in-flight.
192
193
  *
193
194
  * The reaper must NOT read in-flight and terminal sets as two separate
194
195
  * queries — a task transitioning DELIVERING → COMPLETE between the two reads
@@ -245,4 +246,20 @@ export declare class TaskRunPersistence {
245
246
  setManifestGeneratedAt(requestId: string, generatedAt: number): void;
246
247
  /** Mark an task FAILED with a reason (valid from any non-terminal state). */
247
248
  markFailed(requestId: string, reason: string): void;
249
+ /**
250
+ * Mark a task RACE_LOST with a reason (valid from any non-terminal state).
251
+ * Peer to `markFailed`, semantically distinct: the run never produced
252
+ * operator-attributable work — another operator pruned the on-chain slot
253
+ * (TCMaxVerdictsReached, TCAttemptAlreadyFinalized, …) before we got
254
+ * anywhere. Dashboards must NOT count these as failures (#896).
255
+ *
256
+ * Reuses the existing `failure_reason` / `failure_at` columns to avoid a
257
+ * schema migration: the engine-level classifier is the source of truth
258
+ * for "is this a failure vs a race-loss", not the column name.
259
+ *
260
+ * Idempotent on any terminal state (COMPLETE / FAILED / RACE_LOST): a
261
+ * late race-loss classification after a successful run or an operator
262
+ * failure must not rewrite the row.
263
+ */
264
+ markRaceLost(requestId: string, reason: string): void;
248
265
  }
@@ -420,9 +420,9 @@ export class TaskRunPersistence {
420
420
  return rows.map(rowToTaskRun);
421
421
  }
422
422
  /**
423
- * Fetch all terminal tasks (COMPLETE or FAILED).
424
- * Used by the working-dir reaper (issue #320) to decide which on-disk
425
- * scratch directories are safe to delete.
423
+ * Fetch all terminal tasks (every state in `TERMINAL_STATES`: COMPLETE,
424
+ * FAILED, RACE_LOST). Used by the working-dir reaper (issue #320) to
425
+ * decide which on-disk scratch directories are safe to delete.
426
426
  */
427
427
  getTerminal() {
428
428
  const terminalList = [...TERMINAL_STATES];
@@ -433,7 +433,8 @@ export class TaskRunPersistence {
433
433
  }
434
434
  /**
435
435
  * Atomic snapshot for the working-dir reaper (issue #320): every task run's
436
- * request ID partitioned into terminal (COMPLETE / FAILED) vs in-flight.
436
+ * request ID partitioned into terminal (every state in `TERMINAL_STATES`)
437
+ * vs in-flight.
437
438
  *
438
439
  * The reaper must NOT read in-flight and terminal sets as two separate
439
440
  * queries — a task transitioning DELIVERING → COMPLETE between the two reads
@@ -535,8 +536,10 @@ export class TaskRunPersistence {
535
536
  if (!existing) {
536
537
  throw new Error(`Task run not found: ${requestId}`);
537
538
  }
538
- if (existing.state === 'COMPLETE' || existing.state === 'FAILED') {
539
- // Already terminal — no-op (idempotent)
539
+ if (TERMINAL_STATES.has(existing.state)) {
540
+ // Already terminal — no-op (idempotent). Includes COMPLETE / FAILED /
541
+ // RACE_LOST so a late markFailed after a race-loss classification
542
+ // doesn't downgrade a benign prune to an operator failure.
540
543
  return;
541
544
  }
542
545
  const now = Date.now();
@@ -552,5 +555,39 @@ export class TaskRunPersistence {
552
555
  throw new ConcurrentTransitionError(requestId, existing.state, 'FAILED');
553
556
  }
554
557
  }
558
+ /**
559
+ * Mark a task RACE_LOST with a reason (valid from any non-terminal state).
560
+ * Peer to `markFailed`, semantically distinct: the run never produced
561
+ * operator-attributable work — another operator pruned the on-chain slot
562
+ * (TCMaxVerdictsReached, TCAttemptAlreadyFinalized, …) before we got
563
+ * anywhere. Dashboards must NOT count these as failures (#896).
564
+ *
565
+ * Reuses the existing `failure_reason` / `failure_at` columns to avoid a
566
+ * schema migration: the engine-level classifier is the source of truth
567
+ * for "is this a failure vs a race-loss", not the column name.
568
+ *
569
+ * Idempotent on any terminal state (COMPLETE / FAILED / RACE_LOST): a
570
+ * late race-loss classification after a successful run or an operator
571
+ * failure must not rewrite the row.
572
+ */
573
+ markRaceLost(requestId, reason) {
574
+ const existing = this.getByRequestId(requestId);
575
+ if (!existing) {
576
+ throw new Error(`Task run not found: ${requestId}`);
577
+ }
578
+ if (TERMINAL_STATES.has(existing.state)) {
579
+ // Already terminal — no-op (idempotent).
580
+ return;
581
+ }
582
+ const now = Date.now();
583
+ const result = this.db.prepare(`
584
+ UPDATE task_runs
585
+ SET state = 'RACE_LOST', state_updated_at = ?, failure_reason = ?, failure_at = ?
586
+ WHERE request_id = ? AND state = ?
587
+ `).run(now, reason, now, requestId, existing.state);
588
+ if (result.changes === 0) {
589
+ throw new ConcurrentTransitionError(requestId, existing.state, 'RACE_LOST');
590
+ }
591
+ }
555
592
  }
556
593
  //# sourceMappingURL=persistence.js.map