@jinn-network/client 0.1.8-canary.9e030dfc → 0.1.8-canary.b63bf9cb

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 (70) hide show
  1. package/dist/api/discovery-endpoint.d.ts +1 -0
  2. package/dist/api/discovery-endpoint.js +24 -0
  3. package/dist/api/discovery-endpoint.js.map +1 -1
  4. package/dist/build-info.json +4 -4
  5. package/dist/build-meta.json +1 -1
  6. package/dist/cli/commands/eval.d.ts +76 -0
  7. package/dist/cli/commands/eval.js +391 -0
  8. package/dist/cli/commands/eval.js.map +1 -0
  9. package/dist/cli/index.js +2 -0
  10. package/dist/cli/index.js.map +1 -1
  11. package/dist/daemon/eviction-loop.d.ts +7 -0
  12. package/dist/daemon/eviction-loop.js +16 -0
  13. package/dist/daemon/eviction-loop.js.map +1 -1
  14. package/dist/dashboard/assets/{index-yVemxHot.js → index-kmbbNL_x.js} +65 -65
  15. package/dist/dashboard/index.html +1 -1
  16. package/dist/discovery/http.js +83 -1
  17. package/dist/discovery/http.js.map +1 -1
  18. package/dist/discovery/onchain.js +81 -1
  19. package/dist/discovery/onchain.js.map +1 -1
  20. package/dist/discovery/types.d.ts +73 -0
  21. package/dist/discovery/types.js +40 -0
  22. package/dist/discovery/types.js.map +1 -1
  23. package/dist/discovery/with-fallback.js +7 -0
  24. package/dist/discovery/with-fallback.js.map +1 -1
  25. package/dist/earning/bootstrap.d.ts +17 -0
  26. package/dist/earning/bootstrap.js +33 -2
  27. package/dist/earning/bootstrap.js.map +1 -1
  28. package/dist/earning/safe-adapter.js +11 -0
  29. package/dist/earning/safe-adapter.js.map +1 -1
  30. package/dist/eval/eval-harness-run.d.ts +63 -0
  31. package/dist/eval/eval-harness-run.js +123 -0
  32. package/dist/eval/eval-harness-run.js.map +1 -0
  33. package/dist/eval/orchestrator.d.ts +121 -0
  34. package/dist/eval/orchestrator.js +174 -0
  35. package/dist/eval/orchestrator.js.map +1 -0
  36. package/dist/eval/resolve-slate-tasks.d.ts +35 -0
  37. package/dist/eval/resolve-slate-tasks.js +56 -0
  38. package/dist/eval/resolve-slate-tasks.js.map +1 -0
  39. package/dist/eval/slope.d.ts +29 -0
  40. package/dist/eval/slope.js +46 -0
  41. package/dist/eval/slope.js.map +1 -0
  42. package/dist/eval/train-sequence.d.ts +35 -0
  43. package/dist/eval/train-sequence.js +59 -0
  44. package/dist/eval/train-sequence.js.map +1 -0
  45. package/dist/eval/wilson.d.ts +45 -0
  46. package/dist/eval/wilson.js +48 -0
  47. package/dist/eval/wilson.js.map +1 -0
  48. package/dist/harnesses/engine/canonical-json.js +5 -3
  49. package/dist/harnesses/engine/canonical-json.js.map +1 -1
  50. package/dist/harnesses/impls/learner/harness.js +6 -1
  51. package/dist/harnesses/impls/learner/harness.js.map +1 -1
  52. package/dist/harnesses/impls/learner/harvest.d.ts +2 -0
  53. package/dist/harnesses/impls/learner/harvest.js +7 -1
  54. package/dist/harnesses/impls/learner/harvest.js.map +1 -1
  55. package/dist/main.js +1 -0
  56. package/dist/main.js.map +1 -1
  57. package/dist/solver-types/_swe-rebench-v2-held-out-slate.d.ts +64 -0
  58. package/dist/solver-types/_swe-rebench-v2-held-out-slate.js +139 -0
  59. package/dist/solver-types/_swe-rebench-v2-held-out-slate.js.map +1 -0
  60. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v1.json +20 -0
  61. package/dist/solver-types/solver-type.d.ts +8 -0
  62. package/dist/solver-types/swe-rebench-v2.js +18 -1
  63. package/dist/solver-types/swe-rebench-v2.js.map +1 -1
  64. package/dist/store/store.d.ts +35 -0
  65. package/dist/store/store.js +76 -0
  66. package/dist/store/store.js.map +1 -1
  67. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2-held-out-slate.d.ts +65 -0
  68. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2-held-out-slate.js +123 -0
  69. package/dist/vendor/@jinn-network/sdk/package.json +4 -0
  70. package/package.json +11 -10
@@ -7,6 +7,7 @@
7
7
  * GET /v1/discovery/builder-artifacts?builderAgentId&limit
8
8
  * GET /v1/discovery/plugin-scores?cid&limit
9
9
  * GET /v1/discovery/solvernet-operator-count?cid
10
+ * GET /v1/discovery/task-post-counts?cid (repeatable)
10
11
  *
11
12
  * Used by the /build SPA route (hfmf) to render published plug-ins, the
12
13
  * local operator's published plug-ins, and per-plug-in score history.
@@ -76,6 +76,30 @@ export function addDiscoveryRoutes(app, config) {
76
76
  return c.json({ error: 'internal_error', detail: err.message }, 503);
77
77
  }
78
78
  });
79
+ // GET /v1/discovery/task-post-counts?cid=<manifestCid>&cid=<...>
80
+ //
81
+ // Windowed on-chain task-post counts (last 1h / 6h / 24h) from TaskCreated
82
+ // events on the active chain. Always returns chain-wide `chain` totals; when
83
+ // one or more `cid` params are present, also returns per-SolverNet totals in
84
+ // `byCid`. Backs the Network "Task posts" panel and the SolverNets index
85
+ // "Recent posts" column (issue #918). See `DiscoveryAPI.getTaskPostCounts`.
86
+ app.get('/v1/discovery/task-post-counts', async (c) => {
87
+ const discovery = getDiscovery();
88
+ if (!discovery) {
89
+ return c.json({ error: 'subsystem_not_ready', message: 'DiscoveryAPI still initialising' }, 503);
90
+ }
91
+ const cids = c.req.queries('cid')?.filter((v) => v.length > 0) ?? [];
92
+ try {
93
+ const result = await discovery.getTaskPostCounts(cids.length > 0 ? { manifestCids: cids } : undefined);
94
+ return c.json(result);
95
+ }
96
+ catch (err) {
97
+ if (err instanceof DiscoveryUnavailableError) {
98
+ return c.json({ error: 'discovery_unavailable' }, 503);
99
+ }
100
+ return c.json({ error: 'internal_error', detail: err.message }, 503);
101
+ }
102
+ });
79
103
  app.get('/v1/discovery/plugin-scores', async (c) => {
80
104
  const discovery = getDiscovery();
81
105
  if (!discovery) {
@@ -1 +1 @@
1
- {"version":3,"file":"discovery-endpoint.js","sourceRoot":"","sources":["../../src/api/discovery-endpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discovery-endpoint.js","sourceRoot":"","sources":["../../src/api/discovery-endpoint.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
- "clientGitSha": "9e030dfc062f221e7a94e64509bad2f279324e7f",
3
- "codeDigest": "sha256:8346e52df52011a1bba49e866627455354969ffe962a85cf1cbe7f3aeae795c0",
4
- "builtAt": "2026-06-02T14:52:20.361Z",
5
- "implVersion": "0.1.8-canary.9e030dfc"
2
+ "clientGitSha": "b63bf9cb35e72ac38b445a0670e0d5d212c9c9ca",
3
+ "codeDigest": "sha256:c05582a4707a02b9c3409bb178d943b4877111f1fcc87a7a00774b99faca82f5",
4
+ "builtAt": "2026-06-02T17:34:16.592Z",
5
+ "implVersion": "0.1.8-canary.b63bf9cb"
6
6
  }
@@ -1,3 +1,3 @@
1
1
  {
2
- "commit": "9e030dfc062f221e7a94e64509bad2f279324e7f"
2
+ "commit": "b63bf9cb35e72ac38b445a0670e0d5d212c9c9ca"
3
3
  }
@@ -0,0 +1,76 @@
1
+ /**
2
+ * `jinn eval <slate-version> --checkpoint <cid>` — run a held-out slate against
3
+ * a checkpoint in frozen mode and emit a resolved-rate comparison vs the parent
4
+ * checkpoint with a Wilson confidence interval (issue #818).
5
+ *
6
+ * The command is a thin shell over `runEval` (orchestrator.ts): a pure
7
+ * `createEvalCommand(deps)` factory tested directly, plus a default
8
+ * `CommandModule` that wires production deps. The orchestration itself
9
+ * (slate load -> resolve tasks -> runEval) is the injected `runPipeline` seam;
10
+ * the live Docker/IPFS wiring is completed in #819's thin slice.
11
+ *
12
+ * Spec: docs/superpowers/specs/2026-05-06-agent-harness-solvernet-design.md
13
+ */
14
+ import type { CommandModule } from '../command.js';
15
+ import { type HarnessCheckpointManifest } from '../../vendor/@jinn-network/sdk/dist/checkpoint.js';
16
+ import { type EvalRunResult, type RunHarnessOnceForEval } from '../../eval/orchestrator.js';
17
+ import { loadConfig } from '../../config.js';
18
+ import type { RuntimePlugin } from '../../harnesses/types.js';
19
+ import { type ClaudeCodeHarnessAdapterConfig } from '../../harnesses/impls/learner/adapters/claude-code.js';
20
+ export interface RunPipelineArgs {
21
+ checkpointCid: string;
22
+ checkpointManifest: HarnessCheckpointManifest;
23
+ solverType: string;
24
+ slateVersion: string;
25
+ parentCheckpointCid: string;
26
+ /** Config file path (`--config`); production wiring loads dbPath/engine from it. */
27
+ configPath?: string;
28
+ /**
29
+ * Local impl-state directory to run the frozen slate against
30
+ * (`--impl-state-dir`). Defaults to the daemon's
31
+ * `engine.implStateDirRoot/<implName>`. See PRODUCTION_DEPS below.
32
+ */
33
+ implStateDir?: string;
34
+ }
35
+ export interface EvalCommandDeps {
36
+ /** Resolve a checkpoint manifest from its CID (production: IPFS fetch + schema parse). */
37
+ fetchManifest(cid: string): Promise<HarnessCheckpointManifest>;
38
+ /** Load the slate, resolve its tasks, and run the frozen-mode orchestrator. */
39
+ runPipeline(args: RunPipelineArgs): Promise<EvalRunResult>;
40
+ }
41
+ export declare function createEvalCommand(deps: EvalCommandDeps): CommandModule;
42
+ /**
43
+ * Keyless corpus endpoints for the learner adapter's bundled MCP server (record
44
+ * search / artifact inspection). Mirrors `main.ts`'s `corpusEnv` assembly so the
45
+ * eval agent runtime matches the daemon's. Sources every field from
46
+ * `loadConfig()` — there is no bootstrap state in the CLI path, so the identity
47
+ * registry falls back to the chain default for the resolved network.
48
+ */
49
+ export declare function corpusEnvFromConfig(config: ReturnType<typeof loadConfig>): NonNullable<ClaudeCodeHarnessAdapterConfig['corpusEnv']> | undefined;
50
+ /**
51
+ * Resolve the local frozen impl-state directory for the checkpoint. There is
52
+ * no production IPFS round-trip for a checkpoint's `implStateDir` (the
53
+ * checkpoint publish/install verbs are factory-only; the pin/fetch format is a
54
+ * future verification layer — spec §6.4, "Layer 4"). The realistic operator
55
+ * workflow (#824) evaluates the operator's OWN frozen state, which already
56
+ * lives on disk. Mirrors `codedigest-revert-check` (`--impl-state-dir`).
57
+ */
58
+ export declare function resolveLocalImplStateDir(explicit: string | undefined, implName: string, config: ReturnType<typeof loadConfig>): string;
59
+ /**
60
+ * Production `runHarnessOnce` for the eval orchestrator. Delegates to the
61
+ * shared {@link runHarnessForEval} helper, which builds the FULL
62
+ * daemon-equivalent HarnessContext — including `solverPluginRoots` from the
63
+ * SolverNet's `runtimePlugins` — so the agent gets the bundled MCP server
64
+ * (`submit_typed_payload`) and can produce a gradeable patch. The legacy
65
+ * hand-rolled body ran the agent WITHOUT plugins, leaving every task
66
+ * unscorable; this factory closes over the resolved `solverType` +
67
+ * `runtimePlugins` and surfaces the seam the orchestrator already drives.
68
+ */
69
+ export declare function makeEvalRunHarnessOnce(opts: {
70
+ solverType: string;
71
+ runtimePlugins: RuntimePlugin[];
72
+ solverNetName?: string;
73
+ model?: string;
74
+ }): RunHarnessOnceForEval;
75
+ declare const command: CommandModule;
76
+ export default command;
@@ -0,0 +1,391 @@
1
+ /**
2
+ * `jinn eval <slate-version> --checkpoint <cid>` — run a held-out slate against
3
+ * a checkpoint in frozen mode and emit a resolved-rate comparison vs the parent
4
+ * checkpoint with a Wilson confidence interval (issue #818).
5
+ *
6
+ * The command is a thin shell over `runEval` (orchestrator.ts): a pure
7
+ * `createEvalCommand(deps)` factory tested directly, plus a default
8
+ * `CommandModule` that wires production deps. The orchestration itself
9
+ * (slate load -> resolve tasks -> runEval) is the injected `runPipeline` seam;
10
+ * the live Docker/IPFS wiring is completed in #819's thin slice.
11
+ *
12
+ * Spec: docs/superpowers/specs/2026-05-06-agent-harness-solvernet-design.md
13
+ */
14
+ import { existsSync } from 'node:fs';
15
+ import { join } from 'node:path';
16
+ import { homedir } from 'node:os';
17
+ import { parseCommandArgs, COMMON_FLAGS } from '../command.js';
18
+ import { emitEnvelope } from '../../errors/envelope.js';
19
+ import { HarnessCheckpointManifestSchema, } from '../../vendor/@jinn-network/sdk/dist/checkpoint.js';
20
+ import { runEval } from '../../eval/orchestrator.js';
21
+ import { resolveSlateTasks } from '../../eval/resolve-slate-tasks.js';
22
+ import { loadConfig } from '../../config.js';
23
+ import { Store } from '../../store/store.js';
24
+ import { fetchFromIpfs } from '../../adapters/mech/ipfs.js';
25
+ import { resolveRuntimePluginsForSolverType, runHarnessForEval, } from '../../eval/eval-harness-run.js';
26
+ import { DEFAULT_EXECUTION_DISCOVERY_FROM_BLOCK } from '../../corpus/onchain-query.js';
27
+ import { solverTypeFromJoinedContract } from '../../solver-nets/registry.js';
28
+ import { loadHeldOutSlate } from '../../solver-types/_swe-rebench-v2-held-out-slate.js';
29
+ import { loadSweRebenchV2Pool, defaultStateDir } from '../../solver-types/swe-rebench-v2.js';
30
+ import { PoolCacheStore, loadPoolWithCacheFallback } from '../../solver-types/_swe-rebench-v2-pool-cache.js';
31
+ import { LearnerHarness } from '../../harnesses/impls/learner/harness.js';
32
+ import { ClaudeCodeHarnessAdapter, } from '../../harnesses/impls/learner/adapters/claude-code.js';
33
+ import { CodexCodeHarnessAdapter } from '../../harnesses/impls/learner/adapters/codex-code.js';
34
+ import { CODEX_HARNESS, canonicalHarnessName, harnessStateDirName } from '../../harnesses/names.js';
35
+ import { SweRebenchV2Evaluator } from '../../harnesses/impls/swe-rebench-v2-evaluator/index.js';
36
+ import { HttpHfFetcher } from '../../harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js';
37
+ import { PythonEvalRunner } from '../../harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js';
38
+ import { readEnabledState } from '../../harnesses/impls/swe-rebench-v2-evaluator/harness.js';
39
+ const EXAMPLE = 'jinn eval v1 --checkpoint <cid> [--parent <cid>] [--solver-type swe-rebench-v2] [--json|--human]';
40
+ export function createEvalCommand(deps) {
41
+ return {
42
+ name: 'eval',
43
+ summary: 'Run a held-out slate against a checkpoint and compare its resolved rate vs the parent (#818)',
44
+ helpText: `Usage:
45
+ ${EXAMPLE}
46
+
47
+ Runs the held-out task slate for <slate-version> against the checkpoint in
48
+ FROZEN mode (the freeze-fence holds — no implStateDir mutation), writes per-task
49
+ pass/fail, and emits a resolved-rate comparison vs the parent checkpoint with a
50
+ Wilson confidence interval.
51
+
52
+ Arguments:
53
+ <slate-version> Held-out slate version, e.g. v1
54
+
55
+ Options:
56
+ --checkpoint <cid> Checkpoint to evaluate (required)
57
+ --parent <cid> Parent checkpoint to compare against
58
+ (default: manifest.parentCheckpointCid)
59
+ --solver-type <type> SolverType (default: swe-rebench-v2)
60
+ --impl-state-dir <dir> Local frozen impl-state to evaluate
61
+ (default: engine.implStateDirRoot/<implName> from config)
62
+ --config <path> Config file (default: ~/.jinn-client/config.json)
63
+ --json Emit JSON (perTask[] + comparison{child,parent,delta,verdict})
64
+ --human Emit a human-readable summary line
65
+
66
+ Scores are only comparable WITHIN a slate version. The parent must already have
67
+ been evaluated against the same slate version, else the command fails loud.`,
68
+ async run(ctx) {
69
+ let parsed;
70
+ try {
71
+ parsed = parseCommandArgs(ctx.argv, {
72
+ ...COMMON_FLAGS,
73
+ checkpoint: { type: 'string' },
74
+ parent: { type: 'string' },
75
+ 'solver-type': { type: 'string', default: 'swe-rebench-v2' },
76
+ 'impl-state-dir': { type: 'string' },
77
+ });
78
+ }
79
+ catch (err) {
80
+ emitEnvelope({
81
+ code: 'invalid_invocation',
82
+ message: err instanceof Error ? err.message : String(err),
83
+ exampleCli: EXAMPLE,
84
+ details: { field: 'flags' },
85
+ }, { writer: ctx.writer, exit: ctx.exit });
86
+ return;
87
+ }
88
+ const slateVersion = parsed.positionals[0];
89
+ const checkpointCid = parsed.values.checkpoint;
90
+ if (!slateVersion) {
91
+ emitEnvelope({ code: 'invalid_invocation', message: '<slate-version> positional is required', exampleCli: EXAMPLE, details: { field: 'slate-version' } }, { writer: ctx.writer, exit: ctx.exit });
92
+ return;
93
+ }
94
+ if (!checkpointCid) {
95
+ emitEnvelope({ code: 'invalid_invocation', message: '--checkpoint <cid> is required', exampleCli: EXAMPLE, details: { field: 'checkpoint' } }, { writer: ctx.writer, exit: ctx.exit });
96
+ return;
97
+ }
98
+ const manifest = await deps.fetchManifest(checkpointCid);
99
+ const parentCheckpointCid = parsed.values.parent ?? manifest.parentCheckpointCid;
100
+ if (!parentCheckpointCid) {
101
+ emitEnvelope({
102
+ code: 'invalid_invocation',
103
+ message: 'no parent checkpoint: manifest.parentCheckpointCid is null and --parent was not given',
104
+ exampleCli: EXAMPLE,
105
+ details: { field: 'parent' },
106
+ }, { writer: ctx.writer, exit: ctx.exit });
107
+ return;
108
+ }
109
+ const result = await deps.runPipeline({
110
+ checkpointCid,
111
+ checkpointManifest: manifest,
112
+ solverType: parsed.values['solver-type'] ?? 'swe-rebench-v2',
113
+ slateVersion,
114
+ parentCheckpointCid,
115
+ ...(parsed.values.config ? { configPath: parsed.values.config } : {}),
116
+ ...(parsed.values['impl-state-dir'] ? { implStateDir: parsed.values['impl-state-dir'] } : {}),
117
+ });
118
+ if (parsed.values.human) {
119
+ ctx.writer.write(renderHuman(result) + '\n');
120
+ }
121
+ else {
122
+ ctx.writer.write(JSON.stringify(result) + '\n');
123
+ }
124
+ },
125
+ };
126
+ }
127
+ function pct(p) {
128
+ return `${(p * 100).toFixed(1)}%`;
129
+ }
130
+ function ci(c) {
131
+ return `[${(c.lo * 100).toFixed(1)}, ${(c.hi * 100).toFixed(1)}]`;
132
+ }
133
+ function renderHuman(result) {
134
+ const { comparison: c } = result;
135
+ const passed = result.perTask.filter((t) => t.passed === true).length;
136
+ const scorable = result.perTask.filter((t) => !t.unscorable).length;
137
+ const unscorable = result.perTask.filter((t) => t.unscorable).length;
138
+ const deltaPp = (c.delta * 100).toFixed(1);
139
+ const sign = c.delta >= 0 ? '+' : '';
140
+ const verdict = c.verdict === 'trustworthy' ? 'trustworthy' : 'within noise';
141
+ const tail = unscorable > 0 ? ` (${unscorable} unscorable, excluded)` : '';
142
+ // Provenance (Legibility): the graded artifact is the operator's LOCAL frozen
143
+ // impl-state, verified == the named checkpoint — not a re-fetched checkpoint state.
144
+ const provenance = `evaluated local impl-state at ${result.evaluated.codeDigest}, verified == checkpoint`;
145
+ return (`resolved ${passed}/${scorable} = ${pct(c.child.p)} ${ci(c.child)} ` +
146
+ `vs parent ${pct(c.parent.p)} ${ci(c.parent)} · Δ ${sign}${deltaPp}pp (${verdict})${tail}\n` +
147
+ provenance);
148
+ }
149
+ const DEFAULT_CONFIG_PATH = join(homedir(), '.jinn-client', 'config.json');
150
+ /** Default impl-state root when config does not set `engine.implStateDirRoot`. */
151
+ function implStateDirRoot(config) {
152
+ return config.engine?.implStateDirRoot ?? join(homedir(), '.jinn-client', 'engine', 'impl-state');
153
+ }
154
+ /**
155
+ * Keyless corpus endpoints for the learner adapter's bundled MCP server (record
156
+ * search / artifact inspection). Mirrors `main.ts`'s `corpusEnv` assembly so the
157
+ * eval agent runtime matches the daemon's. Sources every field from
158
+ * `loadConfig()` — there is no bootstrap state in the CLI path, so the identity
159
+ * registry falls back to the chain default for the resolved network.
160
+ */
161
+ export function corpusEnvFromConfig(config) {
162
+ const chainId = config.network === 'testnet' ? 84532 : 8453;
163
+ const fromBlock = Number(DEFAULT_EXECUTION_DISCOVERY_FROM_BLOCK[chainId] ?? 0n);
164
+ const discoveryUrl = config.discovery?.url?.trim() || '';
165
+ const identityRegistryAddress = config.identityRegistryAddress;
166
+ if (!discoveryUrl && !identityRegistryAddress)
167
+ return undefined;
168
+ return {
169
+ ...(discoveryUrl ? { discoveryUrl } : {}),
170
+ ipfsGatewayUrl: config.ipfsGatewayUrl,
171
+ rpcUrl: config.rpcUrl,
172
+ chainId,
173
+ ...(identityRegistryAddress ? { identityRegistryAddress } : {}),
174
+ ...(fromBlock > 0 ? { fromBlock } : {}),
175
+ };
176
+ }
177
+ /**
178
+ * Build the production `Harness` for a checkpoint. swe-rebench-v2 checkpoints
179
+ * are produced by the learner harness (claude-code or codex variant); the
180
+ * manifest's `harnessPackage.implName` selects which. Constructed standalone
181
+ * (no funded wallet) — a frozen-mode eval run never touches the chain; it only
182
+ * runs the agent against the local impl-state and harvests the diff.
183
+ *
184
+ * Mirrors `buildHarnesses` (harnesses/impls/index.ts): the adapter MUST receive
185
+ * `corpusEnv` and `daemonApiToken` (alongside storePath/daemonApiUrl) so the
186
+ * agent runtime matches the daemon's — otherwise the bundled MCP surface
187
+ * degrades and the agent cannot produce a gradeable patch.
188
+ */
189
+ function buildEvalHarness(implName, config) {
190
+ const canonical = canonicalHarnessName(implName);
191
+ const daemonApiToken = process.env['DAEMON_API_TOKEN']?.trim();
192
+ const corpusEnv = corpusEnvFromConfig(config);
193
+ const common = {
194
+ claudePath: config.claudePath ?? 'claude',
195
+ claudeModel: config.claudeModel,
196
+ storePath: config.dbPath,
197
+ daemonApiUrl: `http://127.0.0.1:${config.apiPort}`,
198
+ ...(daemonApiToken ? { daemonApiToken } : {}),
199
+ ...(corpusEnv ? { corpusEnv } : {}),
200
+ };
201
+ if (canonical === CODEX_HARNESS) {
202
+ return new LearnerHarness({
203
+ name: CODEX_HARNESS,
204
+ adapter: new CodexCodeHarnessAdapter({
205
+ ...common,
206
+ ...(config.codexPath !== undefined ? { codexPath: config.codexPath } : {}),
207
+ }),
208
+ claudePath: common.claudePath,
209
+ ...(config.codexPath !== undefined ? { codexPath: config.codexPath } : {}),
210
+ });
211
+ }
212
+ // Default: claude-code learner (LearnerHarness's own default name).
213
+ return new LearnerHarness({
214
+ adapter: new ClaudeCodeHarnessAdapter(common),
215
+ claudePath: common.claudePath,
216
+ });
217
+ }
218
+ /**
219
+ * Resolve the local frozen impl-state directory for the checkpoint. There is
220
+ * no production IPFS round-trip for a checkpoint's `implStateDir` (the
221
+ * checkpoint publish/install verbs are factory-only; the pin/fetch format is a
222
+ * future verification layer — spec §6.4, "Layer 4"). The realistic operator
223
+ * workflow (#824) evaluates the operator's OWN frozen state, which already
224
+ * lives on disk. Mirrors `codedigest-revert-check` (`--impl-state-dir`).
225
+ */
226
+ export function resolveLocalImplStateDir(explicit, implName, config) {
227
+ if (explicit)
228
+ return explicit;
229
+ // `implName` comes from the remote IPFS manifest (only `z.string().min(1)`),
230
+ // so constrain it before the path join — an unconstrained value like
231
+ // "../../.." would traverse out of engine.implStateDirRoot.
232
+ if (!/^[a-z0-9-]+$/.test(implName)) {
233
+ throw new Error(`invalid harness implName ${JSON.stringify(implName)} in checkpoint manifest: ` +
234
+ `expected /^[a-z0-9-]+$/ (refusing to derive an impl-state path that could ` +
235
+ `traverse outside engine.implStateDirRoot)`);
236
+ }
237
+ return join(implStateDirRoot(config), harnessStateDirName(implName));
238
+ }
239
+ /**
240
+ * Production `runHarnessOnce` for the eval orchestrator. Delegates to the
241
+ * shared {@link runHarnessForEval} helper, which builds the FULL
242
+ * daemon-equivalent HarnessContext — including `solverPluginRoots` from the
243
+ * SolverNet's `runtimePlugins` — so the agent gets the bundled MCP server
244
+ * (`submit_typed_payload`) and can produce a gradeable patch. The legacy
245
+ * hand-rolled body ran the agent WITHOUT plugins, leaving every task
246
+ * unscorable; this factory closes over the resolved `solverType` +
247
+ * `runtimePlugins` and surfaces the seam the orchestrator already drives.
248
+ */
249
+ export function makeEvalRunHarnessOnce(opts) {
250
+ return async ({ harness, implStateDir, mode, task }) => {
251
+ const resolvedTask = (task ?? {
252
+ id: 'eval-task',
253
+ description: '',
254
+ role: 'restoration',
255
+ window: { startTs: 0, endTs: Date.now() + 3_600_000 },
256
+ });
257
+ return runHarnessForEval({
258
+ harness,
259
+ task: resolvedTask,
260
+ solverType: opts.solverType,
261
+ runtimePlugins: opts.runtimePlugins,
262
+ implStateDir,
263
+ mode,
264
+ ...(opts.solverNetName ? { solverNetName: opts.solverNetName } : {}),
265
+ ...(opts.model ? { model: opts.model } : {}),
266
+ });
267
+ };
268
+ }
269
+ /**
270
+ * Resolve slate `instance_id`s to `{ task, row }` pairs. The slate stores only
271
+ * ids; the HF dataset+split per instance comes from the pool (cached, with a
272
+ * HF fallback — mirrors the evaluator harness's pool path). Instances are
273
+ * grouped by `(hf_dataset, hf_split)` so each group's row scan hits the right
274
+ * partition.
275
+ */
276
+ async function resolveSlateAgainstPool(args) {
277
+ const cacheResult = await loadPoolWithCacheFallback({
278
+ loadPool: loadSweRebenchV2Pool,
279
+ cache: new PoolCacheStore({ stateDir: args.stateDir }),
280
+ currentPool: [],
281
+ });
282
+ const pool = cacheResult.pool;
283
+ if (pool.length === 0) {
284
+ throw new Error(`cannot resolve held-out slate: SWE-rebench v2 pool is empty` +
285
+ (cacheResult.error ? ` (${cacheResult.error.message})` : ''));
286
+ }
287
+ const byId = new Map(pool.map((t) => [t.instance_id, t]));
288
+ // Group requested ids by (dataset, split), carrying the real pool task so the
289
+ // agent run gets the true problem_statement/base_commit (H1).
290
+ const groups = new Map();
291
+ for (const id of args.instanceIds) {
292
+ const poolTask = byId.get(id);
293
+ if (!poolTask) {
294
+ throw new Error(`held-out slate instance ${id} not present in the current pool`);
295
+ }
296
+ const key = `${poolTask.hf_dataset} ${poolTask.hf_split}`;
297
+ const group = groups.get(key) ?? { hf_dataset: poolTask.hf_dataset, hf_split: poolTask.hf_split, poolTasks: [] };
298
+ group.poolTasks.push(poolTask);
299
+ groups.set(key, group);
300
+ }
301
+ const out = [];
302
+ for (const group of groups.values()) {
303
+ const resolved = await resolveSlateTasks({
304
+ poolTasks: group.poolTasks,
305
+ hf_dataset: group.hf_dataset,
306
+ hf_split: group.hf_split,
307
+ fetcher: args.fetcher,
308
+ });
309
+ out.push(...resolved);
310
+ }
311
+ return out;
312
+ }
313
+ const PRODUCTION_DEPS = {
314
+ async fetchManifest(cid) {
315
+ const config = loadConfig(DEFAULT_CONFIG_PATH);
316
+ const raw = await fetchFromIpfs(config.ipfsGatewayUrl, cid);
317
+ return HarnessCheckpointManifestSchema.parse(raw);
318
+ },
319
+ async runPipeline(args) {
320
+ const config = loadConfig(args.configPath ?? DEFAULT_CONFIG_PATH);
321
+ const manifest = args.checkpointManifest;
322
+ const implName = manifest.harnessPackage.implName;
323
+ // Frozen impl-state to evaluate (local; see resolveLocalImplStateDir).
324
+ const implStateDir = resolveLocalImplStateDir(args.implStateDir, implName, config);
325
+ if (!existsSync(implStateDir)) {
326
+ throw new Error(`impl-state directory not found: ${implStateDir} — ` +
327
+ `pass --impl-state-dir <dir> or set engine.implStateDirRoot in config`);
328
+ }
329
+ // Slate → tasks (real HF fetcher; per-instance dataset/split from the pool).
330
+ const slate = loadHeldOutSlate(`${args.solverType}.v1`, args.slateVersion);
331
+ const stateDir = process.env['JINN_SWE_REBENCH_V2_STATE_DIR'] ?? defaultStateDir();
332
+ const fetcher = new HttpHfFetcher();
333
+ const tasksWithRows = await resolveSlateAgainstPool({
334
+ instanceIds: slate.instanceIds,
335
+ fetcher,
336
+ stateDir,
337
+ });
338
+ // Evaluator: the SWE-rebench v2 grading library — same construction the
339
+ // evaluator harness uses internally (HttpHfFetcher + PythonEvalRunner over
340
+ // the cloned upstream repo). Requires `jinn harnesses enable
341
+ // swe-rebench-v2-evaluator` to have cloned upstream + validated Docker.
342
+ const evaluatorImplStateDir = join(implStateDirRoot(config), 'swe-rebench-v2-evaluator');
343
+ const enabled = readEnabledState(evaluatorImplStateDir);
344
+ if (!enabled) {
345
+ throw new Error(`swe-rebench-v2 evaluator not enabled (no state at ${evaluatorImplStateDir}). ` +
346
+ `Run \`jinn harnesses enable swe-rebench-v2-evaluator\` first.`);
347
+ }
348
+ const evaluator = new SweRebenchV2Evaluator({
349
+ fetcher,
350
+ runner: new PythonEvalRunner({ upstreamRepoDir: enabled.upstreamRepoDir }),
351
+ });
352
+ // The orchestrator runs each slate task under the full dispatch solverType
353
+ // (`<solver-type>.v1`). Resolve the SAME SolverNet runtime plugins the
354
+ // daemon would (fails LOUD if the operator hasn't joined the SolverNet /
355
+ // installed its plugins) — these carry the bundled MCP server the agent
356
+ // needs to emit a gradeable patch.
357
+ const dispatchSolverType = `${args.solverType}.v1`;
358
+ const runtimePlugins = await resolveRuntimePluginsForSolverType(dispatchSolverType, config.joinedSolverNets);
359
+ const joinedNet = Object.values(config.joinedSolverNets ?? {}).find((net) => solverTypeFromJoinedContract(net) === dispatchSolverType);
360
+ const harness = buildEvalHarness(implName, config);
361
+ const store = new Store(config.dbPath);
362
+ try {
363
+ return await runEval({
364
+ checkpointManifest: manifest,
365
+ checkpointCid: args.checkpointCid,
366
+ slate,
367
+ tasksWithRows,
368
+ parentCheckpointCid: args.parentCheckpointCid,
369
+ implStateDir,
370
+ deps: {
371
+ harness,
372
+ fetchImplStateDirToLocal: async (_cid, targetDir) => targetDir,
373
+ evaluator,
374
+ runHarnessOnce: makeEvalRunHarnessOnce({
375
+ solverType: dispatchSolverType,
376
+ runtimePlugins,
377
+ ...(joinedNet?.name ? { solverNetName: joinedNet.name } : {}),
378
+ ...(config.claudeModel ? { model: config.claudeModel } : {}),
379
+ }),
380
+ store,
381
+ },
382
+ });
383
+ }
384
+ finally {
385
+ store.close?.();
386
+ }
387
+ },
388
+ };
389
+ const command = createEvalCommand(PRODUCTION_DEPS);
390
+ export default command;
391
+ //# sourceMappingURL=eval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../../src/cli/commands/eval.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -43,6 +43,7 @@ import integrationsCommand from './commands/integrations.js';
43
43
  import predictionScoreboardCommand from './commands/prediction-scoreboard.js';
44
44
  import captureCommand from './commands/capture.js';
45
45
  import codedigestRevertCheckCommand from './commands/codedigest-revert-check.js';
46
+ import evalCommand from './commands/eval.js';
46
47
  const COMMANDS = [
47
48
  versionCommand,
48
49
  doctorCommand,
@@ -77,6 +78,7 @@ const COMMANDS = [
77
78
  solverPluginsCommand,
78
79
  integrationsCommand,
79
80
  codedigestRevertCheckCommand,
81
+ evalCommand,
80
82
  ];
81
83
  /**
82
84
  * All registered CLI commands. Used by skill generators and conformance checks to keep
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,cAAc,MAAM,uBAAuB,CAAC;AACnD,OAAO,aAAa,MAAM,sBAAsB,CAAC;AACjD,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,iBAAiB,MAAM,0BAA0B,CAAC;AACzD,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AACvD,OAAO,uBAAuB,MAAM,iCAAiC,CAAC;AACtE,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,aAAa,MAAM,sBAAsB,CAAC;AACjD,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAC/C,OAAO,cAAc,MAAM,uBAAuB,CAAC;AACnD,OAAO,cAAc,MAAM,uBAAuB,CAAC;AACnD,OAAO,cAAc,MAAM,uBAAuB,CAAC;AACnD,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,kBAAkB,MAAM,2BAA2B,CAAC;AAC3D,OAAO,mBAAmB,MAAM,6BAA6B,CAAC;AAC9D,OAAO,eAAe,MAAM,wBAAwB,CAAC;AACrD,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,aAAa,MAAM,sBAAsB,CAAC;AACjD,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,qBAAqB,MAAM,gCAAgC,CAAC;AACnE,OAAO,kBAAkB,MAAM,2BAA2B,CAAC;AAC3D,OAAO,aAAa,MAAM,sBAAsB,CAAC;AACjD,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAC/C,OAAO,iBAAiB,MAAM,2BAA2B,CAAC;AAC1D,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AACvD,OAAO,oBAAoB,MAAM,8BAA8B,CAAC;AAChE,OAAO,mBAAmB,MAAM,4BAA4B,CAAC;AAC7D,OAAO,2BAA2B,MAAM,qCAAqC,CAAC;AAC9E,OAAO,cAAc,MAAM,uBAAuB,CAAC;AACnD,OAAO,4BAA4B,MAAM,uCAAuC,CAAC;AACjF,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAE7C,MAAM,QAAQ,GAAoB;IAChC,cAAc;IACd,aAAa;IACb,WAAW;IACX,iBAAiB;IACjB,WAAW;IACX,gBAAgB;IAChB,uBAAuB;IACvB,UAAU;IACV,WAAW;IACX,aAAa;IACb,YAAY;IACZ,cAAc;IACd,cAAc;IACd,cAAc;IACd,WAAW;IACX,kBAAkB;IAClB,mBAAmB;IACnB,eAAe;IACf,WAAW;IACX,aAAa;IACb,UAAU;IACV,qBAAqB;IACrB,kBAAkB;IAClB,aAAa;IACb,SAAS;IACT,YAAY;IACZ,iBAAiB;IACjB,2BAA2B;IAC3B,cAAc;IACd,gBAAgB;IAChB,oBAAoB;IACpB,mBAAmB;IACnB,4BAA4B;IAC5B,WAAW;CACZ,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAiC,QAAQ,CAAC,MAAM,CACvE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CACjC,CAAC;AAEF,SAAS,kBAAkB,CAAC,QAAyB;IACnD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC9E,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAc,EAAE,OAAsB,EAAE;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtE,oCAAoC;IACpC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IAED,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7B,MAAM,aAAa,GAAG,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAEvF,0BAA0B;IAC1B,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,aAAa;QAC3B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC;QACjD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,YAAY,CACV;YACE,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,iBAAiB,IAAI,EAAE;YAChC,IAAI,EAAE,0CAA0C;YAChD,UAAU,EAAE,aAAa;YACzB,OAAO,EAAE;gBACP,KAAK,EAAE,YAAY;gBACnB,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;aACjD;SACF,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC;IACzB,MAAM,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;IAEnF,sEAAsE;IACtE,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACjE,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QAChD,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAmB;QAC1B,IAAI,EAAE,WAAW;QACjB,WAAW;QACX,MAAM;QACN,IAAI;QACJ,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;YACnC,MAAM,OAAO,GAA4B;gBACvC,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;aACvB,CAAC;YACF,YAAY,CACV;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,IAAI,EAAE,sDAAsD;gBAC5D,UAAU,EAAE,iBAAiB;gBAC7B,OAAO;aACR,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,OAAO,GAA4B,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAClE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC;QAChD,IAAI,KAAK,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YAC/C,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QAC5B,CAAC;QACD,YAAY,CACV;YACE,IAAI,EAAE,OAAO;YACb,OAAO;YACP,OAAO;SACR,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -29,10 +29,17 @@ export interface EvictionLoopConfig {
29
29
  * Accepts a ServiceState and kicks off the reStake call.
30
30
  */
31
31
  recoverEvictedService: (svc: ServiceState) => Promise<void>;
32
+ /** Min ms between reStake attempts for the same service. Default 300_000. */
33
+ reStakeThrottleMs?: number;
34
+ /** Injectable clock for tests. Default () => Date.now(). */
35
+ now?: () => number;
32
36
  }
33
37
  export declare class EvictionLoop {
34
38
  private readonly config;
35
39
  private stopped;
40
+ private readonly lastReStakeAttemptMs;
41
+ private readonly reStakeThrottleMs;
42
+ private readonly now;
36
43
  constructor(config: EvictionLoopConfig);
37
44
  stop(): void;
38
45
  runOnce(): Promise<void>;