{"record":{"id":"66b9438e1e60c83e","repo":"Fission-AI/OpenSpec","slug":"unknown-schema-schemaname-available-avail","errorCode":null,"errorMessage":"Unknown schema '${schemaName}'. Available: ${availableSchemas.join(', ')}","messagePattern":"Unknown schema '(.+?)'\\. Available: (.+?)","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"src/utils/change-metadata.ts","lineNumber":38,"sourceCode":"    this.name = 'ChangeMetadataError';\n  }\n}\n\n/**\n * Validates that a schema name is valid (exists in available schemas).\n *\n * @param schemaName - The schema name to validate\n * @param projectRoot - Optional project root for project-local schema resolution\n * @returns The validated schema name\n * @throws Error if schema is not found\n */\nexport function validateSchemaName(\n  schemaName: string,\n  projectRoot?: string\n): string {\n  const availableSchemas = listSchemas(projectRoot);\n  if (!availableSchemas.includes(schemaName)) {\n    throw new Error(\n      `Unknown schema '${schemaName}'. Available: ${availableSchemas.join(', ')}`\n    );\n  }\n  return schemaName;\n}\n\n/**\n * Writes change metadata to .openspec.yaml in the change directory.\n *\n * @param changeDir - The path to the change directory\n * @param metadata - The metadata to write\n * @param projectRoot - Optional project root for project-local schema resolution\n * @throws ChangeMetadataError if validation fails or write fails\n */\nexport function writeChangeMetadata(\n  changeDir: string,\n  metadata: ChangeMetadata,\n  projectRoot?: string","sourceCodeStart":20,"sourceCodeEnd":56,"githubUrl":"https://github.com/Fission-AI/OpenSpec/blob/6926ccb18afa4ff621112813e9968334576ee11a/src/utils/change-metadata.ts#L20-L56","documentation":"Error \"Unknown schema '${schemaName}'. Available: ${availableSchemas.join(', ')}\" thrown in Fission-AI/OpenSpec.","triggerScenarios":"Thrown at src/utils/change-metadata.ts:38 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6926ccb18afa4ff621112813e9968334576ee11a","analyzedAt":"2026-08-25T12:29:45.729Z","schemaVersion":2},"datasetVersion":"2026-08-25T16:17:27.014Z"}