JuliusBrussee/caveman · error · Error

caveman build: seeds must be a non-empty unique set

Error message

caveman build: seeds must be a non-empty unique set

What it means

Error "caveman build: seeds must be a non-empty unique set" thrown in JuliusBrussee/caveman.

Source

Thrown at packages/agent/src/build.ts:235

export async function compile(input: CompileInput): Promise<CompileResult> {
  // An unsandboxed run cannot produce a lock. Host mode runs tool
  // closures in the host process, so its evidence shows no containment and is
  // refused here rather than downgraded to a soft status. The whole definition
  // graph is checked, not just the root: a host subagent under a fixture root
  // runs its closures in this process exactly as a host root would, and the CLI
  // saves that lock all the same. Coding agents lock by compiling against
  // fixture corpora with a contained sandbox mode.
  if (graphUsesHostSandbox(input.agent)) {
    throw new Error("cave_host_sandbox_lock_ineligible");
  }
  const approved = input.evals.filter((fixture) => fixture.approved && fixture.required);
  if (approved.length === 0) {
    return emptyResult("needs_eval", "no approved required eval fixture");
  }
  const seeds = input.seeds ?? [1, 2, 3, 4, 5];
  if (seeds.length === 0 || new Set(seeds).size !== seeds.length) {
    throw new Error("caveman build: seeds must be a non-empty unique set");
  }
  const candidates = input.candidates ?? generateCandidatePlans(
    input.agent,
    input.contextIR,
    input.baselinePlan,
    input.modelCandidates ?? [input.baselinePlan.model],
    true,
    new Map(),
    ENGINE_TRANSFORM_CAPABILITIES,
    new Set(input.evals.some((fixture) =>
      fixture.quality.some((grader) => grader.type === "tool_called"))
      ? ["history", "tool_result"] as ContextKind[]
      : []),
    // The public compile() enforces the same model/safety policy and catalog
    // pricing the CLI does — an unpriced or policy-denied model is rejected
    // here, not only in the CLI.
    {
      ...(input.config.allowedModels === undefined ? {} : { allowedModels: input.config.allowedModels }),

View on GitHub (pinned to 27d5a3981a)

Solutions

  1. Pass at least one seed and remove duplicate seeds from the build config.

When it happens

Trigger: Thrown at packages/agent/src/build.ts:235 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/207a569e5090bbad. Report an issue: GitHub.