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 --help

Resolve the finding

  1. Recover the deleted requirement from version history and compare its promise with the replacement behavior.
  2. Use retirement when the obligation is legitimately withdrawn, or supersession when another requirement replaces it. Record the reason under the project's authority policy.
  3. 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 --verbose

The 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.