@jinn-network/client 0.1.7-canary.d4e4e183 → 0.1.7-canary.e68c8f43

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 (297) 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.js +11 -2
  6. package/dist/adapters/mech/contracts.js.map +1 -1
  7. package/dist/adapters/mech/safe.d.ts +1 -1
  8. package/dist/adapters/mech/safe.js +5 -3
  9. package/dist/adapters/mech/safe.js.map +1 -1
  10. package/dist/adapters/mech/types.d.ts +6 -1
  11. package/dist/adapters/mech/types.js.map +1 -1
  12. package/dist/agent/operator-claude.js +8 -0
  13. package/dist/agent/operator-claude.js.map +1 -1
  14. package/dist/api/activity-events-endpoint.d.ts +14 -0
  15. package/dist/api/activity-events-endpoint.js +59 -0
  16. package/dist/api/activity-events-endpoint.js.map +1 -0
  17. package/dist/api/bootstrap-endpoint.d.ts +1 -2
  18. package/dist/api/bootstrap-endpoint.js +42 -24
  19. package/dist/api/bootstrap-endpoint.js.map +1 -1
  20. package/dist/api/codex-doctor-endpoint.d.ts +22 -5
  21. package/dist/api/codex-doctor-endpoint.js +136 -17
  22. package/dist/api/codex-doctor-endpoint.js.map +1 -1
  23. package/dist/api/debug-report-endpoint.d.ts +27 -0
  24. package/dist/api/debug-report-endpoint.js +157 -0
  25. package/dist/api/debug-report-endpoint.js.map +1 -0
  26. package/dist/api/gather-status.d.ts +33 -0
  27. package/dist/api/gather-status.js +210 -26
  28. package/dist/api/gather-status.js.map +1 -1
  29. package/dist/api/hermes-doctor-endpoint.d.ts +15 -7
  30. package/dist/api/hermes-doctor-endpoint.js +56 -19
  31. package/dist/api/hermes-doctor-endpoint.js.map +1 -1
  32. package/dist/api/launcher-status.d.ts +4 -2
  33. package/dist/api/launcher-status.js +11 -10
  34. package/dist/api/launcher-status.js.map +1 -1
  35. package/dist/api/launcher-tasks.d.ts +1 -1
  36. package/dist/api/launcher-tasks.js +12 -8
  37. package/dist/api/launcher-tasks.js.map +1 -1
  38. package/dist/api/operator-artifacts-endpoint.js +73 -6
  39. package/dist/api/operator-artifacts-endpoint.js.map +1 -1
  40. package/dist/api/server.d.ts +17 -0
  41. package/dist/api/server.js +40 -1
  42. package/dist/api/server.js.map +1 -1
  43. package/dist/api/setup-endpoints.d.ts +0 -9
  44. package/dist/api/setup-endpoints.js +11 -153
  45. package/dist/api/setup-endpoints.js.map +1 -1
  46. package/dist/api/solvernets-endpoints.js +30 -63
  47. package/dist/api/solvernets-endpoints.js.map +1 -1
  48. package/dist/api/status-build.d.ts +115 -2
  49. package/dist/api/status-build.js +47 -11
  50. package/dist/api/status-build.js.map +1 -1
  51. package/dist/api/status-harness-rollup.d.ts +35 -0
  52. package/dist/api/status-harness-rollup.js +45 -0
  53. package/dist/api/status-harness-rollup.js.map +1 -0
  54. package/dist/build-info.json +4 -4
  55. package/dist/build-meta.json +1 -1
  56. package/dist/captures/live-publisher.js +24 -4
  57. package/dist/captures/live-publisher.js.map +1 -1
  58. package/dist/captures/publish.d.ts +1 -1
  59. package/dist/chain-read-errors.d.ts +12 -0
  60. package/dist/chain-read-errors.js +26 -1
  61. package/dist/chain-read-errors.js.map +1 -1
  62. package/dist/cli/commands/codedigest-revert-check.d.ts +33 -0
  63. package/dist/cli/commands/codedigest-revert-check.js +249 -0
  64. package/dist/cli/commands/codedigest-revert-check.js.map +1 -0
  65. package/dist/cli/commands/solver-nets.d.ts +1 -0
  66. package/dist/cli/commands/solver-nets.js +170 -22
  67. package/dist/cli/commands/solver-nets.js.map +1 -1
  68. package/dist/cli/commands/solver-plugins-block.d.ts +33 -0
  69. package/dist/cli/commands/solver-plugins-block.js +118 -0
  70. package/dist/cli/commands/solver-plugins-block.js.map +1 -0
  71. package/dist/cli/commands/solver-plugins-feedback.d.ts +72 -0
  72. package/dist/cli/commands/solver-plugins-feedback.js +262 -0
  73. package/dist/cli/commands/solver-plugins-feedback.js.map +1 -0
  74. package/dist/cli/commands/solver-plugins-read.d.ts +54 -0
  75. package/dist/cli/commands/solver-plugins-read.js +259 -0
  76. package/dist/cli/commands/solver-plugins-read.js.map +1 -0
  77. package/dist/cli/commands/solver-plugins.d.ts +35 -0
  78. package/dist/cli/commands/solver-plugins.js +399 -2
  79. package/dist/cli/commands/solver-plugins.js.map +1 -1
  80. package/dist/cli/commands/tasks.js +15 -2
  81. package/dist/cli/commands/tasks.js.map +1 -1
  82. package/dist/cli/index.js +2 -0
  83. package/dist/cli/index.js.map +1 -1
  84. package/dist/cli/task-native-readiness.d.ts +7 -0
  85. package/dist/cli/task-native-readiness.js +7 -5
  86. package/dist/cli/task-native-readiness.js.map +1 -1
  87. package/dist/config.d.ts +183 -232
  88. package/dist/config.js +232 -107
  89. package/dist/config.js.map +1 -1
  90. package/dist/daemon/ai-units-gate.d.ts +54 -0
  91. package/dist/daemon/ai-units-gate.js +82 -0
  92. package/dist/daemon/ai-units-gate.js.map +1 -0
  93. package/dist/daemon/creator.js +13 -0
  94. package/dist/daemon/creator.js.map +1 -1
  95. package/dist/daemon/daemon.d.ts +10 -0
  96. package/dist/daemon/daemon.js +203 -30
  97. package/dist/daemon/daemon.js.map +1 -1
  98. package/dist/daemon/gate-logger.d.ts +9 -0
  99. package/dist/daemon/gate-logger.js +2 -0
  100. package/dist/daemon/gate-logger.js.map +1 -0
  101. package/dist/daemon/readiness-gate.d.ts +1 -4
  102. package/dist/daemon/readiness-gate.js.map +1 -1
  103. package/dist/daemon/spend-cap-gate.d.ts +40 -0
  104. package/dist/daemon/spend-cap-gate.js +46 -0
  105. package/dist/daemon/spend-cap-gate.js.map +1 -0
  106. package/dist/dashboard/assets/index-CvQbxjxy.js +351 -0
  107. package/dist/dashboard/assets/index-CzKxvMcU.css +32 -0
  108. package/dist/dashboard/index.html +2 -2
  109. package/dist/discovery/http.js +328 -1
  110. package/dist/discovery/http.js.map +1 -1
  111. package/dist/discovery/onchain.js +42 -4
  112. package/dist/discovery/onchain.js.map +1 -1
  113. package/dist/discovery/types.d.ts +129 -0
  114. package/dist/discovery/types.js.map +1 -1
  115. package/dist/discovery/with-fallback.js +27 -0
  116. package/dist/discovery/with-fallback.js.map +1 -1
  117. package/dist/earning/bootstrap.d.ts +8 -3
  118. package/dist/earning/bootstrap.js +36 -13
  119. package/dist/earning/bootstrap.js.map +1 -1
  120. package/dist/earning/safe-adapter.js +23 -11
  121. package/dist/earning/safe-adapter.js.map +1 -1
  122. package/dist/earning/types.d.ts +6 -6
  123. package/dist/earning/viem-clients.d.ts +11 -4
  124. package/dist/earning/viem-clients.js +14 -5
  125. package/dist/earning/viem-clients.js.map +1 -1
  126. package/dist/erc8004/identity.d.ts +19 -3
  127. package/dist/erc8004/identity.js +21 -6
  128. package/dist/erc8004/identity.js.map +1 -1
  129. package/dist/erc8004/index.d.ts +1 -1
  130. package/dist/erc8004/index.js.map +1 -1
  131. package/dist/events/types.d.ts +2 -2
  132. package/dist/harnesses/cost-estimates.d.ts +10 -31
  133. package/dist/harnesses/cost-estimates.js +11 -43
  134. package/dist/harnesses/cost-estimates.js.map +1 -1
  135. package/dist/harnesses/engine/engine.d.ts +9 -3
  136. package/dist/harnesses/engine/engine.js +51 -6
  137. package/dist/harnesses/engine/engine.js.map +1 -1
  138. package/dist/harnesses/impls/hermes-agent/bootstrap.js +4 -2
  139. package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
  140. package/dist/harnesses/impls/hermes-agent/config-builder.d.ts +1 -1
  141. package/dist/harnesses/impls/hermes-agent/config-builder.js +4 -2
  142. package/dist/harnesses/impls/hermes-agent/config-builder.js.map +1 -1
  143. package/dist/harnesses/impls/hermes-agent/harness.js +2 -2
  144. package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
  145. package/dist/harnesses/impls/hermes-agent/prompt.d.ts +6 -6
  146. package/dist/harnesses/impls/hermes-agent/prompt.js +6 -6
  147. package/dist/harnesses/impls/learner/adapters/claude-code.d.ts +17 -0
  148. package/dist/harnesses/impls/learner/adapters/claude-code.js +113 -14
  149. package/dist/harnesses/impls/learner/adapters/claude-code.js.map +1 -1
  150. package/dist/harnesses/impls/learner/adapters/codex-code.d.ts +9 -0
  151. package/dist/harnesses/impls/learner/adapters/codex-code.js +30 -8
  152. package/dist/harnesses/impls/learner/adapters/codex-code.js.map +1 -1
  153. package/dist/harnesses/impls/learner/harness.d.ts +9 -0
  154. package/dist/harnesses/impls/learner/harness.js +12 -3
  155. package/dist/harnesses/impls/learner/harness.js.map +1 -1
  156. package/dist/harnesses/impls/learner/harvest.d.ts +1 -1
  157. package/dist/harnesses/impls/learner/harvest.js +23 -5
  158. package/dist/harnesses/impls/learner/harvest.js.map +1 -1
  159. package/dist/harnesses/impls/learner/restoration-patch.d.ts +2 -2
  160. package/dist/harnesses/impls/learner/restoration-patch.js +25 -6
  161. package/dist/harnesses/impls/learner/restoration-patch.js.map +1 -1
  162. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +21 -1
  163. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -1
  164. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.d.ts +74 -5
  165. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js +103 -32
  166. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js.map +1 -1
  167. package/dist/harnesses/readiness-registry.d.ts +7 -0
  168. package/dist/harnesses/readiness-registry.js +9 -0
  169. package/dist/harnesses/readiness-registry.js.map +1 -1
  170. package/dist/learner/revert-decision.d.ts +59 -0
  171. package/dist/learner/revert-decision.js +53 -0
  172. package/dist/learner/revert-decision.js.map +1 -0
  173. package/dist/learner/revert-stats.d.ts +24 -0
  174. package/dist/learner/revert-stats.js +44 -0
  175. package/dist/learner/revert-stats.js.map +1 -0
  176. package/dist/main.js +177 -104
  177. package/dist/main.js.map +1 -1
  178. package/dist/mcp/get-codedigest-reward.d.ts +13 -0
  179. package/dist/mcp/get-codedigest-reward.js +23 -0
  180. package/dist/mcp/get-codedigest-reward.js.map +1 -0
  181. package/dist/mcp/server.js +23 -0
  182. package/dist/mcp/server.js.map +1 -1
  183. package/dist/observability/debug-report-assemble.d.ts +43 -0
  184. package/dist/observability/debug-report-assemble.js +80 -0
  185. package/dist/observability/debug-report-assemble.js.map +1 -0
  186. package/dist/observability/emit-event.d.ts +9 -2
  187. package/dist/observability/emit-event.js +36 -2
  188. package/dist/observability/emit-event.js.map +1 -1
  189. package/dist/observability/file-logger.d.ts +69 -0
  190. package/dist/observability/file-logger.js +177 -0
  191. package/dist/observability/file-logger.js.map +1 -0
  192. package/dist/observability/redact-secrets.d.ts +65 -0
  193. package/dist/observability/redact-secrets.js +300 -0
  194. package/dist/observability/redact-secrets.js.map +1 -0
  195. package/dist/observability/tar.d.ts +30 -0
  196. package/dist/observability/tar.js +102 -0
  197. package/dist/observability/tar.js.map +1 -0
  198. package/dist/plugins/learner/skills/learn/consolidator-prompt.md +18 -1
  199. package/dist/plugins/learner/skills/learn/promoter-prompt.md +72 -1
  200. package/dist/preflight/pidfile-liveness.d.ts +44 -0
  201. package/dist/preflight/pidfile-liveness.js +103 -0
  202. package/dist/preflight/pidfile-liveness.js.map +1 -0
  203. package/dist/preflight/rpc-network.d.ts +40 -0
  204. package/dist/preflight/rpc-network.js +67 -1
  205. package/dist/preflight/rpc-network.js.map +1 -1
  206. package/dist/rpc/transport.d.ts +109 -0
  207. package/dist/rpc/transport.js +220 -0
  208. package/dist/rpc/transport.js.map +1 -0
  209. package/dist/scripts/donation-consumption-acceptance.js +7 -28
  210. package/dist/scripts/donation-consumption-acceptance.js.map +1 -1
  211. package/dist/scripts/swe-rebench-v2-pytest-missing.json +16 -0
  212. package/dist/solver-nets/prediction-operator-ux.d.ts +1 -2
  213. package/dist/solver-nets/prediction-operator-ux.js +56 -53
  214. package/dist/solver-nets/prediction-operator-ux.js.map +1 -1
  215. package/dist/solver-nets/registry.d.ts +19 -1
  216. package/dist/solver-nets/registry.js +37 -24
  217. package/dist/solver-nets/registry.js.map +1 -1
  218. package/dist/solver-types/_swe-rebench-v2-pool.d.ts +9 -2
  219. package/dist/solver-types/_swe-rebench-v2-pool.js +15 -20
  220. package/dist/solver-types/_swe-rebench-v2-pool.js.map +1 -1
  221. package/dist/solver-types/_swe-rebench-v2-state.d.ts +15 -0
  222. package/dist/solver-types/_swe-rebench-v2-state.js +19 -0
  223. package/dist/solver-types/_swe-rebench-v2-state.js.map +1 -1
  224. package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +80 -2
  225. package/dist/solver-types/_swe-rebench-v2-validated-pool.js +242 -21
  226. package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
  227. package/dist/solver-types/swe-rebench-v2-auto.d.ts +20 -11
  228. package/dist/solver-types/swe-rebench-v2-auto.js +64 -19
  229. package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -1
  230. package/dist/solver-types/swe-rebench-v2.d.ts +8 -2
  231. package/dist/solver-types/swe-rebench-v2.js +127 -11
  232. package/dist/solver-types/swe-rebench-v2.js.map +1 -1
  233. package/dist/solvernets/launched-record-dispatcher.d.ts +4 -0
  234. package/dist/solvernets/launched-record-dispatcher.js +10 -4
  235. package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
  236. package/dist/solvernets/registry-client-erc8004.js +11 -0
  237. package/dist/solvernets/registry-client-erc8004.js.map +1 -1
  238. package/dist/solvernets/store.d.ts +2 -2
  239. package/dist/spend/ai-units-config.d.ts +37 -0
  240. package/dist/spend/ai-units-config.js +26 -0
  241. package/dist/spend/ai-units-config.js.map +1 -0
  242. package/dist/spend/ai-units.d.ts +86 -0
  243. package/dist/spend/ai-units.js +163 -0
  244. package/dist/spend/ai-units.js.map +1 -0
  245. package/dist/spend/cost-surface-status.d.ts +10 -0
  246. package/dist/spend/cost-surface-status.js +22 -0
  247. package/dist/spend/cost-surface-status.js.map +1 -0
  248. package/dist/spend/credential.d.ts +8 -0
  249. package/dist/spend/credential.js +30 -0
  250. package/dist/spend/credential.js.map +1 -0
  251. package/dist/spend/daemon-config.d.ts +13 -0
  252. package/dist/spend/daemon-config.js +24 -0
  253. package/dist/spend/daemon-config.js.map +1 -0
  254. package/dist/spend/pricing.d.ts +16 -0
  255. package/dist/spend/pricing.js +26 -0
  256. package/dist/spend/pricing.js.map +1 -0
  257. package/dist/spend/record.d.ts +13 -0
  258. package/dist/spend/record.js +36 -0
  259. package/dist/spend/record.js.map +1 -0
  260. package/dist/spend/usage.d.ts +27 -0
  261. package/dist/spend/usage.js +113 -0
  262. package/dist/spend/usage.js.map +1 -0
  263. package/dist/store/store.d.ts +101 -0
  264. package/dist/store/store.js +304 -4
  265. package/dist/store/store.js.map +1 -1
  266. package/dist/trajectory/transcript-parsers/codex-session.d.ts +12 -6
  267. package/dist/trajectory/transcript-parsers/codex-session.js +114 -13
  268. package/dist/trajectory/transcript-parsers/codex-session.js.map +1 -1
  269. package/dist/trajectory/transcript-parsers/types.d.ts +8 -8
  270. package/dist/trajectory/transcript-session-dirs.d.ts +18 -0
  271. package/dist/trajectory/transcript-session-dirs.js +85 -0
  272. package/dist/trajectory/transcript-session-dirs.js.map +1 -0
  273. package/dist/trajectory/transcript-watcher.d.ts +20 -1
  274. package/dist/trajectory/transcript-watcher.js +98 -32
  275. package/dist/trajectory/transcript-watcher.js.map +1 -1
  276. package/dist/tx-retry.d.ts +15 -0
  277. package/dist/tx-retry.js +37 -7
  278. package/dist/tx-retry.js.map +1 -1
  279. package/dist/types/payloads/portfolio-v0.d.ts +3 -3
  280. package/dist/types/payloads/prediction-apy-v0.d.ts +3 -3
  281. package/dist/types/payloads/prediction-v0.d.ts +12 -12
  282. package/package.json +10 -3
  283. package/plugins/learner/skills/learn/consolidator-prompt.md +18 -1
  284. package/plugins/learner/skills/learn/promoter-prompt.md +72 -1
  285. package/plugins/swe-rebench-v2-diffmin/README.md +10 -9
  286. package/plugins/swe-rebench-v2-diffmin/jinn.plugin.json +1 -1
  287. package/plugins/swe-rebench-v2-diffmin/skills/diffmin/SKILL.md +15 -10
  288. package/plugins/swe-rebench-v2-diffmin/skills/test-map/SKILL.md +10 -12
  289. package/plugins/swe-rebench-v2-runtime/.claude-plugin/plugin.json +1 -1
  290. package/plugins/swe-rebench-v2-runtime/.codex-plugin/plugin.json +3 -3
  291. package/plugins/swe-rebench-v2-runtime/README.md +6 -6
  292. package/plugins/swe-rebench-v2-runtime/jinn.plugin.json +2 -3
  293. package/plugins/swe-rebench-v2-runtime/skills/task/SKILL.md +81 -0
  294. package/dist/dashboard/assets/index-BUlE8F3Y.js +0 -330
  295. package/dist/dashboard/assets/index-blqc7eqq.css +0 -32
  296. package/plugins/swe-rebench-v2-runtime/skills/orient/SKILL.md +0 -29
  297. package/plugins/swe-rebench-v2-runtime/skills/plan/SKILL.md +0 -53
@@ -55,14 +55,56 @@ function withWriteLock(file, fn) {
55
55
  * `upstreamEvalCommit`) and extended ungradeable classifier
56
56
  * (venv collision, missing pytest, dependency warnings, conftest
57
57
  * import/setup failures) — jinn-mono-fufn.
58
+ * '4' — adds the buildTestCommands pytest-install guard (#493): for
59
+ * parse_log_pytest rows whose install_config.install does not
60
+ * already mention pytest, prepend a best-effort install line so
61
+ * the `ungradeable:pytest_missing` bucket (the highest-yield
62
+ * capacity blocker on the Stage-1 histogram) becomes scorable.
63
+ * The v3→v4 transition is a *targeted* migration, not a wholesale
64
+ * invalidation: only `ungradeable:pytest_missing` entries can flip
65
+ * under the install guard, so they alone are dropped (re-validated);
66
+ * every other verdict (scorable, gold-patch-not-resolved,
67
+ * transient/error/other ungradeable) is carried forward verbatim
68
+ * (see {@link loadOrMigrateFile}).
58
69
  */
59
- export const EVAL_SEMANTICS_VERSION = '3';
70
+ export const EVAL_SEMANTICS_VERSION = '4';
60
71
  const SCHEMA_VERSION = 'swe-rebench-v2-validated-pool.v1';
61
72
  export const SWE_REBENCH_V2_VETTED_POOL_ARTIFACT_TYPE = 'swe-rebench-v2-vetted-pool.v1';
62
73
  export const SOLVERNET_ARTIFACT_REF_SCHEMA_VERSION = 'solvernet.artifact-ref.v1';
63
74
  export const VETTED_POOL_REF_ELIGIBILITY_KEY = 'vettedPoolRef';
64
75
  const PUBLICATION_SCHEMA_VERSION = 'swe-rebench-v2-vetted-pool-publication.v1';
65
76
  const PUBLICATION_FILE = 'vetted-pool-artifact-publication.json';
77
+ /**
78
+ * Cap on consecutive transient passes before an instance flips to the
79
+ * terminal `error:HF-429-permanent-after-5-passes` reason. Issue #578: the
80
+ * AC says "the failure is still recorded for visibility, but the validation
81
+ * pipeline distinguishes transient from permanent so the next run reprocesses
82
+ * these instances"; this is the convergence boundary that keeps a
83
+ * permanently-broken split from churning forever.
84
+ */
85
+ export const MAX_TRANSIENT_PASSES = 5;
86
+ const PERMANENT_HF_429_REASON = `error:HF-429-permanent-after-${MAX_TRANSIENT_PASSES}-passes`;
87
+ /**
88
+ * The operator-environment subset of `EvalCouldNotGradeError` reasons that are
89
+ * worth a bounded retry rather than being cached terminal (issue #811). These
90
+ * may differ on a later pass — Docker comes back, a stale `.venv` is cleaned,
91
+ * the host's missing venv is provisioned. `image_arch_mismatch` is fixed
92
+ * per-machine, but the bounded retry caps the waste: it converges to the
93
+ * terminal `ungradeable:` reason after {@link MAX_TRANSIENT_PASSES}, so there
94
+ * is no infinite loop.
95
+ *
96
+ * Every OTHER `EvalCouldNotGradeError` reason (pytest_missing,
97
+ * install_build_failed, conftest_import_error, requests_dep_mismatch,
98
+ * eval_setup_error, …) is a real per-instance problem where a blind retry
99
+ * won't help; those stay `ungradeable:` terminal. `pytest_missing` in
100
+ * particular needs the #493 code fix, not a retry.
101
+ */
102
+ export const TRANSIENT_INFRA_REASONS = new Set([
103
+ 'docker_unavailable',
104
+ 'venv_collision',
105
+ 'venv_missing',
106
+ 'image_arch_mismatch',
107
+ ]);
66
108
  function freshFile(evalSemanticsVersion) {
67
109
  return { schemaVersion: SCHEMA_VERSION, evalSemanticsVersion, updatedAt: new Date().toISOString(), entries: {} };
68
110
  }
@@ -72,6 +114,59 @@ function isValidFile(raw, evalSemanticsVersion) {
72
114
  raw.evalSemanticsVersion === evalSemanticsVersion &&
73
115
  typeof raw.entries === 'object' && raw.entries !== null);
74
116
  }
117
+ /** Structurally a `ValidatedPoolFile` at *any* semantics version (schema + entries shape). */
118
+ function hasValidShape(raw) {
119
+ return (typeof raw === 'object' && raw !== null &&
120
+ raw.schemaVersion === SCHEMA_VERSION &&
121
+ typeof raw.evalSemanticsVersion === 'string' &&
122
+ typeof raw.entries === 'object' && raw.entries !== null);
123
+ }
124
+ /**
125
+ * Explicit, version-keyed carry-forward migrations. A migration maps the source
126
+ * version's entries onto the target version's entries; only verdict classes that
127
+ * the target's grading change could flip are dropped (so the validate loop
128
+ * re-processes them), everything else is carried forward verbatim.
129
+ *
130
+ * Why: the only thing the v4 buildTestCommands pytest-install guard can alter is a
131
+ * `parse_log_pytest` instance whose install lacked pytest — i.e. exactly the
132
+ * `ungradeable:pytest_missing` bucket. Every other verdict (scorable
133
+ * `gold-patch-resolves`, `gold-patch-not-resolved`, transient/error/other
134
+ * ungradeable) ran the test runner or is install-independent, so its verdict
135
+ * cannot change under v4 and is carried forward unchanged. A future v4→vN bump
136
+ * must add its own entry here choosing which verdicts it can flip — this is NOT a
137
+ * general "carry forward everything except pytest_missing" rule.
138
+ */
139
+ const MIGRATIONS = {
140
+ // from version '3' → to version '4'
141
+ '3': {
142
+ '4': (entries) => Object.fromEntries(Object.entries(entries).filter(([, e]) => e.reason !== 'ungradeable:pytest_missing')),
143
+ },
144
+ };
145
+ /**
146
+ * Load `raw` for `targetVersion`, applying a defined migration where one exists.
147
+ * Pure — callers persist the result via their own write path.
148
+ *
149
+ * - already valid at `targetVersion` → returned as-is.
150
+ * - structurally valid at a prior version with a defined migration → migrated
151
+ * file (carried-forward entries keep their original `checkedAt`/verdict).
152
+ * - otherwise (unknown/unmapped version, wrong schema, garbage) → `freshFile`.
153
+ */
154
+ function loadOrMigrateFile(raw, targetVersion) {
155
+ if (isValidFile(raw, targetVersion))
156
+ return raw;
157
+ if (hasValidShape(raw)) {
158
+ const migrate = MIGRATIONS[raw.evalSemanticsVersion]?.[targetVersion];
159
+ if (migrate) {
160
+ return {
161
+ schemaVersion: SCHEMA_VERSION,
162
+ evalSemanticsVersion: targetVersion,
163
+ updatedAt: new Date().toISOString(),
164
+ entries: migrate(raw.entries),
165
+ };
166
+ }
167
+ }
168
+ return freshFile(targetVersion);
169
+ }
75
170
  function publicationPath(stateDir) {
76
171
  return resolvePath(join(stateDir, PUBLICATION_FILE));
77
172
  }
@@ -241,7 +336,7 @@ export class ValidatedPoolStore {
241
336
  if (this.cache && this.cache.evalSemanticsVersion === evalSemanticsVersion)
242
337
  return this.cache;
243
338
  const raw = await this.readRaw();
244
- this.cache = isValidFile(raw, evalSemanticsVersion) ? raw : freshFile(evalSemanticsVersion);
339
+ this.cache = loadOrMigrateFile(raw, evalSemanticsVersion);
245
340
  return this.cache;
246
341
  }
247
342
  async writeAtomic(file) {
@@ -258,19 +353,23 @@ export class ValidatedPoolStore {
258
353
  return cached.ids;
259
354
  }
260
355
  const raw = await this.readRaw();
261
- const ids = isValidFile(raw, evalSemanticsVersion)
262
- ? new Set(Object.entries(raw.entries).filter(([, e]) => e.scorable).map(([id]) => id))
356
+ // No data on disk (or wrong schema/unmapped version) stays `null` — the
357
+ // generator's no-validation-data floor. A migratable prior version yields
358
+ // the carried-forward scorable set, never `null`.
359
+ const ids = (isValidFile(raw, evalSemanticsVersion) || (hasValidShape(raw) && MIGRATIONS[raw.evalSemanticsVersion]?.[evalSemanticsVersion]))
360
+ ? new Set(Object.entries(loadOrMigrateFile(raw, evalSemanticsVersion).entries).filter(([, e]) => e.scorable).map(([id]) => id))
263
361
  : null;
264
362
  this.scorableIdsCache = { mtimeMs, semanticsVersion: evalSemanticsVersion, ids };
265
363
  return ids;
266
364
  }
267
365
  async getScorableEntries(evalSemanticsVersion) {
268
366
  const raw = await this.readRaw();
269
- if (!isValidFile(raw, evalSemanticsVersion))
367
+ if (!isValidFile(raw, evalSemanticsVersion) && !(hasValidShape(raw) && MIGRATIONS[raw.evalSemanticsVersion]?.[evalSemanticsVersion]))
270
368
  return null;
369
+ const file = loadOrMigrateFile(raw, evalSemanticsVersion);
271
370
  return {
272
- updatedAt: raw.updatedAt,
273
- entries: Object.fromEntries(Object.entries(raw.entries).filter(([, entry]) => entry.scorable)),
371
+ updatedAt: file.updatedAt,
372
+ entries: Object.fromEntries(Object.entries(file.entries).filter(([, entry]) => entry.scorable)),
274
373
  };
275
374
  }
276
375
  /** The entry for `instanceId`, or `null` if not validated for this semantics version. */
@@ -285,7 +384,7 @@ export class ValidatedPoolStore {
285
384
  this.cache = null;
286
385
  this.scorableIdsCache = null;
287
386
  const raw = await this.readRaw();
288
- const file = isValidFile(raw, evalSemanticsVersion) ? raw : freshFile(evalSemanticsVersion);
387
+ const file = loadOrMigrateFile(raw, evalSemanticsVersion);
289
388
  file.entries[instanceId] = entry;
290
389
  file.updatedAt = new Date().toISOString();
291
390
  await this.writeAtomic(file);
@@ -293,6 +392,50 @@ export class ValidatedPoolStore {
293
392
  });
294
393
  }
295
394
  }
395
+ /**
396
+ * Collapse a stored `reason` string into a histogram bucket. Diagnostic
397
+ * detail (`(f2p X, p2p_broke Y)`, the verbatim HF 429 message) is kept on
398
+ * the entry for debugging, but the bucket name is what matters for the
399
+ * #493 reason-histogram CLI. Unknown reasons pass through unchanged.
400
+ */
401
+ export function normalizeReason(reason) {
402
+ if (reason.startsWith('gold-patch-not-resolved'))
403
+ return 'gold-patch-not-resolved';
404
+ if (reason.startsWith('transient:HF-429:'))
405
+ return 'transient:HF-429';
406
+ // Pre-#578 legacy: 429s recorded as `error:HF datasets-server returned 429 for ...`.
407
+ if (/^error:HF datasets-server returned 429\b/.test(reason))
408
+ return 'error:HF-429';
409
+ return reason;
410
+ }
411
+ /**
412
+ * Read-only summary of a `validated-pool.json` file. Counts entries by
413
+ * normalised reason (see {@link normalizeReason}) and returns the buckets
414
+ * sorted descending by count, with ties broken alphabetically by reason.
415
+ */
416
+ export function summarizeValidatedPool(file) {
417
+ if (!isObject(file) || !isObject(file['entries'])) {
418
+ throw new Error('summarizeValidatedPool: file must include an `entries` object');
419
+ }
420
+ let scorable = 0;
421
+ let unscorable = 0;
422
+ const counts = new Map();
423
+ for (const entry of Object.values(file['entries'])) {
424
+ if (!isObject(entry))
425
+ continue;
426
+ const raw = typeof entry['reason'] === 'string' ? entry['reason'] : 'unknown';
427
+ const reason = normalizeReason(raw);
428
+ counts.set(reason, (counts.get(reason) ?? 0) + 1);
429
+ if (entry['scorable'] === true)
430
+ scorable += 1;
431
+ else
432
+ unscorable += 1;
433
+ }
434
+ const byReason = [...counts.entries()]
435
+ .map(([reason, count]) => ({ reason, count }))
436
+ .sort((a, b) => (b.count - a.count) || a.reason.localeCompare(b.reason));
437
+ return { totalEntries: scorable + unscorable, scorable, unscorable, byReason };
438
+ }
296
439
  export async function exportScorableVettedPoolArtifact(store, evalSemanticsVersion, opts = {}) {
297
440
  const scorable = await store.getScorableEntries(evalSemanticsVersion);
298
441
  if (!scorable)
@@ -415,6 +558,28 @@ function reasonOf(err) {
415
558
  return typeof err === 'object' && err !== null && typeof err.reason === 'string'
416
559
  ? err.reason : 'unknown';
417
560
  }
561
+ /**
562
+ * Build a bounded-transient `ValidatedPoolEntry`. Shared by the HF-429 branch
563
+ * and the operator-environment infra branch (issue #811): both record a
564
+ * `transient:` reason that the next non-force pass re-processes, bumping
565
+ * `transientRetryCount` until it reaches {@link MAX_TRANSIENT_PASSES}, at which
566
+ * point the reason converges to a permanent terminal so a permanently-broken
567
+ * instance stops churning.
568
+ */
569
+ function buildBoundedTransientEntry(args) {
570
+ const next = args.priorCount + 1;
571
+ const reason = next >= MAX_TRANSIENT_PASSES ? args.permanentReason : args.transientReason;
572
+ return {
573
+ scorable: false,
574
+ reason,
575
+ checkedAt: args.checkedAt,
576
+ transientRetryCount: next,
577
+ lastTransientAt: args.checkedAt,
578
+ ...(args.rowHash ? { rowHash: args.rowHash } : {}),
579
+ ...(args.imageName ? { imageName: args.imageName } : {}),
580
+ ...(args.upstreamEvalCommit ? { upstreamEvalCommit: args.upstreamEvalCommit } : {}),
581
+ };
582
+ }
418
583
  /**
419
584
  * Validate pool instances by running their gold patch through the eval harness.
420
585
  * Idempotent: instances already recorded for `semanticsVersion` are skipped
@@ -438,8 +603,19 @@ export async function validatePoolInstances(pool, deps, opts = {}) {
438
603
  summary.skipped += 1;
439
604
  continue;
440
605
  }
441
- if (!opts.force && (await deps.store.getEntry(task.instance_id, deps.semanticsVersion))) {
442
- continue; // already validated for this semantics version
606
+ if (!opts.force) {
607
+ const priorEntry = await deps.store.getEntry(task.instance_id, deps.semanticsVersion);
608
+ if (priorEntry !== null) {
609
+ // Transient entries below the convergence boundary are intentionally
610
+ // re-processed on the next pass (issue #578 AC2 — "the next run
611
+ // reprocesses these instances"). Everything else (terminal) is
612
+ // skipped under the existing idempotence guard.
613
+ const isTransient = priorEntry.reason.startsWith('transient:');
614
+ const count = priorEntry.transientRetryCount ?? 0;
615
+ if (!(isTransient && count < MAX_TRANSIENT_PASSES)) {
616
+ continue; // already validated (terminal) for this semantics version
617
+ }
618
+ }
443
619
  }
444
620
  if (!task.patch || !task.test_patch) {
445
621
  await deps.store.record(task.instance_id, { scorable: false, reason: 'missing-gold-patch', checkedAt: new Date().toISOString() }, deps.semanticsVersion);
@@ -507,17 +683,62 @@ export async function validatePoolInstances(pool, deps, opts = {}) {
507
683
  }
508
684
  }
509
685
  catch (err) {
510
- const reason = nameOf(err) === 'EvalCouldNotGradeError'
511
- ? `ungradeable:${reasonOf(err)}`
512
- : `error:${(err instanceof Error ? err.message : String(err)).slice(0, 200)}`;
513
- entry = {
514
- scorable: false,
515
- reason,
516
- checkedAt: new Date().toISOString(),
517
- ...(rowHash ? { rowHash } : {}),
518
- ...(row ? { imageName: row.image_name } : {}),
519
- ...(upstreamEvalCommit ? { upstreamEvalCommit } : {}),
520
- };
686
+ const httpStatus = typeof err?.httpStatus === 'number'
687
+ ? err.httpStatus
688
+ : undefined;
689
+ const checkedAt = new Date().toISOString();
690
+ const evalInfraReason = nameOf(err) === 'EvalCouldNotGradeError' ? reasonOf(err) : null;
691
+ if (httpStatus === 429) {
692
+ // Transient HF rate-limit: classify so the next pass re-processes
693
+ // (issue #578). Re-read the prior entry inside the catch so the
694
+ // count reflects the persisted state, not a stale in-memory copy.
695
+ const priorEntry = await deps.store.getEntry(task.instance_id, deps.semanticsVersion);
696
+ const msg = (err instanceof Error ? err.message : String(err)).slice(0, 200);
697
+ entry = buildBoundedTransientEntry({
698
+ priorCount: priorEntry?.transientRetryCount ?? 0,
699
+ transientReason: `transient:HF-429:${msg}`,
700
+ permanentReason: PERMANENT_HF_429_REASON,
701
+ checkedAt,
702
+ rowHash,
703
+ imageName: row?.image_name,
704
+ upstreamEvalCommit,
705
+ });
706
+ }
707
+ else if (evalInfraReason !== null && TRANSIENT_INFRA_REASONS.has(evalInfraReason)) {
708
+ // Operator-environment infra failure that may differ on a retry
709
+ // (issue #811). Route through the same bounded-transient path as
710
+ // HF-429 instead of caching it terminal. Re-read the prior entry so
711
+ // the count reflects persisted state. After MAX_TRANSIENT_PASSES it
712
+ // converges to the terminal `ungradeable:<reason>` — the same resting
713
+ // state today's code reaches immediately, just after bounded retries.
714
+ //
715
+ // Histogram: the transient reason is `transient:<infra_reason>` with no
716
+ // message suffix, so it is already a clean self-describing bucket and
717
+ // needs no normalize rule (unlike `transient:HF-429:<msg>`).
718
+ const priorEntry = await deps.store.getEntry(task.instance_id, deps.semanticsVersion);
719
+ entry = buildBoundedTransientEntry({
720
+ priorCount: priorEntry?.transientRetryCount ?? 0,
721
+ transientReason: `transient:${evalInfraReason}`,
722
+ permanentReason: `ungradeable:${evalInfraReason}`,
723
+ checkedAt,
724
+ rowHash,
725
+ imageName: row?.image_name,
726
+ upstreamEvalCommit,
727
+ });
728
+ }
729
+ else {
730
+ const reason = evalInfraReason !== null
731
+ ? `ungradeable:${evalInfraReason}`
732
+ : `error:${(err instanceof Error ? err.message : String(err)).slice(0, 200)}`;
733
+ entry = {
734
+ scorable: false,
735
+ reason,
736
+ checkedAt,
737
+ ...(rowHash ? { rowHash } : {}),
738
+ ...(row ? { imageName: row.image_name } : {}),
739
+ ...(upstreamEvalCommit ? { upstreamEvalCommit } : {}),
740
+ };
741
+ }
521
742
  }
522
743
  await deps.store.record(task.instance_id, entry, deps.semanticsVersion);
523
744
  summary.checked += 1;
@@ -1 +1 @@
1
- {"version":3,"file":"_swe-rebench-v2-validated-pool.js","sourceRoot":"","sources":["../../src/solver-types/_swe-rebench-v2-validated-pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_swe-rebench-v2-validated-pool.js","sourceRoot":"","sources":["../../src/solver-types/_swe-rebench-v2-validated-pool.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,6 @@ import type { TaskCounters } from './_swe-rebench-v2-state.js';
10
10
  import type { AdmissionMode } from './_swe-rebench-v2-validated-pool.js';
11
11
  export interface GeneratorConfig {
12
12
  N_target_successes: number;
13
- N_max_postings_per_task: number;
14
13
  posting_window_ms: number;
15
14
  post_batch_size: number;
16
15
  maxClaimsPerOperator?: number;
@@ -22,7 +21,7 @@ export interface GeneratorConfig {
22
21
  admissionMode?: AdmissionMode;
23
22
  }
24
23
  export declare const DEFAULT_GENERATOR_CONFIG: GeneratorConfig;
25
- export type SweRebenchV2PoolCountKind = 'unposted' | 'live' | 'repostable' | 'saturated' | 'abandoned';
24
+ export type SweRebenchV2PoolCountKind = 'unposted' | 'live' | 'repostable' | 'saturated';
26
25
  export interface SweRebenchV2PoolCounts {
27
26
  poolSize: number;
28
27
  posted: number;
@@ -30,30 +29,40 @@ export interface SweRebenchV2PoolCounts {
30
29
  live: number;
31
30
  repostable: number;
32
31
  saturated: number;
33
- abandoned: number;
32
+ }
33
+ /** Per-instance on-chain claim-budget snapshot, keyed by instance_id, derived
34
+ * by the generator from DiscoveryAPI.getInstanceClaimCounts joined on the
35
+ * instance's last_task_id (#802). */
36
+ export interface InstanceClaimSnapshot {
37
+ consumed: number;
38
+ maxClaims: number;
34
39
  }
35
40
  export interface SelectArgs {
36
41
  pool: PoolTask[];
37
42
  counters: Map<string, TaskCounters>;
38
43
  config: GeneratorConfig;
39
44
  now: number;
45
+ /** Per-instance claim-budget snapshot (#802). Absent entry ⇒ no live posting
46
+ * observed on-chain for that instance. */
47
+ claimCounts?: Map<string, InstanceClaimSnapshot>;
40
48
  /** Language of the most-recently-posted task; used to bias toward a different
41
49
  * language for round-robin balancing. */
42
50
  lastPostedLanguage?: string;
43
51
  }
44
- export declare function classifyPoolTask(counters: TaskCounters, config: GeneratorConfig, now: number): SweRebenchV2PoolCountKind;
52
+ export declare function classifyPoolTask(counters: TaskCounters, config: GeneratorConfig, claim: InstanceClaimSnapshot | undefined, now: number): SweRebenchV2PoolCountKind;
45
53
  export declare function summarizePoolState(args: SelectArgs): SweRebenchV2PoolCounts;
46
54
  /**
47
55
  * Choose up to post_batch_size eligible tasks to post on JinnRouter.
48
56
  *
49
- * Eligibility filter:
50
- * - successful_count[task] < N_target_successes
51
- * - posted_count[task] < N_max_postings_per_task
52
- * - no live posting within posting_window_ms
57
+ * Eligibility (#802):
58
+ * - successful_count[task] < N_target_successes (else saturated)
59
+ * - the instance has no live on-chain posting: either unposted, or its
60
+ * last posting's claim budget is exhausted (consumed >= maxClaims) or has
61
+ * left the claimable set.
53
62
  *
54
- * Among eligible tasks, prefer a different language than the last-posted one
55
- * (simple round-robin balance). Tie-break by lower posted_count, then by
56
- * earliest last_posted_at, then by instance_id (deterministic).
63
+ * Among eligible tasks, prefer a different language than the last-posted one.
64
+ * Tie-break by lower posted_count, then earliest last_posted_at, then
65
+ * instance_id (deterministic).
57
66
  */
58
67
  export declare function selectNextPostingCandidates(args: SelectArgs): PoolTask[];
59
68
  export declare function selectNextPostingCandidate(args: SelectArgs): PoolTask | undefined;
@@ -7,19 +7,46 @@
7
7
  */
8
8
  export const DEFAULT_GENERATOR_CONFIG = {
9
9
  N_target_successes: 5,
10
- N_max_postings_per_task: 10,
11
- posting_window_ms: 24 * 60 * 60 * 1000,
10
+ // #802: the repost trigger is claim-budget exhaustion (indexer-observed), not
11
+ // a posting count. The former N_max_postings_per_task abandon cap is removed —
12
+ // hard instances retry indefinitely until they reach N successes.
13
+ posting_window_ms: 24 * 60 * 60 * 1000, // on-chain claim-window deadline only (AC#5)
12
14
  post_batch_size: 25,
13
15
  claimLeaseTtlSeconds: 60 * 60,
14
16
  };
15
- export function classifyPoolTask(counters, config, now) {
17
+ export function classifyPoolTask(counters, config, claim, now) {
18
+ // saturated is the first branch and is unchanged (AC#2).
16
19
  if (counters.successful >= config.N_target_successes)
17
20
  return 'saturated';
18
- if (counters.posted >= config.N_max_postings_per_task)
19
- return 'abandoned';
20
- if (counters.posted === 0 || counters.last_posted_at === 0)
21
+ // Never posted unposted.
22
+ if (counters.posted === 0 || !counters.last_task_id)
21
23
  return 'unposted';
22
- return now - counters.last_posted_at >= config.posting_window_ms ? 'repostable' : 'live';
24
+ // #826/#850 deadlock fix: the on-chain claim window (last_posted_at +
25
+ // posting_window_ms) closes independently of budget consumption. Once it
26
+ // passes, TaskCoordinator.claimTask reverts TCClaimWindowClosed
27
+ // (contracts/src/tasks/TaskCoordinator.sol:328) — the remaining slots are
28
+ // permanently unclaimable, so the exhaustion trigger below can never fire and
29
+ // the posting would strand `live` forever. Window expiry is NOT an on-chain
30
+ // event or state change (no event, no flag), so it must be computed locally.
31
+ // Repost on EITHER exhaustion OR expiry.
32
+ const windowExpired = now - counters.last_posted_at >= config.posting_window_ms;
33
+ // Posted, but the claim snapshot has no entry for this last_task_id. The
34
+ // indexer never deletes task rows (finalized/refunded are flags, and the
35
+ // leg-1 query carries no lifecycle filter, so a finalized/refunded task is
36
+ // still present with consumed >= maxClaims ⇒ classified repostable below).
37
+ // The usual cause of a missing entry for a known last_task_id is indexing lag
38
+ // (or a reorg): the task was posted on-chain but the indexer has not reflected
39
+ // it yet. Treat it as `live` (assume not-yet-indexed) — returning `repostable`
40
+ // here would re-post a just-posted task before the indexer sees it
41
+ // (double-post, #802 #3), and in onchain mode — where getInstanceClaimCounts
42
+ // is an empty-success floor — would storm every posting every tick (#802 #2).
43
+ // BUT if the posting window has already elapsed, the post is definitively dead
44
+ // (claims can no longer land) and must be reposted regardless of the snapshot.
45
+ if (!claim)
46
+ return windowExpired ? 'repostable' : 'live';
47
+ // Live while the on-chain claim budget has slots left AND the window is open;
48
+ // exhausted OR window-expired ⇒ repostable.
49
+ return claim.consumed >= claim.maxClaims || windowExpired ? 'repostable' : 'live';
23
50
  }
24
51
  export function summarizePoolState(args) {
25
52
  const counts = {
@@ -29,37 +56,43 @@ export function summarizePoolState(args) {
29
56
  live: 0,
30
57
  repostable: 0,
31
58
  saturated: 0,
32
- abandoned: 0,
33
59
  };
34
60
  for (const task of args.pool) {
35
61
  const counters = args.counters.get(task.instance_id) ??
36
62
  { posted: 0, successful: 0, last_posted_at: 0 };
37
- counts[classifyPoolTask(counters, args.config, args.now)] += 1;
63
+ const claim = counters.last_task_id
64
+ ? args.claimCounts?.get(counters.last_task_id)
65
+ : undefined;
66
+ counts[classifyPoolTask(counters, args.config, claim, args.now)] += 1;
38
67
  }
39
68
  return counts;
40
69
  }
41
70
  /**
42
71
  * Choose up to post_batch_size eligible tasks to post on JinnRouter.
43
72
  *
44
- * Eligibility filter:
45
- * - successful_count[task] < N_target_successes
46
- * - posted_count[task] < N_max_postings_per_task
47
- * - no live posting within posting_window_ms
73
+ * Eligibility (#802):
74
+ * - successful_count[task] < N_target_successes (else saturated)
75
+ * - the instance has no live on-chain posting: either unposted, or its
76
+ * last posting's claim budget is exhausted (consumed >= maxClaims) or has
77
+ * left the claimable set.
48
78
  *
49
- * Among eligible tasks, prefer a different language than the last-posted one
50
- * (simple round-robin balance). Tie-break by lower posted_count, then by
51
- * earliest last_posted_at, then by instance_id (deterministic).
79
+ * Among eligible tasks, prefer a different language than the last-posted one.
80
+ * Tie-break by lower posted_count, then earliest last_posted_at, then
81
+ * instance_id (deterministic).
52
82
  */
53
83
  export function selectNextPostingCandidates(args) {
84
+ const claimFor = (instanceId) => {
85
+ const tid = args.counters.get(instanceId)?.last_task_id;
86
+ return tid ? args.claimCounts?.get(tid) : undefined;
87
+ };
54
88
  const eligible = args.pool.filter((task) => {
55
89
  const c = args.counters.get(task.instance_id) ??
56
90
  { posted: 0, successful: 0, last_posted_at: 0 };
57
- const kind = classifyPoolTask(c, args.config, args.now);
91
+ const kind = classifyPoolTask(c, args.config, claimFor(task.instance_id), args.now);
58
92
  return kind === 'unposted' || kind === 'repostable';
59
93
  });
60
94
  if (eligible.length === 0)
61
95
  return [];
62
- // Round-robin language preference
63
96
  const differentLanguage = args.lastPostedLanguage
64
97
  ? eligible.filter((t) => t.language !== args.lastPostedLanguage)
65
98
  : eligible;
@@ -73,7 +106,19 @@ export function selectNextPostingCandidates(args) {
73
106
  return cA.last_posted_at - cB.last_posted_at;
74
107
  return a.instance_id.localeCompare(b.instance_id);
75
108
  });
76
- return candidates.slice(0, args.config.post_batch_size);
109
+ // De-dupe instance_ids within the batch (a pool may list an instance twice);
110
+ // each instance gets at most one posting per tick. No abandon cap (#802).
111
+ const seenInstance = new Set();
112
+ const selected = [];
113
+ for (const candidate of candidates) {
114
+ if (selected.length >= args.config.post_batch_size)
115
+ break;
116
+ if (seenInstance.has(candidate.instance_id))
117
+ continue;
118
+ seenInstance.add(candidate.instance_id);
119
+ selected.push(candidate);
120
+ }
121
+ return selected;
77
122
  }
78
123
  export function selectNextPostingCandidate(args) {
79
124
  return selectNextPostingCandidates({ ...args, config: { ...args.config, post_batch_size: 1 } })[0];