@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.
- package/README.md +67 -1
- package/dist/adapters/mech/adapter.d.ts +19 -1
- package/dist/adapters/mech/adapter.js +130 -14
- package/dist/adapters/mech/adapter.js.map +1 -1
- package/dist/adapters/mech/contracts.d.ts +22 -1
- package/dist/adapters/mech/contracts.js +34 -24
- package/dist/adapters/mech/contracts.js.map +1 -1
- package/dist/adapters/mech/safe.d.ts +1 -1
- package/dist/adapters/mech/safe.js +5 -3
- package/dist/adapters/mech/safe.js.map +1 -1
- package/dist/adapters/mech/types.d.ts +6 -1
- package/dist/adapters/mech/types.js.map +1 -1
- package/dist/agent/operator-claude.js +8 -0
- package/dist/agent/operator-claude.js.map +1 -1
- package/dist/api/activity-events-endpoint.d.ts +14 -0
- package/dist/api/activity-events-endpoint.js +59 -0
- package/dist/api/activity-events-endpoint.js.map +1 -0
- package/dist/api/bootstrap-endpoint.d.ts +1 -2
- package/dist/api/bootstrap-endpoint.js +42 -24
- package/dist/api/bootstrap-endpoint.js.map +1 -1
- package/dist/api/codex-doctor-endpoint.d.ts +22 -5
- package/dist/api/codex-doctor-endpoint.js +136 -17
- package/dist/api/codex-doctor-endpoint.js.map +1 -1
- package/dist/api/debug-report-endpoint.d.ts +27 -0
- package/dist/api/debug-report-endpoint.js +157 -0
- package/dist/api/debug-report-endpoint.js.map +1 -0
- package/dist/api/gather-status.d.ts +33 -0
- package/dist/api/gather-status.js +211 -26
- package/dist/api/gather-status.js.map +1 -1
- package/dist/api/hermes-doctor-endpoint.d.ts +15 -7
- package/dist/api/hermes-doctor-endpoint.js +56 -19
- package/dist/api/hermes-doctor-endpoint.js.map +1 -1
- package/dist/api/launcher-status.d.ts +4 -2
- package/dist/api/launcher-status.js +11 -10
- package/dist/api/launcher-status.js.map +1 -1
- package/dist/api/launcher-tasks.d.ts +1 -1
- package/dist/api/launcher-tasks.js +12 -8
- package/dist/api/launcher-tasks.js.map +1 -1
- package/dist/api/operator-artifacts-endpoint.js +73 -6
- package/dist/api/operator-artifacts-endpoint.js.map +1 -1
- package/dist/api/portfolio-v0-build.d.ts +7 -1
- package/dist/api/portfolio-v0-build.js +6 -2
- package/dist/api/portfolio-v0-build.js.map +1 -1
- package/dist/api/prediction-v1-build.d.ts +6 -0
- package/dist/api/prediction-v1-build.js +3 -1
- package/dist/api/prediction-v1-build.js.map +1 -1
- package/dist/api/server.d.ts +17 -0
- package/dist/api/server.js +40 -1
- package/dist/api/server.js.map +1 -1
- package/dist/api/setup-endpoints.d.ts +0 -9
- package/dist/api/setup-endpoints.js +11 -153
- package/dist/api/setup-endpoints.js.map +1 -1
- package/dist/api/solvernets-endpoints.js +30 -63
- package/dist/api/solvernets-endpoints.js.map +1 -1
- package/dist/api/status-build.d.ts +115 -2
- package/dist/api/status-build.js +47 -11
- package/dist/api/status-build.js.map +1 -1
- package/dist/api/status-harness-rollup.d.ts +35 -0
- package/dist/api/status-harness-rollup.js +45 -0
- package/dist/api/status-harness-rollup.js.map +1 -0
- package/dist/api/task-runs-build.d.ts +8 -0
- package/dist/api/task-runs-build.js +5 -1
- package/dist/api/task-runs-build.js.map +1 -1
- package/dist/build-info.json +4 -4
- package/dist/build-meta.json +1 -1
- package/dist/captures/live-publisher.js +24 -4
- package/dist/captures/live-publisher.js.map +1 -1
- package/dist/captures/publish.d.ts +1 -1
- package/dist/chain-read-errors.d.ts +12 -0
- package/dist/chain-read-errors.js +26 -1
- package/dist/chain-read-errors.js.map +1 -1
- package/dist/cli/commands/codedigest-revert-check.d.ts +33 -0
- package/dist/cli/commands/codedigest-revert-check.js +249 -0
- package/dist/cli/commands/codedigest-revert-check.js.map +1 -0
- package/dist/cli/commands/solver-nets.d.ts +1 -0
- package/dist/cli/commands/solver-nets.js +177 -22
- package/dist/cli/commands/solver-nets.js.map +1 -1
- package/dist/cli/commands/solver-plugins-block.d.ts +33 -0
- package/dist/cli/commands/solver-plugins-block.js +118 -0
- package/dist/cli/commands/solver-plugins-block.js.map +1 -0
- package/dist/cli/commands/solver-plugins-feedback.d.ts +72 -0
- package/dist/cli/commands/solver-plugins-feedback.js +262 -0
- package/dist/cli/commands/solver-plugins-feedback.js.map +1 -0
- package/dist/cli/commands/solver-plugins-read.d.ts +54 -0
- package/dist/cli/commands/solver-plugins-read.js +259 -0
- package/dist/cli/commands/solver-plugins-read.js.map +1 -0
- package/dist/cli/commands/solver-plugins.d.ts +35 -0
- package/dist/cli/commands/solver-plugins.js +399 -2
- package/dist/cli/commands/solver-plugins.js.map +1 -1
- package/dist/cli/commands/tasks.js +15 -2
- package/dist/cli/commands/tasks.js.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/task-native-readiness.d.ts +7 -0
- package/dist/cli/task-native-readiness.js +7 -5
- package/dist/cli/task-native-readiness.js.map +1 -1
- package/dist/config.d.ts +183 -232
- package/dist/config.js +232 -107
- package/dist/config.js.map +1 -1
- package/dist/daemon/ai-units-gate.d.ts +54 -0
- package/dist/daemon/ai-units-gate.js +82 -0
- package/dist/daemon/ai-units-gate.js.map +1 -0
- package/dist/daemon/creator.js +13 -0
- package/dist/daemon/creator.js.map +1 -1
- package/dist/daemon/daemon.d.ts +10 -0
- package/dist/daemon/daemon.js +203 -30
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/daemon/gate-logger.d.ts +9 -0
- package/dist/daemon/gate-logger.js +2 -0
- package/dist/daemon/gate-logger.js.map +1 -0
- package/dist/daemon/jinn-claim-loop.js +22 -4
- package/dist/daemon/jinn-claim-loop.js.map +1 -1
- package/dist/daemon/readiness-gate.d.ts +1 -4
- package/dist/daemon/readiness-gate.js.map +1 -1
- package/dist/daemon/spend-cap-gate.d.ts +40 -0
- package/dist/daemon/spend-cap-gate.js +46 -0
- package/dist/daemon/spend-cap-gate.js.map +1 -0
- package/dist/dashboard/assets/index-CzKxvMcU.css +32 -0
- package/dist/dashboard/assets/index-yVemxHot.js +351 -0
- package/dist/dashboard/index.html +2 -2
- package/dist/discovery/http.js +328 -1
- package/dist/discovery/http.js.map +1 -1
- package/dist/discovery/onchain.js +42 -4
- package/dist/discovery/onchain.js.map +1 -1
- package/dist/discovery/types.d.ts +129 -0
- package/dist/discovery/types.js.map +1 -1
- package/dist/discovery/with-fallback.js +27 -0
- package/dist/discovery/with-fallback.js.map +1 -1
- package/dist/earning/bootstrap.d.ts +8 -3
- package/dist/earning/bootstrap.js +36 -13
- package/dist/earning/bootstrap.js.map +1 -1
- package/dist/earning/safe-adapter.js +23 -11
- package/dist/earning/safe-adapter.js.map +1 -1
- package/dist/earning/types.d.ts +6 -6
- package/dist/earning/viem-clients.d.ts +11 -4
- package/dist/earning/viem-clients.js +14 -5
- package/dist/earning/viem-clients.js.map +1 -1
- package/dist/erc8004/identity.d.ts +19 -3
- package/dist/erc8004/identity.js +38 -11
- package/dist/erc8004/identity.js.map +1 -1
- package/dist/erc8004/index.d.ts +1 -1
- package/dist/erc8004/index.js.map +1 -1
- package/dist/events/types.d.ts +2 -2
- package/dist/harnesses/cost-estimates.d.ts +10 -31
- package/dist/harnesses/cost-estimates.js +11 -43
- package/dist/harnesses/cost-estimates.js.map +1 -1
- package/dist/harnesses/engine/engine.d.ts +28 -4
- package/dist/harnesses/engine/engine.js +103 -17
- package/dist/harnesses/engine/engine.js.map +1 -1
- package/dist/harnesses/engine/persistence.d.ts +21 -4
- package/dist/harnesses/engine/persistence.js +43 -6
- package/dist/harnesses/engine/persistence.js.map +1 -1
- package/dist/harnesses/engine/state.d.ts +9 -0
- package/dist/harnesses/engine/state.js +23 -10
- package/dist/harnesses/engine/state.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/bootstrap.js +4 -2
- package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/config-builder.d.ts +1 -1
- package/dist/harnesses/impls/hermes-agent/config-builder.js +4 -2
- package/dist/harnesses/impls/hermes-agent/config-builder.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/harness.d.ts +14 -0
- package/dist/harnesses/impls/hermes-agent/harness.js +16 -2
- package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/prompt.d.ts +6 -6
- package/dist/harnesses/impls/hermes-agent/prompt.js +6 -6
- package/dist/harnesses/impls/learner/adapters/claude-code.d.ts +17 -0
- package/dist/harnesses/impls/learner/adapters/claude-code.js +113 -14
- package/dist/harnesses/impls/learner/adapters/claude-code.js.map +1 -1
- package/dist/harnesses/impls/learner/adapters/codex-code.d.ts +9 -0
- package/dist/harnesses/impls/learner/adapters/codex-code.js +30 -8
- package/dist/harnesses/impls/learner/adapters/codex-code.js.map +1 -1
- package/dist/harnesses/impls/learner/harness.d.ts +24 -0
- package/dist/harnesses/impls/learner/harness.js +27 -3
- package/dist/harnesses/impls/learner/harness.js.map +1 -1
- package/dist/harnesses/impls/learner/harvest.d.ts +1 -1
- package/dist/harnesses/impls/learner/harvest.js +23 -5
- package/dist/harnesses/impls/learner/harvest.js.map +1 -1
- package/dist/harnesses/impls/learner/restoration-patch.d.ts +2 -2
- package/dist/harnesses/impls/learner/restoration-patch.js +25 -6
- package/dist/harnesses/impls/learner/restoration-patch.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +21 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.d.ts +74 -5
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js +103 -32
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js.map +1 -1
- package/dist/harnesses/readiness-registry.d.ts +7 -0
- package/dist/harnesses/readiness-registry.js +9 -0
- package/dist/harnesses/readiness-registry.js.map +1 -1
- package/dist/learner/revert-decision.d.ts +59 -0
- package/dist/learner/revert-decision.js +53 -0
- package/dist/learner/revert-decision.js.map +1 -0
- package/dist/learner/revert-stats.d.ts +24 -0
- package/dist/learner/revert-stats.js +44 -0
- package/dist/learner/revert-stats.js.map +1 -0
- package/dist/main.js +177 -104
- package/dist/main.js.map +1 -1
- package/dist/mcp/get-codedigest-reward.d.ts +13 -0
- package/dist/mcp/get-codedigest-reward.js +23 -0
- package/dist/mcp/get-codedigest-reward.js.map +1 -0
- package/dist/mcp/server.js +23 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/observability/debug-report-assemble.d.ts +43 -0
- package/dist/observability/debug-report-assemble.js +80 -0
- package/dist/observability/debug-report-assemble.js.map +1 -0
- package/dist/observability/emit-event.d.ts +9 -2
- package/dist/observability/emit-event.js +36 -2
- package/dist/observability/emit-event.js.map +1 -1
- package/dist/observability/file-logger.d.ts +69 -0
- package/dist/observability/file-logger.js +177 -0
- package/dist/observability/file-logger.js.map +1 -0
- package/dist/observability/redact-secrets.d.ts +65 -0
- package/dist/observability/redact-secrets.js +300 -0
- package/dist/observability/redact-secrets.js.map +1 -0
- package/dist/observability/tar.d.ts +30 -0
- package/dist/observability/tar.js +102 -0
- package/dist/observability/tar.js.map +1 -0
- package/dist/plugins/learner/skills/learn/consolidator-prompt.md +18 -1
- package/dist/plugins/learner/skills/learn/promoter-prompt.md +72 -1
- package/dist/preflight/pidfile-liveness.d.ts +44 -0
- package/dist/preflight/pidfile-liveness.js +103 -0
- package/dist/preflight/pidfile-liveness.js.map +1 -0
- package/dist/preflight/rpc-network.d.ts +40 -0
- package/dist/preflight/rpc-network.js +67 -1
- package/dist/preflight/rpc-network.js.map +1 -1
- package/dist/rpc/transport.d.ts +109 -0
- package/dist/rpc/transport.js +220 -0
- package/dist/rpc/transport.js.map +1 -0
- package/dist/scripts/donation-consumption-acceptance.js +7 -28
- package/dist/scripts/donation-consumption-acceptance.js.map +1 -1
- package/dist/scripts/swe-rebench-v2-pytest-missing.json +16 -0
- package/dist/solver-nets/prediction-operator-ux.d.ts +1 -2
- package/dist/solver-nets/prediction-operator-ux.js +56 -53
- package/dist/solver-nets/prediction-operator-ux.js.map +1 -1
- package/dist/solver-nets/registry.d.ts +19 -1
- package/dist/solver-nets/registry.js +37 -24
- package/dist/solver-nets/registry.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-pool.d.ts +9 -2
- package/dist/solver-types/_swe-rebench-v2-pool.js +15 -20
- package/dist/solver-types/_swe-rebench-v2-pool.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-state.d.ts +15 -0
- package/dist/solver-types/_swe-rebench-v2-state.js +19 -0
- package/dist/solver-types/_swe-rebench-v2-state.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +116 -2
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js +296 -21
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
- package/dist/solver-types/swe-rebench-v2-auto.d.ts +20 -11
- package/dist/solver-types/swe-rebench-v2-auto.js +64 -19
- package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -1
- package/dist/solver-types/swe-rebench-v2.d.ts +8 -2
- package/dist/solver-types/swe-rebench-v2.js +127 -11
- package/dist/solver-types/swe-rebench-v2.js.map +1 -1
- package/dist/solvernets/daemon-init.d.ts +1 -1
- package/dist/solvernets/daemon-init.js +19 -4
- package/dist/solvernets/daemon-init.js.map +1 -1
- package/dist/solvernets/launched-record-dispatcher.d.ts +4 -0
- package/dist/solvernets/launched-record-dispatcher.js +10 -4
- package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
- package/dist/solvernets/registry-client-erc8004.js +11 -0
- package/dist/solvernets/registry-client-erc8004.js.map +1 -1
- package/dist/solvernets/store.d.ts +2 -2
- package/dist/spend/ai-units-config.d.ts +39 -0
- package/dist/spend/ai-units-config.js +28 -0
- package/dist/spend/ai-units-config.js.map +1 -0
- package/dist/spend/ai-units.d.ts +89 -0
- package/dist/spend/ai-units.js +156 -0
- package/dist/spend/ai-units.js.map +1 -0
- package/dist/spend/cost-surface-status.d.ts +12 -0
- package/dist/spend/cost-surface-status.js +24 -0
- package/dist/spend/cost-surface-status.js.map +1 -0
- package/dist/spend/credential.d.ts +39 -0
- package/dist/spend/credential.js +71 -0
- package/dist/spend/credential.js.map +1 -0
- package/dist/spend/daemon-config.d.ts +13 -0
- package/dist/spend/daemon-config.js +24 -0
- package/dist/spend/daemon-config.js.map +1 -0
- package/dist/spend/pricing.d.ts +16 -0
- package/dist/spend/pricing.js +26 -0
- package/dist/spend/pricing.js.map +1 -0
- package/dist/spend/record.d.ts +13 -0
- package/dist/spend/record.js +36 -0
- package/dist/spend/record.js.map +1 -0
- package/dist/spend/usage.d.ts +27 -0
- package/dist/spend/usage.js +113 -0
- package/dist/spend/usage.js.map +1 -0
- package/dist/store/store.d.ts +101 -0
- package/dist/store/store.js +304 -4
- package/dist/store/store.js.map +1 -1
- package/dist/trajectory/transcript-parsers/codex-session.d.ts +12 -6
- package/dist/trajectory/transcript-parsers/codex-session.js +114 -13
- package/dist/trajectory/transcript-parsers/codex-session.js.map +1 -1
- package/dist/trajectory/transcript-parsers/types.d.ts +8 -8
- package/dist/trajectory/transcript-session-dirs.d.ts +18 -0
- package/dist/trajectory/transcript-session-dirs.js +85 -0
- package/dist/trajectory/transcript-session-dirs.js.map +1 -0
- package/dist/trajectory/transcript-watcher.d.ts +20 -1
- package/dist/trajectory/transcript-watcher.js +108 -32
- package/dist/trajectory/transcript-watcher.js.map +1 -1
- package/dist/tx-retry.d.ts +25 -0
- package/dist/tx-retry.js +95 -7
- package/dist/tx-retry.js.map +1 -1
- package/dist/types/payloads/portfolio-v0.d.ts +3 -3
- package/dist/types/payloads/prediction-apy-v0.d.ts +3 -3
- package/dist/types/payloads/prediction-v0.d.ts +12 -12
- package/package.json +11 -3
- package/plugins/learner/skills/learn/consolidator-prompt.md +18 -1
- package/plugins/learner/skills/learn/promoter-prompt.md +72 -1
- package/plugins/swe-rebench-v2-diffmin/README.md +10 -9
- package/plugins/swe-rebench-v2-diffmin/jinn.plugin.json +1 -1
- package/plugins/swe-rebench-v2-diffmin/skills/diffmin/SKILL.md +15 -10
- package/plugins/swe-rebench-v2-diffmin/skills/test-map/SKILL.md +10 -12
- package/plugins/swe-rebench-v2-runtime/.claude-plugin/plugin.json +1 -1
- package/plugins/swe-rebench-v2-runtime/.codex-plugin/plugin.json +3 -3
- package/plugins/swe-rebench-v2-runtime/README.md +6 -6
- package/plugins/swe-rebench-v2-runtime/jinn.plugin.json +2 -3
- package/plugins/swe-rebench-v2-runtime/skills/task/SKILL.md +81 -0
- package/dist/dashboard/assets/index-BUlE8F3Y.js +0 -330
- package/dist/dashboard/assets/index-blqc7eqq.css +0 -32
- package/plugins/swe-rebench-v2-runtime/skills/orient/SKILL.md +0 -29
- 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
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
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
|
|
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
|
-
|
|
14
|
-
|
|
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
|
-
|
|
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
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
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
|
-
|
|
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":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
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":"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"}
|
|
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;
|