Check reference
Keep a requirement's retirement record
Deleting a requirement file can erase the visible reason a behavior was required. This check compares the current corpus with a captured baseline so disappearing intent becomes a review finding.
What the check observes
The check compares baseline requirement IDs with the IDs that still exist on disk. A requirement that is physically absent cannot provide its own retained retirement record. The practical repair is to restore the record and use the lifecycle flow, preserving its identity and reason. Renaming a file while keeping the same requirement ID is different from making the requirement ID disappear.
Example: cleanup removes an old guarantee
Illustrative case. A refactor deletes SYS-REQ-042 because its implementation was replaced. The replacement may still owe the same guarantee. The missing record hides whether that guarantee was transferred, withdrawn, or accidentally dropped.
# Compare against the project's captured baseline
proof audit --scope baseline --check deletion_without_retirement --verbose
# Inspect the lifecycle commands before recording the decision
proof req retire --help
proof req supersede --helpResolve the finding
- Recover the deleted requirement from version history and compare its promise with the replacement behavior.
- Use retirement when the obligation is legitimately withdrawn, or supersession when another requirement replaces it. Record the reason under the project's authority policy.
- Review remaining child, implementation, test, and change links. Preserve the lifecycle record so future readers can reconstruct why the old ID stopped being active.
Run and interpret
proof audit --scope baseline --check deletion_without_retirement --verboseThe current implementation is a specification-stage error check activated by baseline comparison. Without a usable baseline, it reports that no comparison is available; that is not evidence that no requirement disappeared.
The check detects missing IDs relative to its baseline. It cannot decide whether retirement was justified or whether replacement behavior preserves intent. A baseline chosen after the deletion also cannot reveal that earlier loss. Keep the reviewed baseline and lifecycle decision alongside the change.
Continue from here
Understand requirement lifecycle decisions. Connect changes to review history.
Bring a requirement removal and its proposed replacement so the disposition can be reviewed. Bring a change to Proof.