@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
@@ -1 +1 @@
1
- {"version":3,"file":"eval-runner.js","sourceRoot":"","sources":["../../../../src/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eval-runner.js","sourceRoot":"","sources":["../../../../src/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.ts"],"names":[],"mappings":"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"}
@@ -19,25 +19,92 @@ export interface HttpHfFetcherOptions {
19
19
  /** Fetch implementation. Defaults to global fetch (allows test injection). */
20
20
  fetchImpl?: typeof fetch;
21
21
  /**
22
- * Per-page retry backoff schedule (ms) for transient HTTP 5xx or network
23
- * errors. Default: [200, 800, 3200]. Each entry is the delay before the
24
- * Nth retry; an empty array disables retries. Non-5xx responses (e.g.
25
- * 404) are not retried they're not transient.
22
+ * Per-page retry backoff schedule (ms) for transient HTTP 408/429/5xx
23
+ * responses. Default: {@link DEFAULT_RETRY_BACKOFF_MS}
24
+ * (`[1000, 2000, 4000, 8000]` see issue #578 for the rationale; HF's
25
+ * 429 wave was longer-lived than the prior 200/800/3200 schedule could
26
+ * clear). Each entry is the delay before the Nth retry; an empty array
27
+ * disables retries. Non-retryable 4xx (e.g. 404) is not retried.
26
28
  */
27
29
  retryBackoffMs?: number[];
28
- /** Minimum spacing between HF HTTP requests. Defaults to 250ms. */
30
+ /** Minimum spacing between HF HTTP requests. Defaults to {@link DEFAULT_MIN_REQUEST_INTERVAL_MS}. */
29
31
  minRequestIntervalMs?: number;
30
32
  /** Sleep implementation. Defaults to the shared tx-retry sleep (allows test injection). */
31
33
  sleep?: (ms: number) => Promise<void>;
32
34
  /** Shared request limiter. Defaults to the module-level HF limiter. */
33
35
  limiter?: HfRequestLimiter;
36
+ /** Random source for jittered backoff. Defaults to `Math.random` (test injection). */
37
+ random?: () => number;
34
38
  }
39
+ /**
40
+ * Per-attempt backoff schedule for HF datasets-server fetches. Four retries
41
+ * (5 total attempts), jittered ±33%, max worst-case ≈15s extra latency per
42
+ * failing instance. Tuned for HF's 429 envelope per issue #578.
43
+ */
44
+ export declare const DEFAULT_RETRY_BACKOFF_MS: readonly number[];
45
+ /**
46
+ * Process-wide floor on the spacing between HF HTTP requests. Raised from
47
+ * 250ms after issue #578 — 250ms × 4 retries was insufficient to clear the
48
+ * 429 wave when validating ~700 instances in one pass. This is the AC3
49
+ * concurrency-cap surface: the shared limiter serialises requests at this
50
+ * granularity across the whole process. Tune via {@link HttpHfFetcherOptions.minRequestIntervalMs}
51
+ * or {@link FetchHfWithRetryOptions.minRequestIntervalMs}; see the design note
52
+ * at `docs/superpowers/specs/2026-05-26-issue-578-hf-429-retry-design.md`.
53
+ */
54
+ export declare const DEFAULT_MIN_REQUEST_INTERVAL_MS = 500;
35
55
  export interface HfRequestLimiter {
36
56
  schedule<T>(fn: () => Promise<T>, opts: {
37
57
  minRequestIntervalMs: number;
38
58
  sleep: (ms: number) => Promise<void>;
39
59
  }): Promise<T>;
40
60
  }
61
+ declare class SharedHfRequestLimiter implements HfRequestLimiter {
62
+ private tail;
63
+ private lastStartedAt;
64
+ schedule<T>(fn: () => Promise<T>, opts: {
65
+ minRequestIntervalMs: number;
66
+ sleep: (ms: number) => Promise<void>;
67
+ }): Promise<T>;
68
+ }
69
+ /**
70
+ * Module-level shared request limiter. Serialises HF requests across the
71
+ * whole process (every callsite that uses {@link fetchHfWithRetry} routes
72
+ * through this instance by default). AC3 from issue #578: this plus the
73
+ * raised {@link DEFAULT_MIN_REQUEST_INTERVAL_MS} *is* the concurrency-cap
74
+ * knob — no separate parallel-request cap is exposed.
75
+ */
76
+ export declare const sharedHfRequestLimiter: SharedHfRequestLimiter;
77
+ export interface FetchHfWithRetryOptions {
78
+ /** Fetch implementation. Defaults to `globalThis.fetch` bound to `globalThis`. */
79
+ fetchImpl?: typeof fetch;
80
+ /** Per-attempt backoff schedule (ms). Defaults to {@link DEFAULT_RETRY_BACKOFF_MS}. */
81
+ retryBackoffMs?: readonly number[];
82
+ /** Minimum spacing between requests. Defaults to {@link DEFAULT_MIN_REQUEST_INTERVAL_MS}. */
83
+ minRequestIntervalMs?: number;
84
+ /** Sleep implementation. Defaults to the shared tx-retry sleep. */
85
+ sleep?: (ms: number) => Promise<void>;
86
+ /** Shared request limiter. Defaults to {@link sharedHfRequestLimiter}. */
87
+ limiter?: HfRequestLimiter;
88
+ /** Random source for jittered backoff. Defaults to `Math.random` (test injection). */
89
+ random?: () => number;
90
+ }
91
+ /**
92
+ * Shared retry helper for HF datasets-server requests.
93
+ *
94
+ * - Retries on `408 | 429 | 5xx` per {@link isRetryableStatus}.
95
+ * - Sleeps the smaller of the `Retry-After` header (when present) or a
96
+ * jittered backoff drawn from `retryBackoffMs`.
97
+ * - Routes every attempt through the shared {@link HfRequestLimiter} so the
98
+ * process-wide min-interval is honoured.
99
+ * - On retry exhaustion against a non-OK response, throws
100
+ * `Object.assign(new Error('HF returned <status>'), { httpStatus })` so
101
+ * callers can branch on the status code (issue #578: the validated-pool
102
+ * pipeline keys off `httpStatus === 429` to classify transient failures).
103
+ *
104
+ * Non-retryable responses (e.g. 404) are returned to the caller untouched —
105
+ * caller decides how to fail.
106
+ */
107
+ export declare function fetchHfWithRetry(url: string, opts?: FetchHfWithRetryOptions): Promise<Response>;
41
108
  export declare class HttpHfFetcher implements HfFetcher {
42
109
  private readonly baseUrl;
43
110
  private readonly pageSize;
@@ -47,6 +114,7 @@ export declare class HttpHfFetcher implements HfFetcher {
47
114
  private readonly minRequestIntervalMs;
48
115
  private readonly sleep;
49
116
  private readonly limiter;
117
+ private readonly random;
50
118
  constructor(opts?: HttpHfFetcherOptions);
51
119
  private fetchWithRetry;
52
120
  fetchTaskRow(args: {
@@ -55,3 +123,4 @@ export declare class HttpHfFetcher implements HfFetcher {
55
123
  instance_id: string;
56
124
  }): Promise<HfRow>;
57
125
  }
126
+ export {};
@@ -10,8 +10,23 @@
10
10
  */
11
11
  import { sleep as defaultSleep } from '../../../tx-retry.js';
12
12
  const DEFAULT_BASE_URL = 'https://datasets-server.huggingface.co/rows';
13
- const DEFAULT_RETRY_BACKOFF_MS = [200, 800, 3200];
14
- const DEFAULT_MIN_REQUEST_INTERVAL_MS = 250;
13
+ /**
14
+ * Per-attempt backoff schedule for HF datasets-server fetches. Four retries
15
+ * (5 total attempts), jittered ±33%, max worst-case ≈15s extra latency per
16
+ * failing instance. Tuned for HF's 429 envelope per issue #578.
17
+ */
18
+ export const DEFAULT_RETRY_BACKOFF_MS = [1000, 2000, 4000, 8000];
19
+ /**
20
+ * Process-wide floor on the spacing between HF HTTP requests. Raised from
21
+ * 250ms after issue #578 — 250ms × 4 retries was insufficient to clear the
22
+ * 429 wave when validating ~700 instances in one pass. This is the AC3
23
+ * concurrency-cap surface: the shared limiter serialises requests at this
24
+ * granularity across the whole process. Tune via {@link HttpHfFetcherOptions.minRequestIntervalMs}
25
+ * or {@link FetchHfWithRetryOptions.minRequestIntervalMs}; see the design note
26
+ * at `docs/superpowers/specs/2026-05-26-issue-578-hf-429-retry-design.md`.
27
+ */
28
+ export const DEFAULT_MIN_REQUEST_INTERVAL_MS = 500;
29
+ const JITTER_FACTOR = 0.33; // ±33% symmetric uniform jitter
15
30
  class SharedHfRequestLimiter {
16
31
  tail = Promise.resolve();
17
32
  lastStartedAt = 0;
@@ -29,7 +44,66 @@ class SharedHfRequestLimiter {
29
44
  return run;
30
45
  }
31
46
  }
32
- const sharedHfRequestLimiter = new SharedHfRequestLimiter();
47
+ /**
48
+ * Module-level shared request limiter. Serialises HF requests across the
49
+ * whole process (every callsite that uses {@link fetchHfWithRetry} routes
50
+ * through this instance by default). AC3 from issue #578: this plus the
51
+ * raised {@link DEFAULT_MIN_REQUEST_INTERVAL_MS} *is* the concurrency-cap
52
+ * knob — no separate parallel-request cap is exposed.
53
+ */
54
+ export const sharedHfRequestLimiter = new SharedHfRequestLimiter();
55
+ /**
56
+ * Shared retry helper for HF datasets-server requests.
57
+ *
58
+ * - Retries on `408 | 429 | 5xx` per {@link isRetryableStatus}.
59
+ * - Sleeps the smaller of the `Retry-After` header (when present) or a
60
+ * jittered backoff drawn from `retryBackoffMs`.
61
+ * - Routes every attempt through the shared {@link HfRequestLimiter} so the
62
+ * process-wide min-interval is honoured.
63
+ * - On retry exhaustion against a non-OK response, throws
64
+ * `Object.assign(new Error('HF returned <status>'), { httpStatus })` so
65
+ * callers can branch on the status code (issue #578: the validated-pool
66
+ * pipeline keys off `httpStatus === 429` to classify transient failures).
67
+ *
68
+ * Non-retryable responses (e.g. 404) are returned to the caller untouched —
69
+ * caller decides how to fail.
70
+ */
71
+ export async function fetchHfWithRetry(url, opts = {}) {
72
+ const fetchImpl = opts.fetchImpl ?? fetch.bind(globalThis);
73
+ const retryBackoffMs = opts.retryBackoffMs ?? DEFAULT_RETRY_BACKOFF_MS;
74
+ const minRequestIntervalMs = opts.minRequestIntervalMs ?? DEFAULT_MIN_REQUEST_INTERVAL_MS;
75
+ const sleep = opts.sleep ?? defaultSleep;
76
+ const limiter = opts.limiter ?? sharedHfRequestLimiter;
77
+ const random = opts.random ?? Math.random;
78
+ for (let attempt = 0; attempt <= retryBackoffMs.length; attempt += 1) {
79
+ let retryAfterMs;
80
+ try {
81
+ const res = await limiter.schedule(() => fetchImpl(url), { minRequestIntervalMs, sleep });
82
+ if (res.ok || !isRetryableStatus(res.status))
83
+ return res;
84
+ if (attempt >= retryBackoffMs.length) {
85
+ throw Object.assign(new Error(`HF returned ${res.status}`), { httpStatus: res.status });
86
+ }
87
+ retryAfterMs = retryAfterHeaderMs(res.headers.get('Retry-After'));
88
+ }
89
+ catch (err) {
90
+ // On the final attempt, surface the error (network failure or the
91
+ // synthetic `httpStatus`-tagged throw above). Otherwise fall through
92
+ // to the backoff sleep and retry.
93
+ if (attempt >= retryBackoffMs.length)
94
+ throw err;
95
+ }
96
+ const base = retryBackoffMs[attempt] ?? 0;
97
+ await sleep(retryAfterMs ?? withJitter(base, random));
98
+ }
99
+ // Unreachable: the loop returns or throws on every iteration. Kept to
100
+ // satisfy TS control-flow analysis.
101
+ throw new Error('HF fetch failed after retries');
102
+ }
103
+ function withJitter(baseMs, random) {
104
+ const jitter = (random() * 2 - 1) * JITTER_FACTOR;
105
+ return Math.round(baseMs * (1 + jitter));
106
+ }
33
107
  export class HttpHfFetcher {
34
108
  baseUrl;
35
109
  pageSize;
@@ -39,6 +113,7 @@ export class HttpHfFetcher {
39
113
  minRequestIntervalMs;
40
114
  sleep;
41
115
  limiter;
116
+ random;
42
117
  constructor(opts = {}) {
43
118
  this.baseUrl = opts.baseUrl ?? DEFAULT_BASE_URL;
44
119
  this.pageSize = Math.min(opts.pageSize ?? 100, 100);
@@ -48,35 +123,17 @@ export class HttpHfFetcher {
48
123
  this.minRequestIntervalMs = opts.minRequestIntervalMs ?? DEFAULT_MIN_REQUEST_INTERVAL_MS;
49
124
  this.sleep = opts.sleep ?? defaultSleep;
50
125
  this.limiter = opts.limiter ?? sharedHfRequestLimiter;
126
+ this.random = opts.random ?? Math.random;
51
127
  }
52
128
  async fetchWithRetry(url) {
53
- let lastErr = null;
54
- for (let attempt = 0; attempt <= this.retryBackoffMs.length; attempt += 1) {
55
- let retryAfterMs;
56
- try {
57
- const res = await this.limiter.schedule(() => this.fetchImpl(url), { minRequestIntervalMs: this.minRequestIntervalMs, sleep: this.sleep });
58
- if (res.ok || !isRetryableStatus(res.status))
59
- return res;
60
- if (attempt >= this.retryBackoffMs.length)
61
- return res;
62
- retryAfterMs = retryAfterHeaderMs(res.headers.get('Retry-After'));
63
- lastErr = new Error(`HF returned ${res.status}`);
64
- }
65
- catch (err) {
66
- lastErr = err;
67
- if (attempt >= this.retryBackoffMs.length) {
68
- if (lastErr instanceof Error)
69
- throw lastErr;
70
- throw new Error('HF fetch failed after retries');
71
- }
72
- }
73
- if (attempt < this.retryBackoffMs.length) {
74
- await this.sleep(retryAfterMs ?? this.retryBackoffMs[attempt]);
75
- }
76
- }
77
- if (lastErr instanceof Error)
78
- throw lastErr;
79
- throw new Error('HF fetch failed after retries');
129
+ return fetchHfWithRetry(url, {
130
+ fetchImpl: this.fetchImpl,
131
+ retryBackoffMs: this.retryBackoffMs,
132
+ minRequestIntervalMs: this.minRequestIntervalMs,
133
+ sleep: this.sleep,
134
+ limiter: this.limiter,
135
+ random: this.random,
136
+ });
80
137
  }
81
138
  async fetchTaskRow(args) {
82
139
  let offset = 0;
@@ -87,9 +144,23 @@ export class HttpHfFetcher {
87
144
  url.searchParams.set('split', args.hf_split);
88
145
  url.searchParams.set('offset', String(offset));
89
146
  url.searchParams.set('length', String(this.pageSize));
90
- const res = await this.fetchWithRetry(url.toString());
147
+ let res;
148
+ try {
149
+ res = await this.fetchWithRetry(url.toString());
150
+ }
151
+ catch (err) {
152
+ // fetchHfWithRetry surfaces `httpStatus` on exhausted-retry errors.
153
+ // Re-shape the message to the dataset/split form callers expect, but
154
+ // preserve the `httpStatus` property so the validated-pool catch
155
+ // block can branch on it (issue #578).
156
+ const httpStatus = err?.httpStatus;
157
+ if (typeof httpStatus === 'number') {
158
+ throw Object.assign(new Error(`HF datasets-server returned ${httpStatus} for ${args.hf_dataset}/${args.hf_split}`), { httpStatus });
159
+ }
160
+ throw err;
161
+ }
91
162
  if (!res.ok) {
92
- throw new Error(`HF datasets-server returned ${res.status} for ${args.hf_dataset}/${args.hf_split}`);
163
+ throw Object.assign(new Error(`HF datasets-server returned ${res.status} for ${args.hf_dataset}/${args.hf_split}`), { httpStatus: res.status });
93
164
  }
94
165
  const body = (await res.json());
95
166
  const rows = (body.rows ?? []).map((r) => r.row ?? {});
@@ -1 +1 @@
1
- {"version":3,"file":"hf-fetcher.js","sourceRoot":"","sources":["../../../../src/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hf-fetcher.js","sourceRoot":"","sources":["../../../../src/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,13 @@ export declare class HarnessReadinessRegistry {
42
42
  start(): void;
43
43
  stop(): void;
44
44
  getSnapshot(): HarnessReadinessSnapshot;
45
+ /**
46
+ * Frozen-at-construction `joinedHarnessesByCid` map. Exposed so callers
47
+ * that already have a registry reference (e.g. the `/v1/status` handler
48
+ * building a HarnessRollup) can pair it with `getSnapshot()` without
49
+ * reaching past the registry's encapsulation boundary.
50
+ */
51
+ getJoinedHarnessesByCid(): Record<string, JoinedHarnessSpec>;
45
52
  isReadyForClaim(manifestCid: string): ReadyStatus;
46
53
  refreshNow(): Promise<void>;
47
54
  private _doRefresh;
@@ -40,6 +40,15 @@ export class HarnessReadinessRegistry {
40
40
  getSnapshot() {
41
41
  return this.snapshot;
42
42
  }
43
+ /**
44
+ * Frozen-at-construction `joinedHarnessesByCid` map. Exposed so callers
45
+ * that already have a registry reference (e.g. the `/v1/status` handler
46
+ * building a HarnessRollup) can pair it with `getSnapshot()` without
47
+ * reaching past the registry's encapsulation boundary.
48
+ */
49
+ getJoinedHarnessesByCid() {
50
+ return this.opts.joinedHarnessesByCid;
51
+ }
43
52
  isReadyForClaim(manifestCid) {
44
53
  const joined = this.opts.joinedHarnessesByCid[manifestCid];
45
54
  if (!joined) {
@@ -1 +1 @@
1
- {"version":3,"file":"readiness-registry.js","sourceRoot":"","sources":["../../src/harnesses/readiness-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA+BH,MAAM,wBAAwB,GAAG,KAAK,CAAC;AACvC,MAAM,2BAA2B,GAAG,KAAK,CAAC;AAE1C,MAAM,OAAO,wBAAwB;IAClB,IAAI,CAA4C;IACzD,QAAQ,GAA6B;QAC3C,eAAe,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;QAC1C,SAAS,EAAE,EAAE;KACd,CAAC;IACM,KAAK,GAA0C,IAAI,CAAC;IACpD,eAAe,GAAG,KAAK,CAAC;IAEhC,YAAY,IAAqC;QAC/C,IAAI,CAAC,IAAI,GAAG;YACV,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,wBAAwB;YAC/D,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,2BAA2B;YACtE,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO;QACvB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACxF,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,eAAe,CAAC,WAAmB;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,eAAe,WAAW,0BAA0B;aAC7D,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW,CAAC,CAAC;QACxF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,sCAAsC,EAAE,CAAC;QAC1E,CAAC;QACD,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO;QACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC/B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,yEAAyE;QACzE,wEAAwE;QACxE,sEAAsE;QACtE,yEAAyE;QACzE,kEAAkE;QAClE,qEAAqE;QACrE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAoB,CAAC;QAClD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YAC1D,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9B,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC3E,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;YAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;oBACL,WAAW,EAAE,IAAI;oBACjB,YAAY,EAAE,IAAI;oBAClB,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,WAAW,IAAI,sCAAsC;oBAC7D,QAAQ,EAAE;wBACR,WAAW,EAAE,sDAAsD;qBACpE;iBACF,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrB,iEAAiE;gBACjE,OAAO;oBACL,WAAW,EAAE,IAAI;oBACjB,YAAY,EAAE,IAAI;oBAClB,KAAK,EAAE,IAAI;iBACZ,CAAC;YACJ,CAAC;YACD,IAAI,CAAC;gBACH,IAAI,aAAwD,CAAC;gBAC7D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBAChC,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;oBACpC,IAAI,OAAO,CAAc,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;wBACrC,aAAa,GAAG,UAAU,CACxB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAC5C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAC3B,CAAC;oBACJ,CAAC,CAAC;iBACH,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;oBACd,IAAI,aAAa,KAAK,SAAS;wBAAE,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC/D,CAAC,CAAC,CAAC;gBACH,OAAO;oBACL,WAAW,EAAE,IAAI;oBACjB,YAAY,EAAE,IAAI;oBAClB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;iBAC1B,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,OAAO;oBACL,WAAW,EAAE,IAAI;oBACjB,YAAY,EAAE,IAAI;oBAClB,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,kBAAkB,GAAG,EAAE;iBAChC,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG;YACd,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACzC,SAAS,EAAE,OAAO;SACnB,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"readiness-registry.js","sourceRoot":"","sources":["../../src/harnesses/readiness-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Revert-decision logic for the learner's Memory-consolidation phase (#764).
3
+ *
4
+ * Given per-codeDigest pass-rate aggregates for a candidate Improve commit
5
+ * (`withCommit`) and its parent (`atParent`), decide whether the commit
6
+ * significantly regressed the frozen-eval pass rate and should be reverted.
7
+ *
8
+ * Thresholds are explicit and documented here (AC4) — not magic constants:
9
+ * - minSamplesPerArm: minimum indexed attempts required in EACH arm before a
10
+ * statistical test is meaningful. Below it, plateau is expected Level-1
11
+ * behaviour, so we abstain (reason 'insufficient_samples').
12
+ * - alpha: significance threshold (revert only when p < alpha, two-sided).
13
+ * - recentAttemptsWindow: how many most-recent attempts per codeDigest the
14
+ * aggregate is computed over. Overridable via implStateDir/policy.json
15
+ * (`policy.revert.recentAttemptsWindow`), mirroring policy.maxNotesBytes.
16
+ */
17
+ export interface RevertPolicy {
18
+ /** Minimum indexed attempts required per arm. Default 30. */
19
+ minSamplesPerArm: number;
20
+ /** Two-sided significance threshold. Default 0.05 (95% confidence). */
21
+ alpha: number;
22
+ /** Recent-attempts window per codeDigest. Default 200. */
23
+ recentAttemptsWindow: number;
24
+ }
25
+ export declare const DEFAULT_REVERT_POLICY: RevertPolicy;
26
+ export interface CodeDigestAggregate {
27
+ codeDigest: string;
28
+ /** Total indexed attempts for this codeDigest (within the window). */
29
+ attempts: number;
30
+ /** Pass count (verdictEnvelopeMeta.actualPassed === true). */
31
+ passes: number;
32
+ /** passes / attempts; 0 when attempts === 0. */
33
+ passRate: number;
34
+ }
35
+ export type RevertReason = 'significant_regression' | 'insufficient_samples' | 'not_significant' | 'no_regression';
36
+ export interface RevertDecisionInput {
37
+ withCommit: CodeDigestAggregate;
38
+ atParent: CodeDigestAggregate;
39
+ }
40
+ export interface RevertDecision {
41
+ withCommit: {
42
+ codeDigest: string;
43
+ n: number;
44
+ passRate: number;
45
+ };
46
+ atParent: {
47
+ codeDigest: string;
48
+ n: number;
49
+ passRate: number;
50
+ };
51
+ delta: number;
52
+ pValue: number;
53
+ significant: boolean;
54
+ recommendRevert: boolean;
55
+ reason: RevertReason;
56
+ }
57
+ export declare function decideRevert(input: RevertDecisionInput, policy?: RevertPolicy): RevertDecision;
58
+ /** Merge a partial policy (e.g. from implStateDir/policy.json) over the defaults. */
59
+ export declare function resolveRevertPolicy(override?: Partial<RevertPolicy>): RevertPolicy;
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Revert-decision logic for the learner's Memory-consolidation phase (#764).
3
+ *
4
+ * Given per-codeDigest pass-rate aggregates for a candidate Improve commit
5
+ * (`withCommit`) and its parent (`atParent`), decide whether the commit
6
+ * significantly regressed the frozen-eval pass rate and should be reverted.
7
+ *
8
+ * Thresholds are explicit and documented here (AC4) — not magic constants:
9
+ * - minSamplesPerArm: minimum indexed attempts required in EACH arm before a
10
+ * statistical test is meaningful. Below it, plateau is expected Level-1
11
+ * behaviour, so we abstain (reason 'insufficient_samples').
12
+ * - alpha: significance threshold (revert only when p < alpha, two-sided).
13
+ * - recentAttemptsWindow: how many most-recent attempts per codeDigest the
14
+ * aggregate is computed over. Overridable via implStateDir/policy.json
15
+ * (`policy.revert.recentAttemptsWindow`), mirroring policy.maxNotesBytes.
16
+ */
17
+ import { twoProportionZTest } from './revert-stats.js';
18
+ export const DEFAULT_REVERT_POLICY = {
19
+ minSamplesPerArm: 30,
20
+ alpha: 0.05,
21
+ recentAttemptsWindow: 200,
22
+ };
23
+ export function decideRevert(input, policy = DEFAULT_REVERT_POLICY) {
24
+ const { withCommit, atParent } = input;
25
+ const base = {
26
+ withCommit: { codeDigest: withCommit.codeDigest, n: withCommit.attempts, passRate: withCommit.passRate },
27
+ atParent: { codeDigest: atParent.codeDigest, n: atParent.attempts, passRate: atParent.passRate },
28
+ };
29
+ // Sample floor first — a zero-attempt codeDigest is "insufficient_samples",
30
+ // NOT pass-rate zero (a fresh promotion that has not run yet is not a regression).
31
+ if (withCommit.attempts < policy.minSamplesPerArm || atParent.attempts < policy.minSamplesPerArm) {
32
+ return { ...base, delta: withCommit.passRate - atParent.passRate, pValue: 1, significant: false, recommendRevert: false, reason: 'insufficient_samples' };
33
+ }
34
+ const stats = twoProportionZTest({
35
+ passesA: withCommit.passes,
36
+ totalA: withCommit.attempts,
37
+ passesB: atParent.passes,
38
+ totalB: atParent.attempts,
39
+ });
40
+ const significant = stats.pValue < policy.alpha;
41
+ if (stats.delta >= 0) {
42
+ return { ...base, delta: stats.delta, pValue: stats.pValue, significant, recommendRevert: false, reason: 'no_regression' };
43
+ }
44
+ if (!significant) {
45
+ return { ...base, delta: stats.delta, pValue: stats.pValue, significant, recommendRevert: false, reason: 'not_significant' };
46
+ }
47
+ return { ...base, delta: stats.delta, pValue: stats.pValue, significant: true, recommendRevert: true, reason: 'significant_regression' };
48
+ }
49
+ /** Merge a partial policy (e.g. from implStateDir/policy.json) over the defaults. */
50
+ export function resolveRevertPolicy(override) {
51
+ return { ...DEFAULT_REVERT_POLICY, ...(override ?? {}) };
52
+ }
53
+ //# sourceMappingURL=revert-decision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revert-decision.js","sourceRoot":"","sources":["../../src/learner/revert-decision.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAWvD,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,gBAAgB,EAAE,EAAE;IACpB,KAAK,EAAE,IAAI;IACX,oBAAoB,EAAE,GAAG;CAC1B,CAAC;AAiCF,MAAM,UAAU,YAAY,CAC1B,KAA0B,EAC1B,SAAuB,qBAAqB;IAE5C,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACvC,MAAM,IAAI,GAAG;QACX,UAAU,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,EAAE,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE;QACxG,QAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;KACjG,CAAC;IAEF,4EAA4E;IAC5E,mFAAmF;IACnF,IAAI,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,gBAAgB,IAAI,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;QACjG,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;IAC5J,CAAC;IAED,MAAM,KAAK,GAAG,kBAAkB,CAAC;QAC/B,OAAO,EAAE,UAAU,CAAC,MAAM;QAC1B,MAAM,EAAE,UAAU,CAAC,QAAQ;QAC3B,OAAO,EAAE,QAAQ,CAAC,MAAM;QACxB,MAAM,EAAE,QAAQ,CAAC,QAAQ;KAC1B,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;IAEhD,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAC7H,CAAC;IACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC/H,CAAC;IACD,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;AAC3I,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,mBAAmB,CAAC,QAAgC;IAClE,OAAO,EAAE,GAAG,qBAAqB,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Pure statistics for the per-codeDigest revert decision (issue #764).
3
+ *
4
+ * Two-proportion z-test on pass/total for "arm A" (codeDigest WITH a candidate
5
+ * Improve commit) vs "arm B" (codeDigest AT the commit's parent). No I/O; unit-
6
+ * tested directly with hand-computed z-values. `delta = pA - pB` (negative means
7
+ * the commit made the pass rate worse).
8
+ */
9
+ export interface TwoProportionInput {
10
+ passesA: number;
11
+ totalA: number;
12
+ passesB: number;
13
+ totalB: number;
14
+ }
15
+ export interface TwoProportionResult {
16
+ /** pA - pB (negative => arm A is worse). */
17
+ delta: number;
18
+ /** Test statistic; sign matches `delta`. 0 when either arm has no samples. */
19
+ z: number;
20
+ /** Two-sided p-value in [0, 1]. 1 when there is no signal. */
21
+ pValue: number;
22
+ }
23
+ /** Two-proportion z-test. Returns no-signal (z=0, p=1) if either total is 0. */
24
+ export declare function twoProportionZTest(input: TwoProportionInput): TwoProportionResult;