ADR-0024: Draft / In-Review Cancellation¶
- Status: accepted
- Date: 2026-06-18
- Deciders: Nicolas Burri
- Extends: ADR-0003; review finding RV-06
Context¶
ADR-0003's fixed state set (DRAFT → IN_REVIEW → RELEASED → REVOKED) provides no way to
terminally abandon a version that will never be released — a draft started in error,
or an in-review version whose review is dropped. Only reject (IN_REVIEW → DRAFT) exists,
so such a version lingers forever. The spec review flagged this as a real gap (RV-06).
Decision¶
Add one terminal state, CANCELLED, and a cancel transition:
cancel: DRAFT → CANCELLED and IN_REVIEW → CANCELLED, executable by a role with the transition permission (review policy, ADR-0003/0012). Typically the author may cancel their own draft; cancelling an in-review version follows the policy.CANCELLEDis terminal: a cancelled version is never effective and is not reopened — to proceed, a new version/draft is started.- Cancelled versions are retained (immutable, audited), not deleted — preserving the record that work existed and was abandoned.
Updated state set: DRAFT → IN_REVIEW → RELEASED → REVOKED, plus CANCELLED (terminal,
from DRAFT or IN_REVIEW). RELEASED/REVOKED semantics unchanged.
Consequences¶
- REQ-LC-001 (state set) and REQ-LC-002 (transitions) are amended; a cancel audit event is produced (REQ-AUD-001).
- Document history shows cancelled versions; they never participate in "currently effective version" (ADR-0015).
- Disposal/retention (ADR-0016) applies to cancelled versions like any record.
Requirements¶
Amends REQ-LC-001/002; adds REQ-LC-015 (pending requirements baseline v1.3).