{"record":{"id":"eef31c1187fc9a13","repo":"Fission-AI/OpenSpec","slug":"archive-tasks-incomplete","errorCode":"archive_tasks_incomplete","errorMessage":"${incompleteTasks} incomplete task(s) found for change '${changeName}'.","messagePattern":"(.+?) incomplete task\\(s\\) found for change '(.+?)'\\.","errorType":"exception","errorClass":"ArchiveBlockedError","httpStatus":null,"severity":"error","filePath":"src/core/archive.ts","lineNumber":1345,"sourceCode":"        console.log(chalk.yellow(`\\n⚠️  WARNING: Skipping validation may archive invalid specs.`));\n      }\n\n      console.log(chalk.yellow(`[${timestamp}] Validation skipped for change: ${changeName}`));\n      console.log(chalk.yellow(`Affected files: ${changeDir}`));\n    }\n\n    // Show progress and check for incomplete tasks\n    const progress = await getTaskProgressForChange(changesDir, changeName, path.resolve(changesDir, '..', '..'));\n    if (!json) {\n      const status = formatTaskStatus(progress);\n      console.log(`Task status: ${status}`);\n    }\n\n    const incompleteTasks = Math.max(progress.total - progress.completed, 0);\n    if (incompleteTasks > 0) {\n      if (json) {\n        if (!options.yes) {\n          throw new ArchiveBlockedError(\n            'archive_tasks_incomplete',\n            `${incompleteTasks} incomplete task(s) found for change '${changeName}'.`,\n            'Complete the tasks or rerun with --yes.'\n          );\n        }\n      } else if (!options.yes) {\n        const proceed = await confirmOrBlock(\n          {\n            message: `Warning: ${incompleteTasks} incomplete task(s) found. Continue?`,\n            default: false\n          },\n          () =>\n            new ArchiveBlockedError(\n              'archive_tasks_incomplete',\n              `${incompleteTasks} incomplete task(s) found for change '${describeChangeName(changeName!)}', and no answer could be read from stdin.`,\n              `Complete the tasks or rerun with ${rerunCommand(root, changeName!, options)}`\n            )\n        );","sourceCodeStart":1327,"sourceCodeEnd":1363,"githubUrl":"https://github.com/Fission-AI/OpenSpec/blob/6926ccb18afa4ff621112813e9968334576ee11a/src/core/archive.ts#L1327-L1363","documentation":"Error \"${incompleteTasks} incomplete task(s) found for change '${changeName}'.\" thrown in Fission-AI/OpenSpec.","triggerScenarios":"Thrown at src/core/archive.ts:1345 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"}