JuliusBrussee/caveman · error · Error
schema failed to compile: ${schema.$id}
Error message
schema failed to compile: ${schema.$id} What it means
Error "schema failed to compile: ${schema.$id}" thrown in JuliusBrussee/caveman.
Source
Thrown at packages/shared/contracts/scripts/validate-schemas.mjs:32
}
const schemas = [];
for (const file of files) {
const schema = JSON.parse(await readFile(path.join(schemaRoot, file), "utf8"));
if (schema.$schema !== "https://json-schema.org/draft/2020-12/schema") {
throw new Error(`${file}: unsupported or missing $schema`);
}
if (typeof schema.$id !== "string" || schema.$id.length === 0) {
throw new Error(`${file}: missing $id`);
}
schemas.push(schema);
}
const ajv = new Ajv2020({ allErrors: true, strict: true });
ajv.addSchema(schemas);
for (const schema of schemas) {
const validate = ajv.getSchema(schema.$id);
if (!validate) throw new Error(`schema failed to compile: ${schema.$id}`);
}
const agentFixtureRoot = path.join(packageRoot, "fixtures", "agent");
const fixtureFiles = (await readdir(agentFixtureRoot))
.filter((name) => name.endsWith(".json"))
.sort();
if (fixtureFiles.length !== 2) {
throw new Error(`expected exactly 2 agent conformance fixtures, found ${fixtureFiles.length}`);
}
const fixtures = await Promise.all(
fixtureFiles.map(async (file) => JSON.parse(await readFile(path.join(agentFixtureRoot, file), "utf8"))),
);
const validateAdapterConformance = ajv.getSchema(
"https://caveman.so/schemas/adapter-conformance.schema.json",
);
if (!validateAdapterConformance) {View on GitHub (pinned to 27d5a3981a)
Solutions
- Fix the schema so it compiles (resolve invalid references or keywords).
When it happens
Trigger: Thrown at packages/shared/contracts/scripts/validate-schemas.mjs:32 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/cbe40c62738d862c.
Report an issue: GitHub.