OpenSpec currently has no durable way to archive a change that removes every requirement from a capability. A delta whose REMOVED entries cover all canonical requirements rebuilds the main spec empty and fails validation with "Spec must have at least one requirement". Pre-deleting the canonical spec does not help because the REMOVED-only delta is then treated like a create and still lands on an empty spec.
Requested behavior: either treat a REMOVED-only delta that covers every canonical requirement as retiring the capability and delete openspec/specs//, or add an explicit retirement marker that validates and archives without creating an empty spec.
This would let automation archive capability retirements without broad --no-validate workarounds or manual set-aside of the delta spec. Superdir is carrying temporary mechanics for this until native OpenSpec support exists.
OpenSpec currently has no durable way to archive a change that removes every requirement from a capability. A delta whose REMOVED entries cover all canonical requirements rebuilds the main spec empty and fails validation with "Spec must have at least one requirement". Pre-deleting the canonical spec does not help because the REMOVED-only delta is then treated like a create and still lands on an empty spec.
Requested behavior: either treat a REMOVED-only delta that covers every canonical requirement as retiring the capability and delete openspec/specs//, or add an explicit retirement marker that validates and archives without creating an empty spec.
This would let automation archive capability retirements without broad --no-validate workarounds or manual set-aside of the delta spec. Superdir is carrying temporary mechanics for this until native OpenSpec support exists.