From d388002fec9dbf7e59d3304d90e3574930e5524a Mon Sep 17 00:00:00 2001 From: Cal Corum Date: Wed, 11 Feb 2026 14:50:14 -0600 Subject: [PATCH] feat: add cancelled status for archiving discarded entries Entries in On Docket or In Progress can be moved to Cancelled via the right-click context menu. Cancelled entries are preserved on disk but hidden from the board. Co-Authored-By: Claude Opus 4.6 --- src/my_memory/board_window.py | 6 ++++++ src/my_memory/models.py | 1 + 2 files changed, 7 insertions(+) diff --git a/src/my_memory/board_window.py b/src/my_memory/board_window.py index 8c12feb..ca2d58b 100644 --- a/src/my_memory/board_window.py +++ b/src/my_memory/board_window.py @@ -146,6 +146,11 @@ class EntryCard(QFrame): for status in EntryStatus: if status == self._entry.status: continue + # Only Docket and In Progress cards can be cancelled + if status == EntryStatus.CANCELLED and self._entry.status not in ( + EntryStatus.DOCKET, EntryStatus.IN_PROGRESS, + ): + continue action = menu.addAction(f"Move to {_label_for(status)}") action.triggered.connect(lambda _checked, s=status: self._move_to(s)) menu.exec(self.mapToGlobal(pos)) @@ -157,6 +162,7 @@ def _label_for(status: EntryStatus) -> str: EntryStatus.DOCKET: "On Docket", EntryStatus.IN_PROGRESS: "In Progress", EntryStatus.COMPLETE: "Complete", + EntryStatus.CANCELLED: "Cancelled", }[status] diff --git a/src/my_memory/models.py b/src/my_memory/models.py index 1a5d84d..d48a8f1 100644 --- a/src/my_memory/models.py +++ b/src/my_memory/models.py @@ -18,6 +18,7 @@ class EntryStatus(str, Enum): DOCKET = "docket" IN_PROGRESS = "in_progress" COMPLETE = "complete" + CANCELLED = "cancelled" class Entry(BaseModel):