{"record":{"id":"f4ecd091761a0232","repo":"Fission-AI/OpenSpec","slug":"validation-error-f4ecd0","errorCode":null,"errorMessage":"${validation.error}","messagePattern":"\\$\\{validation\\.error\\}","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"src/utils/change-utils.ts","lineNumber":139,"sourceCode":" * @example\n * // Creates openspec/changes/add-auth/ with default schema\n * const result = await createChange('/path/to/project', 'add-auth')\n * console.log(result.schema) // 'spec-driven' or value from config\n *\n * @example\n * // Creates openspec/changes/add-auth/ with custom schema\n * const result = await createChange('/path/to/project', 'add-auth', { schema: 'my-workflow' })\n * console.log(result.schema) // 'my-workflow'\n */\nexport async function createChange(\n  projectRoot: string,\n  name: string,\n  options: CreateChangeOptions = {}\n): Promise<CreateChangeResult> {\n  // Validate the name first\n  const validation = validateChangeName(name);\n  if (!validation.valid) {\n    throw new Error(validation.error);\n  }\n\n  const defaultSchema = options.defaultSchema ?? DEFAULT_SCHEMA;\n\n  // Determine schema: explicit option → project config → supplied default\n  let schemaName: string;\n  if (options.schema) {\n    schemaName = options.schema;\n  } else {\n    // Try to read from project config\n    try {\n      const config = readProjectConfig(projectRoot);\n      schemaName = config?.schema ?? defaultSchema;\n    } catch {\n      // If config read fails, use default\n      schemaName = defaultSchema;\n    }\n  }","sourceCodeStart":121,"sourceCodeEnd":157,"githubUrl":"https://github.com/Fission-AI/OpenSpec/blob/6926ccb18afa4ff621112813e9968334576ee11a/src/utils/change-utils.ts#L121-L157","documentation":"Error \"${validation.error}\" thrown in Fission-AI/OpenSpec.","triggerScenarios":"Thrown at src/utils/change-utils.ts:139 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"}