JuliusBrussee/caveman · error

cave_transform_trace_limit

Error message

cave_transform_trace_limit

What it means

Error "cave_transform_trace_limit" thrown in JuliusBrussee/caveman.

Source

Thrown at packages/agent/src/runtime.ts:3673

  return value !== null && typeof value === "object" && !Array.isArray(value);
}

function volatileStablePrefix(instructions: string, tools: readonly ToolDefinition[]): boolean {
  const value = `${instructions}\n${stableStringify(tools.map((item) => ({
    name: item.name,
    description: item.description,
    input: item.input,
  })))}`;
  return [
    /\b20[0-9]{2}-[01][0-9]-[0-3][0-9][T ][0-2][0-9]:[0-5][0-9]/,
    /\b[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\b/i,
    /["'](?:run|request|build|trace|span)[_-]?id["']\s*:/i,
    /["']nonce["']\s*:/i,
  ].some((pattern) => pattern.test(value));
}

function serializeTransformTrace(trace: readonly TransformTrace[]): string {
  if (trace.length > 64) throw new Error("cave_transform_trace_limit");
  const value = trace.map((item) => [
    item.transformID,
    item.segmentKind,
    item.safetyClass,
    item.outcome,
    item.beforeTokens,
    item.afterTokens,
    item.recoveryKind,
    item.recoveryUsed ? 1 : 0,
    item.latencyMs,
  ].join("|")).join(",");
  if (value.length > 8_192) throw new Error("cave_transform_trace_limit");
  return value;
}

function mergeHeaders(first: ProviderHeaders | undefined, second: ProviderHeaders): ProviderHeaders {
  return { ...(first ?? {}), ...second };
}

View on GitHub (pinned to 27d5a3981a)

Solutions

  1. Reduce the number of transform trace entries or raise the configured trace limit.

When it happens

Trigger: Thrown at packages/agent/src/runtime.ts:3673 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of JuliusBrussee/caveman@27d5a3981a (2026-08-15). Data as JSON: /api/errors/c8890eb8d864399d. Report an issue: GitHub.