Fission-AI/OpenSpec · error
${specName} - ${plan.removed.length} REMOVED requirement(s)
Error message
${specName} - ${plan.removed.length} REMOVED requirement(s) ignored for new spec (nothing to remove). What it means
Error "${specName} - ${plan.removed.length} REMOVED requirement(s) ignored for new spec (nothing to remove)." thrown in Fission-AI/OpenSpec.
Source
Thrown at src/core/specs-apply.ts:333
const existingPurpose = extractPurposeSection(targetContent);
if (existingPurpose && existingPurpose !== deltaPurpose) {
warn(
`${specName} - delta Purpose ignored; ${specName} already has one. ` +
`Edit ${update.target} directly to change it.`
);
}
}
} catch {
// Target spec does not exist; MODIFIED and RENAMED are not allowed for new specs
// REMOVED will be ignored with a warning since there's nothing to remove
if (plan.modified.length > 0 || plan.renamed.length > 0) {
throw new Error(
`${specName}: target spec does not exist; only ADDED requirements are allowed for new specs. MODIFIED and RENAMED operations require an existing spec.`
);
}
// Warn about REMOVED requirements being ignored for new specs
if (plan.removed.length > 0) {
warn(
`${specName} - ${plan.removed.length} REMOVED requirement(s) ignored for new spec (nothing to remove).`
);
}
isNewSpec = true;
targetContent = buildSpecSkeleton(specName, changeName, deltaPurpose);
const overview = deltaPurpose ? readableOverview(targetContent, specName) : null;
if (deltaPurpose && !overview) {
// Keep the placeholder rather than turning this into a failure: these
// deltas archived cleanly before the Purpose carry-over existed.
targetContent = buildSpecSkeleton(specName, changeName);
warn(
`${specName} - delta Purpose ignored (it would leave the new spec unreadable); wrote the placeholder Purpose instead.`
);
} else if (overview && overview.length < MIN_PURPOSE_LENGTH) {
// The placeholder always cleared this threshold, so a carried Purpose is
// the first way archive can leave a spec that `validate --strict` fails.
// Measured on the parsed overview, which is what the validator reads.
warn(View on GitHub (pinned to 6926ccb18a)
When it happens
Trigger: Thrown at src/core/specs-apply.ts:333 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/c2740b9e74a290f6.
Report an issue: GitHub.