Fission-AI/OpenSpec · error · ArchiveBlockedError

archive_spec_validation_failed

archive_spec_validation_failed

Error message

Rebuilt spec for '${specName}' failed validation. No files were changed.

What it means

Error "Rebuilt spec for '${specName}' failed validation. No files were changed." thrown in Fission-AI/OpenSpec.

Source

Thrown at src/core/archive.ts:1666

                        : '')
                    : undefined;
                // The marker was set and retirement was still refused. Saying
                // nothing left the author who did exactly what the docs asked
                // back in the original dead end with no signal that their
                // marker had been read at all.
                // The author asked for a retirement and got the bare
                // validation abort. Name the lines that stood in the way.
                const refusalReason =
                  retirementDeclared &&
                  p.unaccountedContent.length > 0 &&
                  (await isRetirableSpec(specName, p.rebuilt))
                    ? `'${specName}' declares retire_capabilities, but the spec holds content the merge ` +
                      `cannot safely account for and deleting the file would take with it: ` +
                      `${describeUnaccountedContent(p.unaccountedContent)}. ` +
                      'Move it into `## Purpose` or a canonical requirement, or delete the spec by hand.'
                    : undefined;
                if (json) {
                  throw new ArchiveBlockedError(
                    'archive_spec_validation_failed',
                    `Rebuilt spec for '${specName}' failed validation. No files were changed.`,
                    refusalReason ??
                      retirementHint ??
                      blockedRetirementHint ??
                      `Run ${withStoreFlag(root, `openspec validate ${specName}`)} after fixing the change deltas.`
                  );
                }
                console.log(chalk.red(`\nValidation errors in rebuilt spec for ${specName} (will not write changes):`));
                for (const issue of report.issues) {
                  if (issue.level === 'ERROR') console.log(chalk.red(`  ✗ ${issue.message}`));
                  else if (issue.level === 'WARNING') console.log(chalk.yellow(`  ⚠ ${issue.message}`));
                }
                if (retirementHint) console.log(chalk.yellow(`  → ${retirementHint}`));
                if (blockedRetirementHint) console.log(chalk.yellow(`  → ${blockedRetirementHint}`));
                if (refusalReason) console.log(chalk.yellow(`  → ${refusalReason}`));
                console.log('Aborted. No files were changed.');
                process.exitCode = 1;

View on GitHub (pinned to 6926ccb18a)

When it happens

Trigger: Thrown at src/core/archive.ts:1666 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of Fission-AI/OpenSpec@6926ccb18a (2026-08-25). Data as JSON: /api/errors/0283dbaba3dea96d. Report an issue: GitHub.