JuliusBrussee/caveman · error · Error
cave_host_sandbox_lock_ineligible
Error message
cave_host_sandbox_lock_ineligible
What it means
Error "cave_host_sandbox_lock_ineligible" thrown in JuliusBrussee/caveman.
Source
Thrown at packages/agent/src/build.ts:227
evidence: Array<{ fixture: string; seed: number; value: RunEvidence }>;
costPerTask: number;
errorRate: number;
p95Latency: number;
fixturePassRate: number;
retentionLCB95: number;
passing: boolean;
};
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) =>View on GitHub (pinned to 27d5a3981a)
Solutions
- Use a sandbox mode that is eligible for locking (the required sandbox); nested or weaker sandboxes cannot be locked.
When it happens
Trigger: Thrown at packages/agent/src/build.ts:227 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/a0ecc47d29ae412a.
Report an issue: GitHub.