@workbench-ai/workbench-core 0.0.74 → 0.0.75

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/dist/index.d.ts CHANGED
@@ -62,16 +62,12 @@ export interface WorkbenchStateImproveOptions {
62
62
  }
63
63
  export interface WorkbenchPreparedCloudEvalRequest {
64
64
  versionId: string;
65
- evalHash: string;
66
- skill: string;
67
- skillBundleHash: string;
68
- agent: string;
69
- agentHash: string;
65
+ skill?: string;
66
+ agent?: string;
70
67
  samples: number;
71
68
  }
72
69
  export interface WorkbenchPreparedCloudImproveRequest extends WorkbenchPreparedCloudEvalRequest {
73
70
  budget: number;
74
- evidenceTraceIds: string[];
75
71
  }
76
72
  export interface WorkbenchCaseSampleSelection {
77
73
  caseId: string;
@@ -126,7 +122,6 @@ export interface WorkbenchImproveOptions extends WorkbenchCommandOptions {
126
122
  version?: string;
127
123
  skill?: string;
128
124
  agent?: string;
129
- improverAgent?: WorkbenchAgent;
130
125
  budget?: number;
131
126
  samples?: number;
132
127
  parentRunId?: string;
@@ -280,7 +275,7 @@ export declare function improveWorkbenchProjectState(state: WorkbenchProjectStat
280
275
  state: WorkbenchProjectState;
281
276
  runs: WorkbenchRun[];
282
277
  }>;
283
- export declare function prepareWorkbenchCloudImproveRequest(options?: Pick<WorkbenchImproveOptions, "dir" | "authToken" | "skill" | "agent" | "budget" | "samples" | "evidenceTraceIds">): Promise<WorkbenchPreparedCloudImproveRequest>;
278
+ export declare function prepareWorkbenchCloudImproveRequest(options?: Pick<WorkbenchImproveOptions, "dir" | "authToken" | "skill" | "agent" | "budget" | "samples">): Promise<WorkbenchPreparedCloudImproveRequest>;
284
279
  export declare function listWorkbenchProjectStateEvalCases(state: WorkbenchProjectState): Promise<WorkbenchCaseRecord[]>;
285
280
  export declare function listWorkbenchProjectStateEvalRuntimeCases(state: WorkbenchProjectState, evalHash?: string): Promise<WorkbenchEvalCaseRuntime[]>;
286
281
  export declare function createWorkbenchSkillEvalRuntimeInput(args: WorkbenchSkillEvalRuntimeInputArgs): WorkbenchExecutionRuntimeInput;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -938,7 +938,7 @@ function runtimeControlStepTimeoutMs(execution) {
938
938
  function runtimeControlStepFailureMessage(args) {
939
939
  const descriptor = runtimeControlStepDescriptor(args.operation);
940
940
  const prefix = `${args.prefix ?? "Runtime-control step"} ${args.label} (${descriptor})`;
941
- const errorMessage = args.result.error?.message ? singleLine(args.result.error.message) : undefined;
941
+ const errorMessage = args.result.error?.message ? publicRuntimeErrorSummary(args.result.error.message) : undefined;
942
942
  const summarizedError = errorMessage ? runtimeControlKnownFailureSummary(errorMessage) : undefined;
943
943
  if (summarizedError) {
944
944
  return `${prefix} ${summarizedError}`;
@@ -951,7 +951,7 @@ function runtimeControlStepFailureMessage(args) {
951
951
  if (summarizedDetail) {
952
952
  return `${prefix} ${summarizedDetail}`;
953
953
  }
954
- const detail = singleLine(rawDetail);
954
+ const detail = publicRuntimeErrorSummary(rawDetail);
955
955
  const status = args.result.status ?? "unknown";
956
956
  return detail
957
957
  ? `${prefix} exited with status ${status}: ${detail}`
@@ -1557,18 +1557,29 @@ async function executeSkillEvalExecutionInCurrentRuntime(args, execution, starte
1557
1557
  const exitCode = result.status ?? undefined;
1558
1558
  const outputFiles = await readFilesUnder(outputDir, "output").catch(() => []);
1559
1559
  const commandSucceeded = result.status === 0 && !result.error;
1560
- const adapterResult = commandSucceeded && await exists(workbenchAdapterOperationResultPath(outputDir))
1560
+ const publicResult = await readPublicSkillEvalResult({
1561
+ filePath: path.join(outputDir, "result.json"),
1562
+ caseId: typeof execution.metadata.caseId === "string" ? execution.metadata.caseId : "current",
1563
+ durationMs: Math.max(0, Date.now() - startedMs),
1564
+ });
1565
+ const adapterResult = !publicResult && commandSucceeded && await exists(workbenchAdapterOperationResultPath(outputDir))
1561
1566
  ? await readWorkbenchAdapterOperationResult(outputDir, "engine.run")
1562
1567
  : null;
1563
- const succeeded = commandSucceeded && adapterResult?.ok !== false;
1564
- const error = result.error
1568
+ const succeeded = publicResult
1569
+ ? publicResult.passed ?? commandSucceeded
1570
+ : commandSucceeded && adapterResult?.ok !== false;
1571
+ const commandError = result.error
1565
1572
  ? result.error.message
1566
1573
  : result.status !== 0
1567
1574
  ? (stderr || stdout || `Command exited with status ${result.status ?? "unknown"}`).trim()
1568
1575
  : adapterResult?.ok === false
1569
1576
  ? adapterResult.summary ?? "Command engine returned ok false."
1570
1577
  : undefined;
1571
- const resultPayload = workbenchResultFromAdapterResult(adapterResult) ??
1578
+ const error = publicResult
1579
+ ? !succeeded ? publicResult.error ?? commandError : undefined
1580
+ : commandError;
1581
+ const resultPayload = publicResult?.result ??
1582
+ workbenchResultFromAdapterResult(adapterResult) ??
1572
1583
  skillEvalResultPayload({
1573
1584
  succeeded,
1574
1585
  exitCode,
@@ -1603,6 +1614,76 @@ async function executeSkillEvalExecutionInCurrentRuntime(args, execution, starte
1603
1614
  },
1604
1615
  };
1605
1616
  }
1617
+ async function readPublicSkillEvalResult(args) {
1618
+ if (!await exists(args.filePath)) {
1619
+ return null;
1620
+ }
1621
+ const parsed = await readJson(args.filePath);
1622
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
1623
+ throw new WorkbenchUserError("OUTPUT_DIR/result.json must contain a JSON object.");
1624
+ }
1625
+ const record = parsed;
1626
+ const passed = typeof record.ok === "boolean"
1627
+ ? record.ok
1628
+ : typeof record.passed === "boolean"
1629
+ ? record.passed
1630
+ : typeof record.pass === "boolean"
1631
+ ? record.pass
1632
+ : undefined;
1633
+ const score = typeof record.score === "number"
1634
+ ? record.score
1635
+ : passed !== undefined
1636
+ ? passed ? 1 : 0
1637
+ : undefined;
1638
+ if (score === undefined || !Number.isFinite(score)) {
1639
+ throw new WorkbenchUserError("OUTPUT_DIR/result.json must include a finite numeric score or boolean ok/passed/pass.");
1640
+ }
1641
+ const metrics = publicSkillEvalResultMetrics(record, score);
1642
+ const message = typeof record.message === "string"
1643
+ ? record.message
1644
+ : typeof record.summary === "string"
1645
+ ? record.summary
1646
+ : undefined;
1647
+ const caseStatus = passed === false ? "error" : "completed";
1648
+ const result = {
1649
+ score,
1650
+ metrics,
1651
+ cases: [{
1652
+ id: args.caseId,
1653
+ status: caseStatus,
1654
+ durationMs: args.durationMs,
1655
+ metrics,
1656
+ ...(passed === false
1657
+ ? { feedback: { message: message ?? "Test failed." } }
1658
+ : {}),
1659
+ }],
1660
+ ...(typeof record.summary === "string"
1661
+ ? { summary: record.summary }
1662
+ : message
1663
+ ? { summary: message }
1664
+ : {}),
1665
+ feedback: {
1666
+ result: toJson(record),
1667
+ },
1668
+ };
1669
+ return {
1670
+ result,
1671
+ ...(passed !== undefined ? { passed } : {}),
1672
+ ...(passed === false ? { error: message ?? "Test failed." } : {}),
1673
+ };
1674
+ }
1675
+ function publicSkillEvalResultMetrics(record, score) {
1676
+ const metrics = { score };
1677
+ const source = record.metrics && typeof record.metrics === "object" && !Array.isArray(record.metrics)
1678
+ ? record.metrics
1679
+ : {};
1680
+ for (const [key, value] of Object.entries(source)) {
1681
+ if (typeof value === "number" && Number.isFinite(value)) {
1682
+ metrics[key] = value;
1683
+ }
1684
+ }
1685
+ return metrics;
1686
+ }
1606
1687
  function workbenchResultFromAdapterResult(result) {
1607
1688
  const value = result?.value;
1608
1689
  if (!value || typeof value !== "object" || Array.isArray(value)) {
@@ -1900,7 +1981,7 @@ export async function workbenchStatusSnapshot(options = {}) {
1900
1981
  ...(lastRun ? {
1901
1982
  lastRunId: lastRun.id,
1902
1983
  lastStatus: lastRun.status,
1903
- ...(lastRun.status === "succeeded" && lastRun.score !== undefined ? { lastScore: lastRun.score } : {}),
1984
+ ...(lastRun.score !== undefined ? { lastScore: lastRun.score } : {}),
1904
1985
  } : {}),
1905
1986
  },
1906
1987
  remotes,
@@ -1909,7 +1990,6 @@ export async function workbenchStatusSnapshot(options = {}) {
1909
1990
  });
1910
1991
  }
1911
1992
  async function workbenchStatusUnlocked(root, options = {}) {
1912
- await autoSyncDefaultRemote(root, options);
1913
1993
  const [state, agents, skillSources] = await Promise.all([
1914
1994
  loadState(root),
1915
1995
  readAgents(root),
@@ -1917,9 +1997,8 @@ async function workbenchStatusUnlocked(root, options = {}) {
1917
1997
  ]);
1918
1998
  const version = await reconcileWorkbenchVersion(root, state, "current source");
1919
1999
  await saveState(root, state);
1920
- await autoSyncDefaultRemote(root, options);
1921
2000
  const lastRun = state.runs
1922
- .filter((run) => run.status === "succeeded" && typeof run.score === "number")
2001
+ .filter((run) => typeof run.score === "number")
1923
2002
  .sort((left, right) => right.createdAt.localeCompare(left.createdAt))[0];
1924
2003
  return {
1925
2004
  root,
@@ -2003,11 +2082,9 @@ export async function listWorkbenchVersions(options = {}) {
2003
2082
  const root = resolveRoot(options.dir);
2004
2083
  return withWorkbenchProjectLockIfInitialized(root, async () => {
2005
2084
  await requireInitialized(root);
2006
- await autoSyncDefaultRemote(root, options);
2007
2085
  const state = await loadState(root);
2008
2086
  await reconcileWorkbenchVersion(root, state, "current source");
2009
2087
  await saveState(root, state);
2010
- await autoSyncDefaultRemote(root, options);
2011
2088
  return [...state.versions].sort(compareVersionIds);
2012
2089
  });
2013
2090
  }
@@ -2015,7 +2092,6 @@ export async function evalWorkbenchSkill(options = {}) {
2015
2092
  const root = resolveRoot(options.dir);
2016
2093
  return withWorkbenchProjectLockIfInitialized(root, async () => {
2017
2094
  await requireInitialized(root);
2018
- await autoSyncDefaultRemote(root, options);
2019
2095
  const state = await loadState(root);
2020
2096
  const version = await resolveOrCreateRunVersion(root, state, options.version);
2021
2097
  await saveState(root, state);
@@ -2080,7 +2156,6 @@ export async function evalWorkbenchSkill(options = {}) {
2080
2156
  }
2081
2157
  }
2082
2158
  await saveState(root, state);
2083
- await autoSyncDefaultRemote(root, options);
2084
2159
  return runs;
2085
2160
  });
2086
2161
  }
@@ -2090,27 +2165,11 @@ export async function prepareWorkbenchCloudEvalRequest(options = {}) {
2090
2165
  await requireInitialized(root);
2091
2166
  const state = await loadState(root);
2092
2167
  const version = await resolveOrCreateRunVersion(root, state);
2093
- const runtime = await createWorkbenchVersionRuntimeSnapshot(version, {
2094
- skill: options.skill,
2095
- agent: options.agent,
2096
- authToken: options.authToken,
2097
- });
2098
- const { skillBundle, agent } = exactHostedRuntimeSelection(runtime, "eval");
2099
- assertSkillEvalAgentSupported(agent);
2100
- upsertEvalSnapshotObject(state.evals, runtime.evalSnapshot);
2101
- upsertAgentSnapshots(state.agents, runtime.agents);
2102
- for (const bundle of runtime.skillBundles) {
2103
- upsertByHash(state.skillBundles, bundle);
2104
- }
2105
- state.skillSources = runtime.skillSources.map(copySkillSource);
2106
2168
  await saveState(root, state);
2107
2169
  return {
2108
2170
  versionId: version.id,
2109
- evalHash: runtime.evalSnapshot.hash,
2110
- skill: skillBundle.skillName,
2111
- skillBundleHash: skillBundle.hash,
2112
- agent: agent.name,
2113
- agentHash: hashJson(agent),
2171
+ ...(options.skill !== undefined ? { skill: options.skill } : {}),
2172
+ ...(options.agent !== undefined ? { agent: options.agent } : {}),
2114
2173
  samples: options.samples ?? 1,
2115
2174
  };
2116
2175
  });
@@ -2198,45 +2257,13 @@ export async function prepareWorkbenchCloudImproveRequest(options = {}) {
2198
2257
  await requireInitialized(root);
2199
2258
  const state = await loadState(root);
2200
2259
  const base = await resolveOrCreateRunVersion(root, state);
2201
- const runtime = await createWorkbenchVersionRuntimeSnapshot(base, {
2202
- skill: options.skill,
2203
- agent: options.agent,
2204
- authToken: options.authToken,
2205
- });
2206
- const { skillBundle, agent } = exactHostedRuntimeSelection(runtime, "improve");
2207
- if (skillBundle.skillName !== PRIMARY_SKILL_NAME) {
2208
- throw new WorkbenchUserError("workbench improve can edit only the primary project skill. Vendor or clone another skill before improving it.");
2209
- }
2210
- upsertEvalSnapshotObject(state.evals, runtime.evalSnapshot);
2211
- upsertAgentSnapshots(state.agents, runtime.agents);
2212
- for (const bundle of runtime.skillBundles) {
2213
- upsertByHash(state.skillBundles, bundle);
2214
- }
2215
- state.skillSources = runtime.skillSources.map(copySkillSource);
2216
- const selectedEvidenceTraceIds = options.evidenceTraceIds?.length
2217
- ? new Set(options.evidenceTraceIds)
2218
- : null;
2219
- const historicalTraces = workbenchImprovementEvidenceTracesForVersion(state, {
2220
- versionId: base.id,
2221
- skillName: skillBundle.skillName,
2222
- evalHash: runtime.evalSnapshot.hash,
2223
- ...(selectedEvidenceTraceIds ? { traceIds: [...selectedEvidenceTraceIds] } : {}),
2224
- });
2225
- const improvementEvidence = improvementEvidenceFromTraces(historicalTraces);
2226
- if (improvementEvidence.length === 0) {
2227
- throw new WorkbenchUserError("workbench improve needs failed or reviewed eval evidence for the selected skill on this eval. Run `workbench eval` until a failure is recorded, or edit SKILL.md directly.");
2228
- }
2229
2260
  await saveState(root, state);
2230
2261
  return {
2231
2262
  versionId: base.id,
2232
- evalHash: runtime.evalSnapshot.hash,
2233
- skill: skillBundle.skillName,
2234
- skillBundleHash: skillBundle.hash,
2235
- agent: agent.name,
2236
- agentHash: hashJson(agent),
2263
+ ...(options.skill !== undefined ? { skill: options.skill } : {}),
2264
+ ...(options.agent !== undefined ? { agent: options.agent } : {}),
2237
2265
  samples: options.samples ?? 1,
2238
2266
  budget: options.budget ?? 1,
2239
- evidenceTraceIds: historicalTraces.map((trace) => trace.id),
2240
2267
  };
2241
2268
  });
2242
2269
  }
@@ -2591,12 +2618,6 @@ function traceEvalHashMatches(state, trace, evalHash) {
2591
2618
  }
2592
2619
  function isImprovementEvidenceTrace(trace) {
2593
2620
  const result = asRuntimeRecord(trace.result);
2594
- const request = asRuntimeRecord(trace.request);
2595
- const execution = asRuntimeRecord(request.execution);
2596
- const executionMetadata = asRuntimeRecord(execution.metadata);
2597
- if (request.smoke === true || executionMetadata.smoke === true) {
2598
- return false;
2599
- }
2600
2621
  const status = typeof result.status === "string" ? result.status : undefined;
2601
2622
  const error = textFromJson(result.error);
2602
2623
  const feedback = asRuntimeRecord(result.feedback);
@@ -2617,7 +2638,7 @@ export function workbenchSkillImproveCanUseQueuedAdapter(agent) {
2617
2638
  return agentImproveAdapterInvocation(agent) !== null;
2618
2639
  }
2619
2640
  export function workbenchSkillImproveAdapterRequirementMessage(agent) {
2620
- return `Agent ${agent.name} cannot run improve because it has no skill-improvement adapter. Run workbench login claude (or codex) to connect an improver.`;
2641
+ return `Agent ${agent.name} cannot run improve because it has no skill-improvement adapter. Select an improvement-capable agent, for example workbench improve --agents codex after connecting that agent with workbench login codex.`;
2621
2642
  }
2622
2643
  export function readWorkbenchSkillImprovementPatchFromRemoteJob(remoteJob) {
2623
2644
  const output = asRuntimeRecord(remoteJob.output);
@@ -2771,30 +2792,6 @@ export async function createWorkbenchVersionRuntimeSnapshot(version, options = {
2771
2792
  };
2772
2793
  });
2773
2794
  }
2774
- function exactHostedRuntimeSelection(runtime, command) {
2775
- if (runtime.skillBundles.length !== 1 || runtime.selectedAgents.length !== 1) {
2776
- const configuredSkills = [...new Set(runtime.skillBundles.map((bundle) => bundle.skillName))].sort();
2777
- const configuredAgents = [...new Set(runtime.selectedAgents.map((agent) => agent.name))].sort();
2778
- throw new WorkbenchCodedError("usage", [
2779
- `workbench ${command} --cloud requires exactly one skill and one agent.`,
2780
- `Configured skills: ${configuredSkills.length > 0 ? configuredSkills.join(", ") : "none"}.`,
2781
- `Configured agents: ${configuredAgents.length > 0 ? configuredAgents.join(", ") : "none"}.`,
2782
- ].join(" "), {
2783
- remediation: `Run workbench ${command} --cloud --skills ${configuredSkills[0] ?? PRIMARY_SKILL_NAME} --agents ${configuredAgents[0] ?? "default"}.`,
2784
- subject: { configuredSkills, configuredAgents },
2785
- exitCode: 2,
2786
- });
2787
- }
2788
- const skillBundle = runtime.skillBundles[0];
2789
- const agent = runtime.selectedAgents[0];
2790
- if (!skillBundle) {
2791
- throw new WorkbenchUserError(`No skill selected for hosted ${command}.`);
2792
- }
2793
- if (!agent) {
2794
- throw new WorkbenchUserError(`No agent selected for hosted ${command}.`);
2795
- }
2796
- return { skillBundle, agent };
2797
- }
2798
2795
  export async function executeQueuedWorkbenchSkillEvalJob(input) {
2799
2796
  const tempRoot = await fs.mkdtemp(path.join(os.tmpdir(), "workbench-cloud-queued-eval-"));
2800
2797
  try {
@@ -2869,7 +2866,7 @@ export async function executeQueuedWorkbenchSkillEvalJob(input) {
2869
2866
  finishedAt,
2870
2867
  ...(result.job.error ? { error: result.job.error } : {}),
2871
2868
  };
2872
- if (proofStatus === "succeeded" && result.job.score !== undefined) {
2869
+ if (result.job.score !== undefined) {
2873
2870
  run.score = result.job.score;
2874
2871
  }
2875
2872
  else {
@@ -2890,7 +2887,6 @@ export async function improveWorkbenchSkill(options = {}) {
2890
2887
  const root = resolveRoot(options.dir);
2891
2888
  return withWorkbenchProjectLockIfInitialized(root, async () => {
2892
2889
  await requireInitialized(root);
2893
- await autoSyncDefaultRemote(root, options);
2894
2890
  let state = await loadState(root);
2895
2891
  const base = await resolveOrCreateRunVersion(root, state, options.version);
2896
2892
  await saveState(root, state);
@@ -2899,17 +2895,23 @@ export async function improveWorkbenchSkill(options = {}) {
2899
2895
  agent: options.agent,
2900
2896
  authToken: options.authToken,
2901
2897
  });
2902
- const externalImprover = options.improverAgent && !options.agent ? options.improverAgent : undefined;
2903
2898
  if (runtime.skillBundles.length !== 1 || runtime.selectedAgents.length !== 1) {
2904
2899
  const configuredSkills = [...new Set(runtime.skillBundles.map((bundle) => bundle.skillName))].sort();
2905
2900
  const configuredAgents = [...new Set(runtime.selectedAgents.map((agent) => agent.name))].sort();
2901
+ const improvementCapableAgents = runtime.selectedAgents
2902
+ .filter(workbenchSkillImproveCanUseQueuedAdapter)
2903
+ .map((agent) => agent.name)
2904
+ .sort();
2906
2905
  throw new WorkbenchCodedError("usage", [
2907
2906
  "workbench improve requires exactly one skill and one eval agent.",
2908
2907
  `Configured skills: ${configuredSkills.length > 0 ? configuredSkills.join(", ") : "none"}.`,
2909
2908
  `Configured agents: ${configuredAgents.length > 0 ? configuredAgents.join(", ") : "none"}.`,
2909
+ ...(improvementCapableAgents.length > 0
2910
+ ? [`Improvement-capable agents: ${improvementCapableAgents.join(", ")}.`]
2911
+ : []),
2910
2912
  ].join(" "), {
2911
- remediation: `Run workbench improve --skills ${configuredSkills[0] ?? PRIMARY_SKILL_NAME} --agents ${configuredAgents[0] ?? "default"}.`,
2912
- subject: { configuredSkills, configuredAgents },
2913
+ remediation: improveSelectorRemediation(configuredSkills, improvementCapableAgents),
2914
+ subject: { configuredSkills, configuredAgents, improvementCapableAgents },
2913
2915
  exitCode: 2,
2914
2916
  });
2915
2917
  }
@@ -2928,9 +2930,8 @@ export async function improveWorkbenchSkill(options = {}) {
2928
2930
  if (!evalAgent) {
2929
2931
  throw new WorkbenchUserError("No eval agent selected for improve.");
2930
2932
  }
2931
- const improverAgent = externalImprover ?? evalAgent;
2932
- if (externalImprover) {
2933
- upsertAgentSnapshots(state.agents, [externalImprover]);
2933
+ if (!workbenchSkillImproveCanUseQueuedAdapter(evalAgent)) {
2934
+ throw new WorkbenchUserError(workbenchSkillImproveAdapterRequirementMessage(evalAgent));
2934
2935
  }
2935
2936
  const selectedEvidenceTraceIds = options.evidenceTraceIds?.length
2936
2937
  ? new Set(options.evidenceTraceIds)
@@ -2959,7 +2960,7 @@ export async function improveWorkbenchSkill(options = {}) {
2959
2960
  const improvement = await createSkillImprovementPatch({
2960
2961
  root,
2961
2962
  state,
2962
- agent: improverAgent,
2963
+ agent: evalAgent,
2963
2964
  base,
2964
2965
  evalHash: evalSnapshot.hash,
2965
2966
  environmentDockerfile: runtime.environmentDockerfile,
@@ -2968,7 +2969,7 @@ export async function improveWorkbenchSkill(options = {}) {
2968
2969
  });
2969
2970
  const applied = applyWorkbenchSkillImprovementPatch(state, {
2970
2971
  baseVersionId: base.id,
2971
- agent: improverAgent,
2972
+ agent: evalAgent,
2972
2973
  patch: improvement.patch,
2973
2974
  createdAt: now(),
2974
2975
  });
@@ -2987,9 +2988,6 @@ export async function improveWorkbenchSkill(options = {}) {
2987
2988
  upsertByHash(state.skillBundles, bundle);
2988
2989
  }
2989
2990
  upsertAgentSnapshots(state.agents, outputRuntime.agents);
2990
- if (externalImprover) {
2991
- upsertAgentSnapshots(state.agents, [externalImprover]);
2992
- }
2993
2991
  const run = await executeWorkbenchEvaluationRun({
2994
2992
  root,
2995
2993
  state,
@@ -3021,7 +3019,6 @@ export async function improveWorkbenchSkill(options = {}) {
3021
3019
  run.outputVersionId = version.id;
3022
3020
  if (run.status !== "succeeded") {
3023
3021
  await saveState(root, state);
3024
- await autoSyncDefaultRemote(root, options);
3025
3022
  throw new WorkbenchUserError(improveProofEvalFailureMessage(version, run));
3026
3023
  }
3027
3024
  const promotion = improvementPromotionDecision(run, incumbentRun);
@@ -3032,7 +3029,6 @@ export async function improveWorkbenchSkill(options = {}) {
3032
3029
  switched = true;
3033
3030
  }
3034
3031
  await saveState(root, state);
3035
- await autoSyncDefaultRemote(root, options);
3036
3032
  return {
3037
3033
  run,
3038
3034
  version,
@@ -3045,6 +3041,14 @@ export async function improveWorkbenchSkill(options = {}) {
3045
3041
  };
3046
3042
  });
3047
3043
  }
3044
+ function improveSelectorRemediation(configuredSkills, improvementCapableAgents) {
3045
+ const skill = configuredSkills[0] ?? PRIMARY_SKILL_NAME;
3046
+ const agent = improvementCapableAgents[0];
3047
+ if (agent) {
3048
+ return `Run workbench improve --skills ${skill} --agents ${agent}.`;
3049
+ }
3050
+ return `Select one improvement-capable agent, for example workbench improve --skills ${skill} --agents codex after connecting that agent with workbench login codex.`;
3051
+ }
3048
3052
  function improveProofEvalFailureMessage(version, run) {
3049
3053
  return [
3050
3054
  `Improve proof eval failed for ${version.id} in run ${run.id}.`,
@@ -3069,7 +3073,6 @@ export async function compareWorkbench(options = {}) {
3069
3073
  const root = resolveRoot(options.dir);
3070
3074
  return withWorkbenchProjectLockIfInitialized(root, async () => {
3071
3075
  await requireInitialized(root);
3072
- await autoSyncDefaultRemote(root, options);
3073
3076
  const state = await loadState(root);
3074
3077
  await reconcileWorkbenchVersion(root, state, "current source");
3075
3078
  let versions = resolveVersionSelection(state, options.versions ?? "all");
@@ -3141,7 +3144,6 @@ export async function compareWorkbench(options = {}) {
3141
3144
  throw new WorkbenchUserError("No selected versions define the requested compare skills or agents.");
3142
3145
  }
3143
3146
  await saveState(root, state);
3144
- await autoSyncDefaultRemote(root, options);
3145
3147
  const [onlyEvalHash] = [...evalHashes];
3146
3148
  return {
3147
3149
  ...(evalHashes.size === 1 && onlyEvalHash ? { evalHash: onlyEvalHash } : {}),
@@ -3228,7 +3230,6 @@ export async function switchWorkbenchVersion(versionRef, options = {}) {
3228
3230
  const root = resolveRoot(options.dir);
3229
3231
  return withWorkbenchProjectLockIfInitialized(root, async () => {
3230
3232
  await requireInitialized(root);
3231
- await autoSyncDefaultRemote(root, options);
3232
3233
  const state = await loadState(root);
3233
3234
  await reconcileWorkbenchVersion(root, state, "current source");
3234
3235
  const version = resolveVersion(state, versionRef);
@@ -3236,7 +3237,6 @@ export async function switchWorkbenchVersion(versionRef, options = {}) {
3236
3237
  state.remotes = await readWorkbenchRemotesFile(root);
3237
3238
  state.refs.current = version.id;
3238
3239
  await saveState(root, state);
3239
- await autoSyncDefaultRemote(root, options);
3240
3240
  return version;
3241
3241
  });
3242
3242
  }
@@ -3244,11 +3244,9 @@ export async function diffWorkbenchVersions(range, options = {}) {
3244
3244
  const root = resolveRoot(options.dir);
3245
3245
  return withWorkbenchProjectLockIfInitialized(root, async () => {
3246
3246
  await requireInitialized(root);
3247
- await autoSyncDefaultRemote(root, options);
3248
3247
  const state = await loadState(root);
3249
3248
  await reconcileWorkbenchVersion(root, state, "current source");
3250
3249
  await saveState(root, state);
3251
- await autoSyncDefaultRemote(root, options);
3252
3250
  const [leftRef, rightRef] = range.includes("..")
3253
3251
  ? range.split("..", 2)
3254
3252
  : [state.refs.current ?? "current", range];
@@ -3261,11 +3259,9 @@ export async function showWorkbenchRef(ref, options = {}) {
3261
3259
  const root = resolveRoot(options.dir);
3262
3260
  return withWorkbenchProjectLockIfInitialized(root, async () => {
3263
3261
  await requireInitialized(root);
3264
- await autoSyncDefaultRemote(root, options);
3265
3262
  const state = await loadState(root);
3266
3263
  await reconcileWorkbenchVersion(root, state, "current source");
3267
3264
  await saveState(root, state);
3268
- await autoSyncDefaultRemote(root, options);
3269
3265
  const [objectRef, filePath] = splitObjectPath(ref);
3270
3266
  const version = findVersion(state, objectRef);
3271
3267
  if (version) {
@@ -3352,11 +3348,9 @@ export async function filesForWorkbenchRef(ref, options = {}) {
3352
3348
  const root = resolveRoot(options.dir);
3353
3349
  return withWorkbenchProjectLockIfInitialized(root, async () => {
3354
3350
  await requireInitialized(root);
3355
- await autoSyncDefaultRemote(root, options);
3356
3351
  const state = await loadState(root);
3357
3352
  await reconcileWorkbenchVersion(root, state, "current source");
3358
3353
  await saveState(root, state);
3359
- await autoSyncDefaultRemote(root, options);
3360
3354
  const version = findVersion(state, ref);
3361
3355
  if (version) {
3362
3356
  return version.files.map(copyFile);
@@ -3388,11 +3382,9 @@ export async function listWorkbenchAgents(options = {}) {
3388
3382
  const root = resolveRoot(options.dir);
3389
3383
  return withWorkbenchProjectLockIfInitialized(root, async () => {
3390
3384
  await requireInitialized(root);
3391
- await autoSyncDefaultRemote(root, options);
3392
3385
  const state = await loadState(root);
3393
3386
  await reconcileWorkbenchVersion(root, state, "current source");
3394
3387
  await saveState(root, state);
3395
- await autoSyncDefaultRemote(root, options);
3396
3388
  return readAgents(root);
3397
3389
  });
3398
3390
  }
@@ -3400,7 +3392,6 @@ export async function addWorkbenchAgent(input) {
3400
3392
  const root = resolveRoot(input.dir);
3401
3393
  return withWorkbenchProjectLockIfInitialized(root, async () => {
3402
3394
  await requireInitialized(root);
3403
- await autoSyncDefaultRemote(root, input);
3404
3395
  const agents = await readAgents(root);
3405
3396
  const agentName = normalizeManifestEntryName(input.name, path.join(".workbench", AGENTS_FILE), "agent");
3406
3397
  const adapter = input.adapter.trim();
@@ -3421,7 +3412,6 @@ export async function addWorkbenchAgent(input) {
3421
3412
  upsertAgentSnapshots(state.agents, next);
3422
3413
  await reconcileWorkbenchVersion(root, state, "agent source");
3423
3414
  await saveState(root, state);
3424
- await autoSyncDefaultRemote(root, input);
3425
3415
  return agent;
3426
3416
  });
3427
3417
  }
@@ -3429,7 +3419,6 @@ export async function removeWorkbenchAgent(name, options = {}) {
3429
3419
  const root = resolveRoot(options.dir);
3430
3420
  return withWorkbenchProjectLockIfInitialized(root, async () => {
3431
3421
  await requireInitialized(root);
3432
- await autoSyncDefaultRemote(root, options);
3433
3422
  const agents = await readAgents(root);
3434
3423
  const agentName = name.trim();
3435
3424
  const next = agents.filter((entry) => entry.name !== agentName);
@@ -3448,7 +3437,6 @@ export async function removeWorkbenchAgent(name, options = {}) {
3448
3437
  upsertAgentSnapshots(state.agents, next);
3449
3438
  await reconcileWorkbenchVersion(root, state, "agent source");
3450
3439
  await saveState(root, state);
3451
- await autoSyncDefaultRemote(root, options);
3452
3440
  return { removed: agentName };
3453
3441
  });
3454
3442
  }
@@ -3456,7 +3444,6 @@ export async function setDefaultWorkbenchAgent(name, options = {}) {
3456
3444
  const root = resolveRoot(options.dir);
3457
3445
  return withWorkbenchProjectLockIfInitialized(root, async () => {
3458
3446
  await requireInitialized(root);
3459
- await autoSyncDefaultRemote(root, options);
3460
3447
  const agents = await readAgents(root);
3461
3448
  const selection = name.trim();
3462
3449
  if (!selection) {
@@ -3470,7 +3457,6 @@ export async function setDefaultWorkbenchAgent(name, options = {}) {
3470
3457
  upsertAgentSnapshots(state.agents, agents);
3471
3458
  await reconcileWorkbenchVersion(root, state, "agent source");
3472
3459
  await saveState(root, state);
3473
- await autoSyncDefaultRemote(root, options);
3474
3460
  return { defaultAgent: selection };
3475
3461
  });
3476
3462
  }
@@ -3504,7 +3490,6 @@ export async function addWorkbenchRemote(name, url, options = {}) {
3504
3490
  }
3505
3491
  state.remotes[remoteName] = remote;
3506
3492
  await saveState(root, state);
3507
- await autoSyncDefaultRemote(root, options);
3508
3493
  return { remote, operation };
3509
3494
  });
3510
3495
  }
@@ -3534,11 +3519,9 @@ export async function listWorkbenchRemotes(options = {}) {
3534
3519
  const root = resolveRoot(options.dir);
3535
3520
  return withWorkbenchProjectLockIfInitialized(root, async () => {
3536
3521
  await requireInitialized(root);
3537
- await autoSyncDefaultRemote(root, options);
3538
3522
  const state = await loadState(root);
3539
3523
  await reconcileWorkbenchVersion(root, state, "current source");
3540
3524
  await saveState(root, state);
3541
- await autoSyncDefaultRemote(root, options);
3542
3525
  const syncedState = await loadState(root);
3543
3526
  return Object.values(syncedState.remotes).sort((left, right) => left.name.localeCompare(right.name));
3544
3527
  });
@@ -3679,13 +3662,6 @@ function assertPublishableRemote(remote) {
3679
3662
  exitCode: 1,
3680
3663
  });
3681
3664
  }
3682
- async function autoSyncDefaultRemote(root, options = {}) {
3683
- const state = await loadState(root);
3684
- if (Object.keys(state.remotes).length === 0) {
3685
- return;
3686
- }
3687
- await syncWorkbenchRemote({ dir: root, authToken: options.authToken }).catch(() => undefined);
3688
- }
3689
3665
  export function createWorkbenchInspectionSnapshotFromState(options) {
3690
3666
  const state = options.state;
3691
3667
  const root = options.root ?? state.root;
@@ -3708,7 +3684,7 @@ export function createWorkbenchInspectionSnapshotFromState(options) {
3708
3684
  .map((remote) => ({ ...remote }))
3709
3685
  .sort((left, right) => left.name.localeCompare(right.name));
3710
3686
  const lastRun = state.runs
3711
- .filter((run) => run.status === "succeeded" && typeof run.score === "number")
3687
+ .filter((run) => typeof run.score === "number")
3712
3688
  .sort((left, right) => right.createdAt.localeCompare(left.createdAt))[0];
3713
3689
  const status = {
3714
3690
  root,
@@ -4741,9 +4717,7 @@ async function executeWorkbenchEvaluationRun(args) {
4741
4717
  run.finishedAt = finishedAt;
4742
4718
  run.status = jobs.every((job) => job.status === "succeeded") ? "succeeded" : "failed";
4743
4719
  delete run.score;
4744
- const scoredJobs = run.status === "succeeded"
4745
- ? jobs.filter((job) => job.status === "succeeded" && typeof job.score === "number")
4746
- : [];
4720
+ const scoredJobs = jobs.filter((job) => typeof job.score === "number");
4747
4721
  if (scoredJobs.length > 0) {
4748
4722
  run.score = Number((scoredJobs.reduce((sum, job) => sum + (job.score ?? 0), 0) / scoredJobs.length).toFixed(3));
4749
4723
  }
@@ -4827,12 +4801,15 @@ function skillEvalObjectsFromRemoteJob(args) {
4827
4801
  const output = asRuntimeRecord(args.remoteJob.output);
4828
4802
  const status = args.remoteJob.status === "succeeded" ? "succeeded" :
4829
4803
  args.remoteJob.status === "cancelled" ? "canceled" : "failed";
4830
- const score = status === "succeeded" && args.runtimeCase.smoke !== true
4831
- ? readWorkbenchSkillRunOutputScore(output) ?? 0
4832
- : undefined;
4804
+ const outputScore = readWorkbenchSkillRunOutputScore(output);
4805
+ const score = outputScore !== undefined
4806
+ ? outputScore
4807
+ : status === "succeeded"
4808
+ ? 0
4809
+ : undefined;
4833
4810
  const usage = readWorkbenchSkillRunOutputUsage(output);
4834
4811
  const outputResult = jsonRecord(output.result);
4835
- if (args.runtimeCase.smoke === true || status !== "succeeded") {
4812
+ if (status !== "succeeded" && score === undefined) {
4836
4813
  stripResultScores(outputResult);
4837
4814
  }
4838
4815
  const resultPayload = {
@@ -4843,7 +4820,7 @@ function skillEvalObjectsFromRemoteJob(args) {
4843
4820
  ...(score !== undefined ? { score } : {}),
4844
4821
  ...(args.remoteJob.error ? { error: args.remoteJob.error } : {}),
4845
4822
  };
4846
- if (args.runtimeCase.smoke === true || status !== "succeeded") {
4823
+ if (status !== "succeeded" && score === undefined) {
4847
4824
  stripResultScores(resultPayload);
4848
4825
  }
4849
4826
  const files = Array.isArray(output.files)
@@ -4903,7 +4880,7 @@ function skillEvalObjectsFromRemoteJob(args) {
4903
4880
  caseId: args.runtimeCase.id,
4904
4881
  sample: args.sample,
4905
4882
  status,
4906
- ...(status === "succeeded" && score !== undefined ? { score } : {}),
4883
+ ...(score !== undefined ? { score } : {}),
4907
4884
  command: configString(asRuntimeRecord(asRuntimeRecord(jsonRecord(args.remoteJob.input).execution).adapter).with, "command"),
4908
4885
  artifactIds: [artifact.id],
4909
4886
  traceIds: [trace.id],
@@ -5414,7 +5391,7 @@ async function executeAdapterBackedSkillImprovementPatch(args) {
5414
5391
  loadLocalAdapterAuthProfiles: isProviderBackedSkillEvalAgent(args.agent),
5415
5392
  });
5416
5393
  if (completed.status !== "succeeded") {
5417
- throw new WorkbenchUserError(`Improve adapter failed: ${completed.error ?? "no patch produced"}`);
5394
+ throw new WorkbenchUserError(`Improve adapter failed: ${completed.error ? publicRuntimeErrorSummary(completed.error) : "no patch produced"}`);
5418
5395
  }
5419
5396
  const patch = readWorkbenchSkillImprovementPatchFromRemoteJob(completed);
5420
5397
  if (!patch || patch.fileChanges.length === 0) {
@@ -5551,6 +5528,20 @@ function traceFileSnippet(trace, filePath) {
5551
5528
  function singleLine(value) {
5552
5529
  return value.replace(/\s+/gu, " ").trim();
5553
5530
  }
5531
+ function publicRuntimeErrorSummary(value) {
5532
+ const lines = value
5533
+ .split(/\r?\n/u)
5534
+ .map((line) => line.trim())
5535
+ .filter(Boolean);
5536
+ const errorLine = lines.find((line) => /^[A-Za-z_$][\w.$]*Error:/u.test(line));
5537
+ if (errorLine) {
5538
+ return singleLine(errorLine);
5539
+ }
5540
+ const nonStackLine = lines.find((line) => !/^at\s/u.test(line) &&
5541
+ !/^\(?node:/u.test(line) &&
5542
+ !/:\d+:\d+\)?$/u.test(line));
5543
+ return singleLine(nonStackLine ?? value);
5544
+ }
5554
5545
  function truncateText(value, maxLength) {
5555
5546
  return value.length > maxLength ? `${value.slice(0, Math.max(0, maxLength - 3))}...` : value;
5556
5547
  }
@@ -6961,7 +6952,7 @@ async function writeObjectPackFiles(root, pack) {
6961
6952
  }
6962
6953
  await writeJsonl(path.join(root, "indexes", "versions.jsonl"), pack.versions);
6963
6954
  await writeJsonl(path.join(root, "indexes", "lineage.jsonl"), pack.lineage);
6964
- await writeJsonl(path.join(root, "indexes", "measurements.jsonl"), pack.runs.filter((run) => run.status === "succeeded" && run.score !== undefined));
6955
+ await writeJsonl(path.join(root, "indexes", "measurements.jsonl"), pack.runs.filter((run) => run.score !== undefined));
6965
6956
  await writeJsonl(path.join(root, "indexes", "runs.jsonl"), pack.runs);
6966
6957
  await writeJsonl(path.join(root, "indexes", "jobs.jsonl"), pack.jobs);
6967
6958
  await writeJsonl(path.join(root, "indexes", "execution-events.jsonl"), pack.executionEvents);
@@ -7327,7 +7318,7 @@ function comparisonCellRunFields(run, jobs) {
7327
7318
  return {
7328
7319
  runId: run.id,
7329
7320
  status: run.status,
7330
- ...(run.status === "succeeded" && run.score !== undefined ? { score: run.score } : {}),
7321
+ ...(run.score !== undefined ? { score: run.score } : {}),
7331
7322
  ...(run.costUsd !== undefined ? { costUsd: run.costUsd } : {}),
7332
7323
  ...(run.latencyMs !== undefined ? { latencyMs: run.latencyMs } : {}),
7333
7324
  ...(run.error ? { error: run.error } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/sandbox-backends/docker.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EACV,8BAA8B,EAC/B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,KAAK,wBAAwB,EAE7B,KAAK,yBAAyB,EAE9B,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AA8C7B,wBAAgB,oCAAoC,IACjD,wBAAwB,CAY1B;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,8BAA8B,EACpC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,yBAAyB,GACnC,YAAY,CAmDd"}
1
+ {"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/sandbox-backends/docker.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EACV,8BAA8B,EAC/B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,KAAK,wBAAwB,EAE7B,KAAK,yBAAyB,EAE9B,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AA8C7B,wBAAgB,oCAAoC,IACjD,wBAAwB,CAY1B;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,8BAA8B,EACpC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,yBAAyB,GACnC,YAAY,CAoDd"}
@@ -40,6 +40,7 @@ export function createDockerSandboxPlane(args, startedAt, fileStore) {
40
40
  importNodeModule(nodeBuiltin("util")),
41
41
  ]);
42
42
  const execFileAsync = promisify(execFile);
43
+ await assertDockerSandboxAvailable(execFileAsync);
43
44
  const templateImage = await prepareDockerTemplateImage(execution, args, execFileAsync);
44
45
  await ensureDockerExecutionImage(templateImage, execFileAsync);
45
46
  return {
@@ -136,6 +137,7 @@ async function prepareDockerSandboxWorkspace(args, request, startedAt) {
136
137
  importNodeModule(nodeBuiltin("util")),
137
138
  ]);
138
139
  const execFileAsync = promisify(execFile);
140
+ await assertDockerSandboxAvailable(execFileAsync);
139
141
  const sandboxUser = dockerSandboxUser();
140
142
  const workdir = args.workdir ?? os.tmpdir();
141
143
  const sandboxRoot = path.join(workdir, "workbench-docker", request.allocation.sandboxId);
@@ -171,6 +173,39 @@ async function prepareDockerSandboxWorkspace(args, request, startedAt) {
171
173
  ...(args.progress ? { progressTarget: args.progress } : {}),
172
174
  };
173
175
  }
176
+ async function assertDockerSandboxAvailable(execFileAsync) {
177
+ try {
178
+ await execFileAsync("docker", ["info", "--format", "{{json .ServerVersion}}"], { maxBuffer: 1024 * 1024 });
179
+ }
180
+ catch (error) {
181
+ throw new Error(`Docker sandbox unavailable: Docker must be installed and running before Workbench can execute this eval. ${dockerUnavailableDetail(error)}`);
182
+ }
183
+ }
184
+ function dockerUnavailableDetail(error) {
185
+ const record = error && typeof error === "object" ? error : {};
186
+ const code = typeof record.code === "string" ? record.code : "";
187
+ if (code === "ENOENT") {
188
+ return "The docker CLI was not found on PATH.";
189
+ }
190
+ const stderr = bufferLikeToString(record.stderr).trim();
191
+ if (stderr) {
192
+ return stderr.split(/\r?\n/u)[0] ?? stderr;
193
+ }
194
+ const stdout = bufferLikeToString(record.stdout).trim();
195
+ if (stdout) {
196
+ return stdout.split(/\r?\n/u)[0] ?? stdout;
197
+ }
198
+ return error instanceof Error ? error.message : String(error);
199
+ }
200
+ function bufferLikeToString(value) {
201
+ if (typeof value === "string") {
202
+ return value;
203
+ }
204
+ if (Buffer.isBuffer(value)) {
205
+ return value.toString("utf8");
206
+ }
207
+ return "";
208
+ }
174
209
  async function runDockerSandboxExecution(args, sandbox, execution) {
175
210
  const metadata = asRuntimeRecord(sandbox.metadata);
176
211
  const root = readRequiredMetadataString(metadata, "root", DOCKER_SANDBOX_BACKEND);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workbench-ai/workbench-core",
3
- "version": "0.0.74",
3
+ "version": "0.0.75",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/workbench-ai/workbench.git",
@@ -22,8 +22,8 @@
22
22
  ],
23
23
  "dependencies": {
24
24
  "yaml": "^2.8.2",
25
- "@workbench-ai/workbench-contract": "0.0.74",
26
- "@workbench-ai/workbench-protocol": "0.0.74"
25
+ "@workbench-ai/workbench-contract": "0.0.75",
26
+ "@workbench-ai/workbench-protocol": "0.0.75"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/node": "^24.3.1",