This runbook covers the task management UX in Compass.
Use this guide to validate:
- creating tasks from the keyboard
- creating tasks with the mouse
- marking tasks complete and incomplete
- deleting tasks and undoing deletions
- reordering tasks by drag and drop
- moving tasks to adjacent days
Do not use this guide to validate:
- event management (see
events.md) - keyboard navigation between views (see
shortcuts.md)
- Start the app with
bun run dev:web. - Navigate to the Day view (
/day). - Tasks are stored locally in the browser (IndexedDB) and do not require a backend connection.
Helpful notes:
- Tasks are always tied to a specific date. There is no undated or Someday task concept — that is handled by Someday events.
- Completed tasks display with reduced opacity and are sorted below incomplete tasks in the list.
- Undo is available immediately after a deletion via toast or Cmd+Z / Ctrl+Z.
- Keyboard shortcuts using
Modmap to Command on Mac and Control on Windows/Linux.
In Day view, pressing C opens a new inline task input at the bottom of the task list. The user types a title and presses Enter to save.
- Navigate to
/day. - Press
C(while not focused in any input). - Type a task title.
- Press Enter.
- An inline task input appears at the bottom of the task list.
- Pressing Enter saves the task and it appears in the list.
- The task persists after a page reload.
- Pressing Escape instead of Enter cancels the input without creating a task.
Clicking the "Create Task" button in the Day view task panel opens the same inline input.
- Navigate to
/day. - Click the Create Task button in the task panel.
- Type a task title.
- Press Enter.
- The inline task input appears.
- The saved task appears in the list.
- The task persists after a page reload.
Each task has a checkbox (circle icon). Clicking it or pressing Enter while the checkbox is focused marks the task as completed. Completed tasks move below incomplete tasks and appear faded.
- Create at least one task.
- Click the checkbox on the task.
- The task status changes to completed.
- The task moves below any remaining incomplete tasks.
- The task appears with reduced opacity (faded).
- The completed state persists after a page reload.
Clicking the checkbox of a completed task toggles it back to incomplete.
- Mark a task as complete (see Scenario 3).
- Click the checkbox on the completed task.
- The task status returns to incomplete.
- The task moves back above completed tasks.
- The opacity returns to full.
- The change persists after a page reload.
Pressing Delete or Backspace while a task checkbox is focused removes the task. A brief undo opportunity is shown.
- Focus a task checkbox (click or tab to it).
- Press Delete or Backspace.
- The task disappears from the list.
- An undo toast notification appears.
- The task does not reappear after a page reload if undo is not used.
Immediately after deleting a task, pressing Cmd+Z (Mac) or Ctrl+Z (Windows/Linux) restores it.
- Delete a task (see Scenario 5).
- Immediately press Cmd+Z (Mac) or Ctrl+Z (Windows/Linux).
- The deleted task reappears in the list with its original title, status, and position.
- The undo toast dismisses.
Tasks can be dragged within the list to change their order. Incomplete and completed tasks each reorder independently within their own group.
- Create three or more incomplete tasks.
- Click and hold on the first task.
- Drag it below the third task.
- Release.
- The task list reorders in real time while dragging.
- On release, the new order is reflected in the list.
- The order persists after a page reload.
- Keyboard drag instructions appear for screen-reader users: "use arrow keys to move, space to drop, or escape to cancel."
Pressing Ctrl+Meta+ArrowRight (Mac) or the equivalent moves the focused task to the following calendar date.
- Navigate to
/dayon a date that is not the last day of the month. - Focus a task checkbox.
- Press Ctrl+Meta+ArrowRight.
- The task disappears from the current day's list.
- Navigating to the next day shows the task there.
- The move persists after a page reload.
Pressing Ctrl+Meta+ArrowLeft moves the focused task to the previous calendar date.
- Navigate to
/dayon a date that is not the first day of the month. - Focus a task checkbox.
- Press Ctrl+Meta+ArrowLeft.
- The task disappears from the current day's list.
- Navigating to the previous day shows the task there.
- The move persists after a page reload.
If time is limited, run these checks before shipping task-related changes:
Cin Day view opens an inline task input; Enter saves; Escape cancels.- Completed tasks move below incomplete tasks and appear faded.
- Toggling a completed task back to incomplete restores its position and full opacity.
- Delete/Backspace on a focused task checkbox removes the task and shows an undo toast.
- Cmd+Z / Ctrl+Z restores the deleted task with its original properties.
- Drag-and-drop reordering persists after a page reload.
- Ctrl+Meta+ArrowRight moves a task to the next day; Ctrl+Meta+ArrowLeft to the previous day.