@jinn-network/client 0.1.7 → 0.1.8-canary.0a152013

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 (361) 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/discovery-endpoint.d.ts +1 -0
  28. package/dist/api/discovery-endpoint.js +24 -0
  29. package/dist/api/discovery-endpoint.js.map +1 -1
  30. package/dist/api/gather-status.d.ts +33 -0
  31. package/dist/api/gather-status.js +211 -26
  32. package/dist/api/gather-status.js.map +1 -1
  33. package/dist/api/hermes-doctor-endpoint.d.ts +15 -7
  34. package/dist/api/hermes-doctor-endpoint.js +56 -19
  35. package/dist/api/hermes-doctor-endpoint.js.map +1 -1
  36. package/dist/api/launcher-status.d.ts +4 -2
  37. package/dist/api/launcher-status.js +11 -10
  38. package/dist/api/launcher-status.js.map +1 -1
  39. package/dist/api/launcher-tasks.d.ts +1 -1
  40. package/dist/api/launcher-tasks.js +12 -8
  41. package/dist/api/launcher-tasks.js.map +1 -1
  42. package/dist/api/operator-artifacts-endpoint.js +73 -6
  43. package/dist/api/operator-artifacts-endpoint.js.map +1 -1
  44. package/dist/api/portfolio-v0-build.d.ts +7 -1
  45. package/dist/api/portfolio-v0-build.js +6 -2
  46. package/dist/api/portfolio-v0-build.js.map +1 -1
  47. package/dist/api/prediction-v1-build.d.ts +6 -0
  48. package/dist/api/prediction-v1-build.js +3 -1
  49. package/dist/api/prediction-v1-build.js.map +1 -1
  50. package/dist/api/server.d.ts +17 -0
  51. package/dist/api/server.js +40 -1
  52. package/dist/api/server.js.map +1 -1
  53. package/dist/api/setup-endpoints.d.ts +0 -9
  54. package/dist/api/setup-endpoints.js +11 -153
  55. package/dist/api/setup-endpoints.js.map +1 -1
  56. package/dist/api/solvernets-endpoints.js +30 -63
  57. package/dist/api/solvernets-endpoints.js.map +1 -1
  58. package/dist/api/status-build.d.ts +115 -2
  59. package/dist/api/status-build.js +47 -11
  60. package/dist/api/status-build.js.map +1 -1
  61. package/dist/api/status-harness-rollup.d.ts +35 -0
  62. package/dist/api/status-harness-rollup.js +45 -0
  63. package/dist/api/status-harness-rollup.js.map +1 -0
  64. package/dist/api/task-runs-build.d.ts +8 -0
  65. package/dist/api/task-runs-build.js +5 -1
  66. package/dist/api/task-runs-build.js.map +1 -1
  67. package/dist/build-info.json +4 -4
  68. package/dist/build-meta.json +1 -1
  69. package/dist/captures/live-publisher.js +24 -4
  70. package/dist/captures/live-publisher.js.map +1 -1
  71. package/dist/captures/publish.d.ts +1 -1
  72. package/dist/chain-read-errors.d.ts +12 -0
  73. package/dist/chain-read-errors.js +26 -1
  74. package/dist/chain-read-errors.js.map +1 -1
  75. package/dist/cli/commands/codedigest-revert-check.d.ts +33 -0
  76. package/dist/cli/commands/codedigest-revert-check.js +249 -0
  77. package/dist/cli/commands/codedigest-revert-check.js.map +1 -0
  78. package/dist/cli/commands/eval.d.ts +76 -0
  79. package/dist/cli/commands/eval.js +391 -0
  80. package/dist/cli/commands/eval.js.map +1 -0
  81. package/dist/cli/commands/solver-nets.d.ts +1 -0
  82. package/dist/cli/commands/solver-nets.js +177 -22
  83. package/dist/cli/commands/solver-nets.js.map +1 -1
  84. package/dist/cli/commands/solver-plugins-block.d.ts +33 -0
  85. package/dist/cli/commands/solver-plugins-block.js +118 -0
  86. package/dist/cli/commands/solver-plugins-block.js.map +1 -0
  87. package/dist/cli/commands/solver-plugins-feedback.d.ts +72 -0
  88. package/dist/cli/commands/solver-plugins-feedback.js +262 -0
  89. package/dist/cli/commands/solver-plugins-feedback.js.map +1 -0
  90. package/dist/cli/commands/solver-plugins-read.d.ts +54 -0
  91. package/dist/cli/commands/solver-plugins-read.js +259 -0
  92. package/dist/cli/commands/solver-plugins-read.js.map +1 -0
  93. package/dist/cli/commands/solver-plugins.d.ts +35 -0
  94. package/dist/cli/commands/solver-plugins.js +399 -2
  95. package/dist/cli/commands/solver-plugins.js.map +1 -1
  96. package/dist/cli/commands/tasks.js +15 -2
  97. package/dist/cli/commands/tasks.js.map +1 -1
  98. package/dist/cli/index.js +4 -0
  99. package/dist/cli/index.js.map +1 -1
  100. package/dist/cli/task-native-readiness.d.ts +7 -0
  101. package/dist/cli/task-native-readiness.js +7 -5
  102. package/dist/cli/task-native-readiness.js.map +1 -1
  103. package/dist/config.d.ts +199 -232
  104. package/dist/config.js +268 -107
  105. package/dist/config.js.map +1 -1
  106. package/dist/daemon/ai-units-gate.d.ts +54 -0
  107. package/dist/daemon/ai-units-gate.js +82 -0
  108. package/dist/daemon/ai-units-gate.js.map +1 -0
  109. package/dist/daemon/creator.js +13 -0
  110. package/dist/daemon/creator.js.map +1 -1
  111. package/dist/daemon/daemon.d.ts +10 -0
  112. package/dist/daemon/daemon.js +203 -30
  113. package/dist/daemon/daemon.js.map +1 -1
  114. package/dist/daemon/eviction-loop.d.ts +7 -0
  115. package/dist/daemon/eviction-loop.js +16 -0
  116. package/dist/daemon/eviction-loop.js.map +1 -1
  117. package/dist/daemon/gate-logger.d.ts +9 -0
  118. package/dist/daemon/gate-logger.js +2 -0
  119. package/dist/daemon/gate-logger.js.map +1 -0
  120. package/dist/daemon/jinn-claim-loop.js +22 -4
  121. package/dist/daemon/jinn-claim-loop.js.map +1 -1
  122. package/dist/daemon/readiness-gate.d.ts +1 -4
  123. package/dist/daemon/readiness-gate.js.map +1 -1
  124. package/dist/daemon/spend-cap-gate.d.ts +40 -0
  125. package/dist/daemon/spend-cap-gate.js +46 -0
  126. package/dist/daemon/spend-cap-gate.js.map +1 -0
  127. package/dist/dashboard/assets/index-CldYENtT.js +359 -0
  128. package/dist/dashboard/assets/index-CzKxvMcU.css +32 -0
  129. package/dist/dashboard/index.html +2 -2
  130. package/dist/discovery/http.js +411 -2
  131. package/dist/discovery/http.js.map +1 -1
  132. package/dist/discovery/onchain.js +123 -5
  133. package/dist/discovery/onchain.js.map +1 -1
  134. package/dist/discovery/types.d.ts +202 -0
  135. package/dist/discovery/types.js +40 -0
  136. package/dist/discovery/types.js.map +1 -1
  137. package/dist/discovery/with-fallback.js +34 -0
  138. package/dist/discovery/with-fallback.js.map +1 -1
  139. package/dist/earning/bootstrap.d.ts +25 -3
  140. package/dist/earning/bootstrap.js +69 -15
  141. package/dist/earning/bootstrap.js.map +1 -1
  142. package/dist/earning/safe-adapter.js +34 -11
  143. package/dist/earning/safe-adapter.js.map +1 -1
  144. package/dist/earning/types.d.ts +6 -6
  145. package/dist/earning/viem-clients.d.ts +11 -4
  146. package/dist/earning/viem-clients.js +14 -5
  147. package/dist/earning/viem-clients.js.map +1 -1
  148. package/dist/erc8004/identity.d.ts +19 -3
  149. package/dist/erc8004/identity.js +38 -11
  150. package/dist/erc8004/identity.js.map +1 -1
  151. package/dist/erc8004/index.d.ts +1 -1
  152. package/dist/erc8004/index.js.map +1 -1
  153. package/dist/eval/eval-harness-run.d.ts +63 -0
  154. package/dist/eval/eval-harness-run.js +123 -0
  155. package/dist/eval/eval-harness-run.js.map +1 -0
  156. package/dist/eval/orchestrator.d.ts +146 -0
  157. package/dist/eval/orchestrator.js +221 -0
  158. package/dist/eval/orchestrator.js.map +1 -0
  159. package/dist/eval/resolve-slate-tasks.d.ts +35 -0
  160. package/dist/eval/resolve-slate-tasks.js +56 -0
  161. package/dist/eval/resolve-slate-tasks.js.map +1 -0
  162. package/dist/eval/slope.d.ts +29 -0
  163. package/dist/eval/slope.js +46 -0
  164. package/dist/eval/slope.js.map +1 -0
  165. package/dist/eval/train-sequence.d.ts +35 -0
  166. package/dist/eval/train-sequence.js +59 -0
  167. package/dist/eval/train-sequence.js.map +1 -0
  168. package/dist/eval/wilson.d.ts +45 -0
  169. package/dist/eval/wilson.js +48 -0
  170. package/dist/eval/wilson.js.map +1 -0
  171. package/dist/events/types.d.ts +2 -2
  172. package/dist/harnesses/cost-estimates.d.ts +10 -31
  173. package/dist/harnesses/cost-estimates.js +11 -43
  174. package/dist/harnesses/cost-estimates.js.map +1 -1
  175. package/dist/harnesses/engine/canonical-json.js +5 -3
  176. package/dist/harnesses/engine/canonical-json.js.map +1 -1
  177. package/dist/harnesses/engine/engine.d.ts +37 -4
  178. package/dist/harnesses/engine/engine.js +138 -17
  179. package/dist/harnesses/engine/engine.js.map +1 -1
  180. package/dist/harnesses/engine/persistence.d.ts +21 -4
  181. package/dist/harnesses/engine/persistence.js +43 -6
  182. package/dist/harnesses/engine/persistence.js.map +1 -1
  183. package/dist/harnesses/engine/state.d.ts +9 -0
  184. package/dist/harnesses/engine/state.js +23 -10
  185. package/dist/harnesses/engine/state.js.map +1 -1
  186. package/dist/harnesses/impls/hermes-agent/bootstrap.js +4 -2
  187. package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
  188. package/dist/harnesses/impls/hermes-agent/config-builder.d.ts +1 -1
  189. package/dist/harnesses/impls/hermes-agent/config-builder.js +4 -2
  190. package/dist/harnesses/impls/hermes-agent/config-builder.js.map +1 -1
  191. package/dist/harnesses/impls/hermes-agent/harness.d.ts +14 -0
  192. package/dist/harnesses/impls/hermes-agent/harness.js +16 -2
  193. package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
  194. package/dist/harnesses/impls/hermes-agent/prompt.d.ts +6 -6
  195. package/dist/harnesses/impls/hermes-agent/prompt.js +6 -6
  196. package/dist/harnesses/impls/learner/adapters/claude-code.d.ts +17 -0
  197. package/dist/harnesses/impls/learner/adapters/claude-code.js +113 -14
  198. package/dist/harnesses/impls/learner/adapters/claude-code.js.map +1 -1
  199. package/dist/harnesses/impls/learner/adapters/codex-code.d.ts +9 -0
  200. package/dist/harnesses/impls/learner/adapters/codex-code.js +30 -8
  201. package/dist/harnesses/impls/learner/adapters/codex-code.js.map +1 -1
  202. package/dist/harnesses/impls/learner/harness.d.ts +24 -0
  203. package/dist/harnesses/impls/learner/harness.js +33 -4
  204. package/dist/harnesses/impls/learner/harness.js.map +1 -1
  205. package/dist/harnesses/impls/learner/harvest.d.ts +3 -1
  206. package/dist/harnesses/impls/learner/harvest.js +30 -6
  207. package/dist/harnesses/impls/learner/harvest.js.map +1 -1
  208. package/dist/harnesses/impls/learner/restoration-patch.d.ts +2 -2
  209. package/dist/harnesses/impls/learner/restoration-patch.js +25 -6
  210. package/dist/harnesses/impls/learner/restoration-patch.js.map +1 -1
  211. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +21 -1
  212. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -1
  213. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.d.ts +74 -5
  214. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js +103 -32
  215. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js.map +1 -1
  216. package/dist/harnesses/readiness-registry.d.ts +7 -0
  217. package/dist/harnesses/readiness-registry.js +9 -0
  218. package/dist/harnesses/readiness-registry.js.map +1 -1
  219. package/dist/learner/revert-decision.d.ts +59 -0
  220. package/dist/learner/revert-decision.js +53 -0
  221. package/dist/learner/revert-decision.js.map +1 -0
  222. package/dist/learner/revert-stats.d.ts +24 -0
  223. package/dist/learner/revert-stats.js +44 -0
  224. package/dist/learner/revert-stats.js.map +1 -0
  225. package/dist/main.js +178 -104
  226. package/dist/main.js.map +1 -1
  227. package/dist/mcp/get-codedigest-reward.d.ts +13 -0
  228. package/dist/mcp/get-codedigest-reward.js +23 -0
  229. package/dist/mcp/get-codedigest-reward.js.map +1 -0
  230. package/dist/mcp/server.js +23 -0
  231. package/dist/mcp/server.js.map +1 -1
  232. package/dist/observability/debug-report-assemble.d.ts +43 -0
  233. package/dist/observability/debug-report-assemble.js +80 -0
  234. package/dist/observability/debug-report-assemble.js.map +1 -0
  235. package/dist/observability/emit-event.d.ts +9 -2
  236. package/dist/observability/emit-event.js +36 -2
  237. package/dist/observability/emit-event.js.map +1 -1
  238. package/dist/observability/file-logger.d.ts +69 -0
  239. package/dist/observability/file-logger.js +177 -0
  240. package/dist/observability/file-logger.js.map +1 -0
  241. package/dist/observability/redact-secrets.d.ts +65 -0
  242. package/dist/observability/redact-secrets.js +300 -0
  243. package/dist/observability/redact-secrets.js.map +1 -0
  244. package/dist/observability/tar.d.ts +30 -0
  245. package/dist/observability/tar.js +102 -0
  246. package/dist/observability/tar.js.map +1 -0
  247. package/dist/plugins/learner/hooks/session-start +18 -1
  248. package/dist/plugins/learner/skills/learn/consolidator-prompt.md +18 -1
  249. package/dist/plugins/learner/skills/learn/promoter-prompt.md +72 -1
  250. package/dist/preflight/pidfile-liveness.d.ts +50 -0
  251. package/dist/preflight/pidfile-liveness.js +117 -0
  252. package/dist/preflight/pidfile-liveness.js.map +1 -0
  253. package/dist/preflight/rpc-network.d.ts +40 -0
  254. package/dist/preflight/rpc-network.js +67 -1
  255. package/dist/preflight/rpc-network.js.map +1 -1
  256. package/dist/rpc/transport.d.ts +109 -0
  257. package/dist/rpc/transport.js +220 -0
  258. package/dist/rpc/transport.js.map +1 -0
  259. package/dist/scripts/donation-consumption-acceptance.js +7 -28
  260. package/dist/scripts/donation-consumption-acceptance.js.map +1 -1
  261. package/dist/scripts/swe-rebench-v2-pytest-missing.json +16 -0
  262. package/dist/solver-nets/prediction-operator-ux.d.ts +1 -2
  263. package/dist/solver-nets/prediction-operator-ux.js +56 -53
  264. package/dist/solver-nets/prediction-operator-ux.js.map +1 -1
  265. package/dist/solver-nets/registry.d.ts +19 -1
  266. package/dist/solver-nets/registry.js +37 -24
  267. package/dist/solver-nets/registry.js.map +1 -1
  268. package/dist/solver-types/_swe-rebench-v2-held-out-slate.d.ts +64 -0
  269. package/dist/solver-types/_swe-rebench-v2-held-out-slate.js +139 -0
  270. package/dist/solver-types/_swe-rebench-v2-held-out-slate.js.map +1 -0
  271. package/dist/solver-types/_swe-rebench-v2-pool.d.ts +9 -2
  272. package/dist/solver-types/_swe-rebench-v2-pool.js +15 -20
  273. package/dist/solver-types/_swe-rebench-v2-pool.js.map +1 -1
  274. package/dist/solver-types/_swe-rebench-v2-state.d.ts +15 -0
  275. package/dist/solver-types/_swe-rebench-v2-state.js +19 -0
  276. package/dist/solver-types/_swe-rebench-v2-state.js.map +1 -1
  277. package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +116 -2
  278. package/dist/solver-types/_swe-rebench-v2-validated-pool.js +296 -21
  279. package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
  280. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v1.json +20 -0
  281. package/dist/solver-types/solver-type.d.ts +8 -0
  282. package/dist/solver-types/swe-rebench-v2-auto.d.ts +20 -11
  283. package/dist/solver-types/swe-rebench-v2-auto.js +64 -19
  284. package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -1
  285. package/dist/solver-types/swe-rebench-v2.d.ts +8 -2
  286. package/dist/solver-types/swe-rebench-v2.js +151 -12
  287. package/dist/solver-types/swe-rebench-v2.js.map +1 -1
  288. package/dist/solvernets/daemon-init.d.ts +1 -1
  289. package/dist/solvernets/daemon-init.js +19 -4
  290. package/dist/solvernets/daemon-init.js.map +1 -1
  291. package/dist/solvernets/launched-record-dispatcher.d.ts +4 -0
  292. package/dist/solvernets/launched-record-dispatcher.js +10 -4
  293. package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
  294. package/dist/solvernets/registry-client-erc8004.js +11 -0
  295. package/dist/solvernets/registry-client-erc8004.js.map +1 -1
  296. package/dist/solvernets/store.d.ts +2 -2
  297. package/dist/solvernets/store.js +7 -2
  298. package/dist/solvernets/store.js.map +1 -1
  299. package/dist/spend/ai-units-config.d.ts +39 -0
  300. package/dist/spend/ai-units-config.js +28 -0
  301. package/dist/spend/ai-units-config.js.map +1 -0
  302. package/dist/spend/ai-units.d.ts +89 -0
  303. package/dist/spend/ai-units.js +156 -0
  304. package/dist/spend/ai-units.js.map +1 -0
  305. package/dist/spend/cost-surface-status.d.ts +12 -0
  306. package/dist/spend/cost-surface-status.js +24 -0
  307. package/dist/spend/cost-surface-status.js.map +1 -0
  308. package/dist/spend/credential.d.ts +39 -0
  309. package/dist/spend/credential.js +71 -0
  310. package/dist/spend/credential.js.map +1 -0
  311. package/dist/spend/daemon-config.d.ts +13 -0
  312. package/dist/spend/daemon-config.js +24 -0
  313. package/dist/spend/daemon-config.js.map +1 -0
  314. package/dist/spend/pricing.d.ts +16 -0
  315. package/dist/spend/pricing.js +26 -0
  316. package/dist/spend/pricing.js.map +1 -0
  317. package/dist/spend/record.d.ts +13 -0
  318. package/dist/spend/record.js +36 -0
  319. package/dist/spend/record.js.map +1 -0
  320. package/dist/spend/usage.d.ts +27 -0
  321. package/dist/spend/usage.js +113 -0
  322. package/dist/spend/usage.js.map +1 -0
  323. package/dist/store/store.d.ts +144 -0
  324. package/dist/store/store.js +396 -4
  325. package/dist/store/store.js.map +1 -1
  326. package/dist/trajectory/transcript-parsers/codex-session.d.ts +12 -6
  327. package/dist/trajectory/transcript-parsers/codex-session.js +114 -13
  328. package/dist/trajectory/transcript-parsers/codex-session.js.map +1 -1
  329. package/dist/trajectory/transcript-parsers/types.d.ts +8 -8
  330. package/dist/trajectory/transcript-session-dirs.d.ts +18 -0
  331. package/dist/trajectory/transcript-session-dirs.js +85 -0
  332. package/dist/trajectory/transcript-session-dirs.js.map +1 -0
  333. package/dist/trajectory/transcript-watcher.d.ts +20 -1
  334. package/dist/trajectory/transcript-watcher.js +108 -32
  335. package/dist/trajectory/transcript-watcher.js.map +1 -1
  336. package/dist/tx-retry.d.ts +25 -0
  337. package/dist/tx-retry.js +95 -7
  338. package/dist/tx-retry.js.map +1 -1
  339. package/dist/types/payloads/portfolio-v0.d.ts +3 -3
  340. package/dist/types/payloads/prediction-apy-v0.d.ts +3 -3
  341. package/dist/types/payloads/prediction-v0.d.ts +12 -12
  342. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2-held-out-slate.d.ts +65 -0
  343. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2-held-out-slate.js +123 -0
  344. package/dist/vendor/@jinn-network/sdk/package.json +4 -0
  345. package/package.json +21 -12
  346. package/plugins/learner/hooks/session-start +18 -1
  347. package/plugins/learner/skills/learn/consolidator-prompt.md +18 -1
  348. package/plugins/learner/skills/learn/promoter-prompt.md +72 -1
  349. package/plugins/swe-rebench-v2-diffmin/README.md +10 -9
  350. package/plugins/swe-rebench-v2-diffmin/jinn.plugin.json +1 -1
  351. package/plugins/swe-rebench-v2-diffmin/skills/diffmin/SKILL.md +15 -10
  352. package/plugins/swe-rebench-v2-diffmin/skills/test-map/SKILL.md +10 -12
  353. package/plugins/swe-rebench-v2-runtime/.claude-plugin/plugin.json +1 -1
  354. package/plugins/swe-rebench-v2-runtime/.codex-plugin/plugin.json +3 -3
  355. package/plugins/swe-rebench-v2-runtime/README.md +6 -6
  356. package/plugins/swe-rebench-v2-runtime/jinn.plugin.json +2 -3
  357. package/plugins/swe-rebench-v2-runtime/skills/task/SKILL.md +81 -0
  358. package/dist/dashboard/assets/index-BUlE8F3Y.js +0 -330
  359. package/dist/dashboard/assets/index-blqc7eqq.css +0 -32
  360. package/plugins/swe-rebench-v2-runtime/skills/orient/SKILL.md +0 -29
  361. package/plugins/swe-rebench-v2-runtime/skills/plan/SKILL.md +0 -53
@@ -1 +1 @@
1
- {"version":3,"file":"config-builder.js","sourceRoot":"","sources":["../../../../src/harnesses/impls/hermes-agent/config-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-builder.js","sourceRoot":"","sources":["../../../../src/harnesses/impls/hermes-agent/config-builder.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { Harness, HarnessContext, ReadyStatus, Solution } from '../../types.js';
2
+ import type { Task } from '../../../types/task.js';
2
3
  import type { HermesHarnessAdapter } from './adapter.js';
3
4
  import { probeOpenRouterCredit, type OpenRouterCreditConfig } from '../../../api/hermes-doctor-endpoint.js';
4
5
  export interface HermesHarnessConfig {
@@ -84,5 +85,18 @@ export declare class HermesHarness implements Harness {
84
85
  solverType: string;
85
86
  role?: 'restoration' | 'evaluation';
86
87
  }): boolean;
88
+ /**
89
+ * gh #300 — solver-side ghost-task admission (Tier 1, zero-fetch).
90
+ * Reject tasks whose on-chain `vettedPoolRef` announces an
91
+ * `evalSemanticsVersion` no local evaluator could grade. Fails open when the
92
+ * ref is absent (recency floor guards ref-less ghosts). See
93
+ * `spec/2026-05-29-ghost-task-admission-symmetric-gate.md`.
94
+ */
95
+ canAttempt(task: Task): Promise<{
96
+ ok: true;
97
+ } | {
98
+ ok: false;
99
+ reason: string;
100
+ }>;
87
101
  run(ctx: HarnessContext): Promise<Solution>;
88
102
  }
@@ -1,3 +1,4 @@
1
+ import { vettedPoolRefSemanticsMismatch } from '../../../solver-types/_swe-rebench-v2-validated-pool.js';
1
2
  import { HERMES_AGENT_HARNESS } from '../../names.js';
2
3
  import { harvestOutput } from '../learner/harvest.js';
3
4
  import { probeHermesDoctor, probeHermesAuthStatus, probeOpenRouterCredit, DEFAULT_OPENROUTER_CREDIT_FLOOR_USD, } from '../../../api/hermes-doctor-endpoint.js';
@@ -68,7 +69,7 @@ export class HermesHarness {
68
69
  config.hermesPath = this.hermesPath;
69
70
  if (this.hermesDoctorTimeoutMs !== undefined)
70
71
  config.hermesDoctorTimeoutMs = this.hermesDoctorTimeoutMs;
71
- const result = probeHermesDoctor(config);
72
+ const result = await probeHermesDoctor(config);
72
73
  if (!result.installed) {
73
74
  return {
74
75
  ready: false,
@@ -93,7 +94,7 @@ export class HermesHarness {
93
94
  // Third gate: `hermes doctor` exits 0 even when every model provider is
94
95
  // logged out. Hermes is OpenRouter-only, so probe OpenRouter auth
95
96
  // directly — a logged-out OpenRouter means Hermes cannot run a task.
96
- const auth = probeHermesAuthStatus('openrouter', config);
97
+ const auth = await probeHermesAuthStatus('openrouter', config);
97
98
  if (!auth.authed) {
98
99
  return {
99
100
  ready: false,
@@ -131,6 +132,19 @@ export class HermesHarness {
131
132
  // (verdict signing, checker contracts).
132
133
  return spec.role !== 'evaluation' && spec.solverType === 'swe-rebench-v2.v1';
133
134
  }
135
+ /**
136
+ * gh #300 — solver-side ghost-task admission (Tier 1, zero-fetch).
137
+ * Reject tasks whose on-chain `vettedPoolRef` announces an
138
+ * `evalSemanticsVersion` no local evaluator could grade. Fails open when the
139
+ * ref is absent (recency floor guards ref-less ghosts). See
140
+ * `spec/2026-05-29-ghost-task-admission-symmetric-gate.md`.
141
+ */
142
+ async canAttempt(task) {
143
+ const mismatch = vettedPoolRefSemanticsMismatch(task.eligibility);
144
+ if (mismatch)
145
+ return { ok: false, reason: mismatch };
146
+ return { ok: true };
147
+ }
134
148
  async run(ctx) {
135
149
  const window = ctx.task.window ?? { startTs: 0, endTs: 0 };
136
150
  await this.adapter.runTask({
@@ -1 +1 @@
1
- {"version":3,"file":"harness.js","sourceRoot":"","sources":["../../../../src/harnesses/impls/hermes-agent/harness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harness.js","sourceRoot":"","sources":["../../../../src/harnesses/impls/hermes-agent/harness.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,11 @@ import type { TaskSessionInputs } from '../learner/types.js';
5
5
  * The harness deliberately does NOT bake SolverNet-specific guidance into
6
6
  * this prompt. Per-SolverNet task patterns (repo setup, schema shape,
7
7
  * submission expectations) live in the SolverPlugin's SKILL.md files
8
- * (e.g. `swe-rebench-v2-runtime/skills/orient/SKILL.md` +
9
- * `plan/SKILL.md`). The harness loads those skills via
10
- * `solverPluginRoots` and the agent picks them up at runtime. Adding
11
- * SolverNet branching here would re-create the leak that retired the
12
- * earlier `sweRebenchV2Guidance()` helper every new SolverNet would
13
- * require a code change in every harness's prompt builder.
8
+ * (e.g. `swe-rebench-v2-runtime/skills/task/SKILL.md`). The harness loads
9
+ * those skills via `solverPluginRoots` and the agent picks them up at
10
+ * runtime. Adding SolverNet branching here would re-create the leak that
11
+ * retired the earlier `sweRebenchV2Guidance()` helper every new
12
+ * SolverNet would require a code change in every harness's prompt
13
+ * builder.
14
14
  */
15
15
  export declare function buildInitialPrompt(inputs: TaskSessionInputs): string;
@@ -4,12 +4,12 @@
4
4
  * The harness deliberately does NOT bake SolverNet-specific guidance into
5
5
  * this prompt. Per-SolverNet task patterns (repo setup, schema shape,
6
6
  * submission expectations) live in the SolverPlugin's SKILL.md files
7
- * (e.g. `swe-rebench-v2-runtime/skills/orient/SKILL.md` +
8
- * `plan/SKILL.md`). The harness loads those skills via
9
- * `solverPluginRoots` and the agent picks them up at runtime. Adding
10
- * SolverNet branching here would re-create the leak that retired the
11
- * earlier `sweRebenchV2Guidance()` helper every new SolverNet would
12
- * require a code change in every harness's prompt builder.
7
+ * (e.g. `swe-rebench-v2-runtime/skills/task/SKILL.md`). The harness loads
8
+ * those skills via `solverPluginRoots` and the agent picks them up at
9
+ * runtime. Adding SolverNet branching here would re-create the leak that
10
+ * retired the earlier `sweRebenchV2Guidance()` helper every new
11
+ * SolverNet would require a code change in every harness's prompt
12
+ * builder.
13
13
  */
14
14
  export function buildInitialPrompt(inputs) {
15
15
  return [
@@ -31,11 +31,26 @@ export interface ClaudeCodeHarnessAdapterConfig {
31
31
  * into this directory before spawning.
32
32
  */
33
33
  pluginInstallDir?: string;
34
+ /**
35
+ * Root of the Jinn client install (the dir containing `dist/`/`src/`).
36
+ * Forwarded to the Network Tools MCP launcher as
37
+ * `JINN_NETWORK_TOOLS_CLIENT_ROOT` so it can resolve the real Jinn MCP
38
+ * server. Defaults to {@link defaultClientRoot} (derived from this
39
+ * module's location). Tests override it.
40
+ */
41
+ clientRoot?: string;
34
42
  /**
35
43
  * Override spawn for testing. When provided, called instead of
36
44
  * node:child_process.spawn so tests can inject a fake child process.
37
45
  */
38
46
  _spawnFn?: typeof spawn;
47
+ /**
48
+ * Override the process-group kill for testing (#883). Called as
49
+ * `(childPid, signal)` and expected to signal the child's whole process
50
+ * group (`process.kill(-childPid, signal)`) so leaked grandchildren are
51
+ * reaped. Injected by tests so they never fire a real signal.
52
+ */
53
+ _killProcessGroup?: (childPid: number, signal: NodeJS.Signals) => void;
39
54
  }
40
55
  /**
41
56
  * Real Claude Code adapter. Spawns the `claude` CLI with the plugin
@@ -56,7 +71,9 @@ export declare class ClaudeCodeHarnessAdapter implements HarnessAdapter {
56
71
  private readonly daemonApiToken;
57
72
  private readonly corpusEnv;
58
73
  private readonly pluginInstallDir;
74
+ private readonly clientRoot;
59
75
  private readonly spawnFn;
76
+ private readonly killProcessGroup;
60
77
  constructor(config?: ClaudeCodeHarnessAdapterConfig);
61
78
  runTask(inputs: TaskSessionInputs, pluginRoot: string): Promise<void>;
62
79
  }
@@ -1,8 +1,32 @@
1
1
  import { spawn } from 'node:child_process';
2
2
  import { createWriteStream, mkdirSync } from 'node:fs';
3
3
  import { homedir } from 'node:os';
4
- import { join } from 'node:path';
4
+ import { dirname, join, resolve } from 'node:path';
5
5
  import { finished } from 'node:stream/promises';
6
+ import { fileURLToPath } from 'node:url';
7
+ /**
8
+ * Resolve the Jinn client install root from this module's runtime location.
9
+ *
10
+ * The Network Tools plugin (`bundled:network-tools`) is materialized into the
11
+ * operator vendor root (`~/.jinn-client/solver-plugins/network-tools`), so the
12
+ * plugin's own MCP launcher cannot find the client tree via `../..` — that
13
+ * resolves to `~/.jinn-client`, which has no `dist/mcp/server.js` or
14
+ * `src/mcp/server.ts`, and the server process exits non-zero (`status:failed`
15
+ * in the agent's MCP server list). This adapter runs *inside* the client
16
+ * process, so it can hand the launcher the real client root via
17
+ * `JINN_NETWORK_TOOLS_CLIENT_ROOT`.
18
+ *
19
+ * Layout (mirrors `defaultClientRoot` in `codex-code.ts`):
20
+ * - source: `<client>/src/harnesses/impls/learner/adapters/claude-code.ts`
21
+ * - compiled: `<client>/dist/harnesses/impls/learner/adapters/claude-code.js`
22
+ * Five levels up reaches `<client>` in both layouts. The launcher's
23
+ * `firstExistingServer(<client>)` then finds `<client>/dist/mcp/server.js`
24
+ * (built/published) or `<client>/src/mcp/server.ts` (source checkout).
25
+ */
26
+ function defaultClientRoot() {
27
+ const here = dirname(fileURLToPath(import.meta.url));
28
+ return resolve(here, '..', '..', '..', '..', '..');
29
+ }
6
30
  /**
7
31
  * Allowlist of env vars that propagate to the spawned Claude session.
8
32
  * We deliberately limit this to avoid leaking unrelated credentials
@@ -105,7 +129,9 @@ export class ClaudeCodeHarnessAdapter {
105
129
  daemonApiToken;
106
130
  corpusEnv;
107
131
  pluginInstallDir;
132
+ clientRoot;
108
133
  spawnFn;
134
+ killProcessGroup;
109
135
  constructor(config = {}) {
110
136
  this.claudePath = config.claudePath ?? 'claude';
111
137
  this.claudeModel = config.claudeModel;
@@ -114,7 +140,10 @@ export class ClaudeCodeHarnessAdapter {
114
140
  this.daemonApiToken = config.daemonApiToken;
115
141
  this.corpusEnv = config.corpusEnv;
116
142
  this.pluginInstallDir = config.pluginInstallDir ?? join(homedir(), '.claude', 'plugins');
143
+ this.clientRoot = config.clientRoot ?? defaultClientRoot();
117
144
  this.spawnFn = config._spawnFn ?? spawn;
145
+ this.killProcessGroup =
146
+ config._killProcessGroup ?? ((childPid, signal) => { process.kill(-childPid, signal); });
118
147
  }
119
148
  async runTask(inputs, pluginRoot) {
120
149
  // Ensure the plugin install directory exists. The adapter does NOT
@@ -146,6 +175,13 @@ export class ClaudeCodeHarnessAdapter {
146
175
  WORKING_DIR: inputs.workingDir,
147
176
  JINN_WORKING_DIR: inputs.workingDir,
148
177
  JINN_CLAUDE_CODE_LEARNER_PLUGIN_ROOT: pluginRoot,
178
+ // Network Tools' MCP launcher reads this to locate the real Jinn MCP
179
+ // server. The `bundled:network-tools` plugin is materialized into the
180
+ // operator vendor root, detached from the client tree, so its own
181
+ // `../..` resolution fails — without this the jinn-client MCP server
182
+ // exits non-zero and the agent never gets submit_typed_payload.
183
+ // Honor an operator-supplied value if present (e.g. custom install).
184
+ JINN_NETWORK_TOOLS_CLIENT_ROOT: process.env.JINN_NETWORK_TOOLS_CLIENT_ROOT?.trim() || this.clientRoot,
149
185
  DESIRED_STATE_ID: inputs.taskId,
150
186
  DESIRED_STATE_DESCRIPTION: stringField(inputs.taskBody?.description),
151
187
  DESIRED_STATE_CONTEXT: taskContextJson(inputs),
@@ -169,6 +205,11 @@ export class ClaudeCodeHarnessAdapter {
169
205
  stdio: ['ignore', 'pipe', 'pipe'],
170
206
  env,
171
207
  cwd: inputs.workingDir,
208
+ // #883: run claude as its own process-group leader so we can reap the
209
+ // WHOLE group (claude + any tool subprocesses it leaks, e.g. a `while …;
210
+ // do sleep; done` shell). Killing just the claude pid would orphan
211
+ // those grandchildren.
212
+ detached: process.platform !== 'win32',
172
213
  };
173
214
  return new Promise((resolve, reject) => {
174
215
  const logDir = join(inputs.workingDir, '.claude-code');
@@ -189,28 +230,36 @@ export class ClaudeCodeHarnessAdapter {
189
230
  throw stderrErr;
190
231
  };
191
232
  const child = this.spawnFn(this.claudePath, args, spawnOpts);
233
+ // #883: reap the child AND its process group, so a tool subprocess the
234
+ // model leaked (e.g. an unbounded `while …; do sleep; done` shell) dies
235
+ // too. Killing only the claude pid would orphan such a grandchild — and
236
+ // because that live grandchild keeps claude's event loop alive, claude
237
+ // itself would never exit (the observed hang). SIGKILL backstops SIGTERM.
238
+ const reap = (signal) => {
239
+ if (typeof child.pid === 'number') {
240
+ try {
241
+ this.killProcessGroup(child.pid, signal);
242
+ }
243
+ catch { /* group already gone */ }
244
+ }
245
+ try {
246
+ if (!child.killed)
247
+ child.kill(signal);
248
+ }
249
+ catch { /* already dead */ }
250
+ };
192
251
  // If the abort signal already fired before we got here (race), kill
193
252
  // the child immediately. Without this, addEventListener below would
194
253
  // never fire (signals only emit on transition to aborted, not when
195
254
  // already aborted).
196
255
  if (inputs.abort.aborted) {
197
- if (!child.killed)
198
- child.kill('SIGTERM');
256
+ reap('SIGTERM');
199
257
  }
200
- // Window-end abort: kill child, reject.
258
+ // Window-end abort: kill the child group; the exit/result path resolves.
201
259
  const onAbort = () => {
202
- if (!child.killed)
203
- child.kill('SIGTERM');
260
+ reap('SIGTERM');
204
261
  };
205
262
  inputs.abort.addEventListener('abort', onAbort);
206
- let stderr = '';
207
- child.stdout?.on('data', (d) => {
208
- stdoutLog.write(d);
209
- });
210
- child.stderr?.on('data', (d) => {
211
- stderrLog.write(d);
212
- stderr += d.toString();
213
- });
214
263
  let settled = false;
215
264
  const settleAfterLogs = (complete, onLogError = reject) => {
216
265
  if (settled)
@@ -219,6 +268,56 @@ export class ClaudeCodeHarnessAdapter {
219
268
  inputs.abort.removeEventListener('abort', onAbort);
220
269
  closeLogs().then(complete, onLogError);
221
270
  };
271
+ // #883: complete on claude's terminal `result` message, not solely on
272
+ // process exit. claude streams `{"type":"result","subtype":…}` when the
273
+ // session ends; it may then fail to exit (a leaked tool subprocess holds
274
+ // the event loop open). Settling on the result — and reaping the group —
275
+ // means the task never strands in RUNNING waiting for an exit that never
276
+ // comes. The `child.on('exit')` handler below still covers crashes that
277
+ // emit no result; the `settled` guard makes whichever fires first win.
278
+ let stdoutBuf = '';
279
+ const onResult = (subtype) => {
280
+ if (settled)
281
+ return;
282
+ reap('SIGTERM');
283
+ const killTimer = setTimeout(() => reap('SIGKILL'), 2000);
284
+ if (typeof killTimer.unref === 'function')
285
+ killTimer.unref();
286
+ settleAfterLogs(() => {
287
+ if (subtype === undefined || subtype === 'success') {
288
+ resolve();
289
+ }
290
+ else {
291
+ reject(new Error(`claude-code adapter: session ended with result subtype=${String(subtype)}`));
292
+ }
293
+ });
294
+ };
295
+ let stderr = '';
296
+ child.stdout?.on('data', (d) => {
297
+ stdoutLog.write(d);
298
+ if (settled)
299
+ return;
300
+ stdoutBuf += d.toString();
301
+ let nl;
302
+ while ((nl = stdoutBuf.indexOf('\n')) >= 0) {
303
+ const line = stdoutBuf.slice(0, nl).trim();
304
+ stdoutBuf = stdoutBuf.slice(nl + 1);
305
+ if (!line.includes('"type":"result"'))
306
+ continue;
307
+ try {
308
+ const obj = JSON.parse(line);
309
+ if (obj && obj.type === 'result') {
310
+ onResult(obj.subtype);
311
+ return;
312
+ }
313
+ }
314
+ catch { /* partial or non-JSON line; keep scanning */ }
315
+ }
316
+ });
317
+ child.stderr?.on('data', (d) => {
318
+ stderrLog.write(d);
319
+ stderr += d.toString();
320
+ });
222
321
  child.on('exit', (code, signal) => {
223
322
  settleAfterLogs(() => {
224
323
  if (code === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../../../src/harnesses/impls/learner/adapters/claude-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../../../src/harnesses/impls/learner/adapters/claude-code.ts"],"names":[],"mappings":"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"}
@@ -32,5 +32,14 @@ export declare class CodexCodeHarnessAdapter implements HarnessAdapter {
32
32
  private readonly spawnFn;
33
33
  private readonly runSessionStartHook;
34
34
  constructor(config?: CodexCodeHarnessAdapterConfig);
35
+ /**
36
+ * Spawn `codex exec` and stream the prompt to its stdin.
37
+ *
38
+ * Stdin contract (#675): codex >=0.133.0 detects a non-TTY-with-no-data
39
+ * stdin as a fatal config error ("Reading additional input from stdin") and
40
+ * exits with code 1 before reading the positional [PROMPT]. The daemon
41
+ * therefore pipes the prompt through `child.stdin` and closes the stream;
42
+ * the positional-arg invocation used pre-0.133 is no longer supported.
43
+ */
35
44
  runTask(inputs: TaskSessionInputs, pluginRoot: string): Promise<void>;
36
45
  }
@@ -73,12 +73,12 @@ function taskContextJson(inputs) {
73
73
  * The harness deliberately does NOT bake SolverNet-specific guidance into
74
74
  * this prompt. Per-SolverNet task patterns (repo setup, schema shape,
75
75
  * submission expectations) live in the SolverPlugin's SKILL.md files
76
- * (e.g. `swe-rebench-v2-runtime/skills/orient/SKILL.md` +
77
- * `plan/SKILL.md`). The adapter loads those skills via the projected
78
- * plugin root and the agent picks them up at runtime. Adding SolverNet
79
- * branching here would re-create the leak that retired the earlier
80
- * `sweRebenchV2Guidance()` helper every new SolverNet would require a
81
- * code change in every adapter's prompt builder.
76
+ * (e.g. `swe-rebench-v2-runtime/skills/task/SKILL.md`). The adapter loads
77
+ * those skills via the projected plugin root and the agent picks them up
78
+ * at runtime. Adding SolverNet branching here would re-create the leak
79
+ * that retired the earlier `sweRebenchV2Guidance()` helper every new
80
+ * SolverNet would require a code change in every adapter's prompt
81
+ * builder.
82
82
  */
83
83
  function buildInitialPrompt(inputs) {
84
84
  return [
@@ -129,6 +129,15 @@ export class CodexCodeHarnessAdapter {
129
129
  this.spawnFn = config._spawnFn ?? spawn;
130
130
  this.runSessionStartHook = config._runSessionStartHook ?? true;
131
131
  }
132
+ /**
133
+ * Spawn `codex exec` and stream the prompt to its stdin.
134
+ *
135
+ * Stdin contract (#675): codex >=0.133.0 detects a non-TTY-with-no-data
136
+ * stdin as a fatal config error ("Reading additional input from stdin") and
137
+ * exits with code 1 before reading the positional [PROMPT]. The daemon
138
+ * therefore pipes the prompt through `child.stdin` and closes the stream;
139
+ * the positional-arg invocation used pre-0.133 is no longer supported.
140
+ */
132
141
  async runTask(inputs, pluginRoot) {
133
142
  const prompt = buildInitialPrompt(inputs);
134
143
  const baseEnv = {
@@ -158,6 +167,14 @@ export class CodexCodeHarnessAdapter {
158
167
  };
159
168
  const env = buildAgentEnv(baseEnv);
160
169
  if (this.runSessionStartHook) {
170
+ // Sync spawnSync is acceptable here (#778, #398): this runs once per
171
+ // claimed task during the synchronous `runTask` setup phase before the
172
+ // long-running codex child is spawned. The hook is a well-known
173
+ // session-start script (not an unbounded user diff), runs against the
174
+ // task's working dir, and any hang would already trip the harness's
175
+ // outer task-execution timeout. The wedge fixed in #778 was the
176
+ // post-execution `git diff --binary` in harvest.ts, which ran on every
177
+ // delivery on the main thread with no upstream timeout.
161
178
  const hook = spawnSync('bash', [join(pluginRoot, 'hooks', 'session-start')], {
162
179
  cwd: inputs.workingDir,
163
180
  env,
@@ -190,9 +207,8 @@ export class CodexCodeHarnessAdapter {
190
207
  for (const configArg of prepared.configArgs) {
191
208
  args.push('-c', configArg);
192
209
  }
193
- args.push(prompt);
194
210
  const spawnOpts = {
195
- stdio: ['ignore', 'pipe', 'pipe'],
211
+ stdio: ['pipe', 'pipe', 'pipe'],
196
212
  env,
197
213
  cwd: inputs.workingDir,
198
214
  };
@@ -215,6 +231,12 @@ export class CodexCodeHarnessAdapter {
215
231
  throw stderrErr;
216
232
  };
217
233
  const child = this.spawnFn(this.codexPath, args, spawnOpts);
234
+ if (child.stdin) {
235
+ // codex may close stdin early; let the exit-code branch report the
236
+ // real failure rather than crashing this promise on EPIPE.
237
+ child.stdin.on('error', () => { });
238
+ child.stdin.end(prompt);
239
+ }
218
240
  if (inputs.abort.aborted) {
219
241
  if (!child.killed)
220
242
  child.kill('SIGTERM');
@@ -1 +1 @@
1
- {"version":3,"file":"codex-code.js","sourceRoot":"","sources":["../../../../../src/harnesses/impls/learner/adapters/codex-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-code.js","sourceRoot":"","sources":["../../../../../src/harnesses/impls/learner/adapters/codex-code.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { Harness, HarnessContext, ReadyStatus, Solution } from '../../types.js';
2
+ import type { Task } from '../../../types/task.js';
2
3
  import type { LearnerHarnessConfig } from './types.js';
3
4
  /**
4
5
  * `Harness` shell. Bridges the engine's dispatch contract
@@ -11,6 +12,15 @@ import type { LearnerHarnessConfig } from './types.js';
11
12
  export declare class LearnerHarness implements Harness {
12
13
  readonly name: string;
13
14
  readonly version: string;
15
+ /**
16
+ * Exclude `.git` from the freeze codeDigest. `implStateDir` is git-backed
17
+ * (`plugins/learner/hooks/session-start` runs `git init`), so hashing `.git`
18
+ * would make a commit's codeDigest irreproducible from its tree — breaking
19
+ * the commit→codeDigest mapping the per-codeDigest revert selection relies on
20
+ * (#764). With `.git` ignored, `git archive <sha>` + re-hash reproduces the
21
+ * indexed codeDigest exactly.
22
+ */
23
+ readonly freezeStateHashIgnore: readonly [".git"];
14
24
  private readonly adapter;
15
25
  private readonly pluginRoot;
16
26
  private readonly claudePath;
@@ -58,5 +68,19 @@ export declare class LearnerHarness implements Harness {
58
68
  solverType: string;
59
69
  role?: 'restoration' | 'evaluation';
60
70
  }): boolean;
71
+ /**
72
+ * gh #300 — solver-side ghost-task admission (Tier 1, zero-fetch).
73
+ * Reject tasks whose on-chain `vettedPoolRef` announces an
74
+ * `evalSemanticsVersion` no local evaluator could grade (the swe-rebench-v2
75
+ * ghost class). Fails open when the ref is absent, so non-swe-rebench-v2
76
+ * SolverTypes the learner also serves are unaffected. See
77
+ * `spec/2026-05-29-ghost-task-admission-symmetric-gate.md`.
78
+ */
79
+ canAttempt(task: Task): Promise<{
80
+ ok: true;
81
+ } | {
82
+ ok: false;
83
+ reason: string;
84
+ }>;
61
85
  run(ctx: HarnessContext): Promise<Solution>;
62
86
  }