{"record":{"id":"4999766b93ab865c","repo":"Fission-AI/OpenSpec","slug":"archive-change-not-found","errorCode":"archive_change_not_found","errorMessage":"Change '${changeName}' not found. Available changes: ${available.join(', ')}","messagePattern":"Change '(.+?)' not found\\. Available changes: (.+?)","errorType":"exception","errorClass":"ArchiveBlockedError","httpStatus":null,"severity":"error","filePath":"src/core/archive.ts","lineNumber":1172,"sourceCode":"\n    const changeDir = path.join(changesDir, changeName);\n\n    // Verify change exists\n    try {\n      const stat = await fs.lstat(changeDir);\n      if (stat.isSymbolicLink()) {\n        throw new ArchiveBlockedError(\n          'archive_change_symlink',\n          `Change '${changeName}' is a symbolic link. Replace it with a real directory before archiving.`\n        );\n      }\n      if (!stat.isDirectory()) {\n        throw new Error(`Change '${changeName}' not found.`);\n      }\n    } catch (error) {\n      if (error instanceof ArchiveBlockedError) throw error;\n      const available = await listActiveChangeNames(changesDir);\n      throw new ArchiveBlockedError(\n        'archive_change_not_found',\n        available.length > 0\n          ? `Change '${changeName}' not found. Available changes: ${available.join(', ')}`\n          : `Change '${changeName}' not found. No active changes exist in this root.`\n      );\n    }\n\n    const skipValidation = options.validate === false || options.noValidate === true;\n\n    // Validate specs and change before archiving\n    if (!skipValidation) {\n      const validator = new Validator();\n      let hasValidationErrors = false;\n\n      // Validate proposal.md (informative only; human mode prints warnings)\n      if (!json) {\n        const changeFile = path.join(changeDir, 'proposal.md');\n        try {","sourceCodeStart":1154,"sourceCodeEnd":1190,"githubUrl":"https://github.com/Fission-AI/OpenSpec/blob/6926ccb18afa4ff621112813e9968334576ee11a/src/core/archive.ts#L1154-L1190","documentation":"Error \"Change '${changeName}' not found. Available changes: ${available.join(', ')}\" thrown in Fission-AI/OpenSpec.","triggerScenarios":"Thrown at src/core/archive.ts:1172 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"}