Add planner Inbox quick capture and triage #110

Closed
opened 2026-05-27 09:14:05 +00:00 by steve · 0 comments
Owner

Add fast Inbox capture and triage actions so users can collect task ideas with minimal input and decide what deserves attention later.

Problem

The existing Add Task dialog supports deliberate task creation, but a Things-like planner needs title-only capture into Inbox. Current task creation may apply default due or scheduled presets, which can prevent a task from staying untriaged.

Goal

Provide a planner capture row and Inbox triage controls that create true Inbox tasks and move them into planned buckets or project organization without forcing users through the full task dialog.

Scope

  • Add a quick-capture row or compact input to the planner.
  • Create title-only tasks that bypass default due/scheduled presets when capture target is Inbox.
  • Add Inbox triage actions for Today, Tomorrow, This Evening, Someday, Clear, Delete, and Assign Project.
  • Reuse existing project relation picker for Assign Project.
  • Add command-palette support for capture to Inbox if practical.
  • Add e2e coverage for capture plus at least one triage move.

Non-goals

  • No natural-language date parsing.
  • No area assignment until area metadata exists.
  • No recurring task creation wizard.
  • No replacement of the existing Add Task dialog.

Acceptance Criteria

  • Pressing Enter in the planner quick-capture input creates a task with only a title plus required task metadata.
  • Captured Inbox tasks have no scheduled date, due date, project links, area links, or explicit planner placement.
  • User-configured default due/scheduled presets do not prevent Inbox capture when using the planner capture path.
  • Inbox rows expose triage actions for the first planner slice.
  • Triage writes preserve unrelated frontmatter.
  • Existing Add Task dialog behavior remains unchanged.

Implementation Notes

  • Add an explicit creation option such as applyDateDefaults: false rather than changing the default createTask() path globally.
  • Keep validation and folder creation behavior shared with existing task creation.
  • Consider routing project assignment through TaskRelationPickerDialog in project mode.

Suggested Files or Specs To Inspect

  • packages/plugins/plugin-tasks/src/core/model.ts
  • packages/plugins/plugin-tasks/src/core/plugin.ts
  • packages/plugins/plugin-tasks/src/view/components/tasks-capture-dialog.svelte
  • packages/plugins/plugin-tasks/src/editor/task-relation-picker-dialog.svelte
  • packages/plugins/plugin-tasks/src/planner/
  • packages/workspace/e2e/tasks.spec.ts

Validation Commands

  • pnpm --filter @lapis-notes/tasks test
  • pnpm --filter @lapis-notes/tasks check
  • pnpm --filter @lapis-notes/workspace check
  • make spec-lint
  • pnpm test:smoke

Follow-up Tasks

  • TASK-PLUGIN-058
  • TASK-PLUGIN-060

Implementation Summary

Added planner Inbox quick capture that creates unscheduled task notes without applying date defaults.

Add fast Inbox capture and triage actions so users can collect task ideas with minimal input and decide what deserves attention later. ## Problem The existing Add Task dialog supports deliberate task creation, but a Things-like planner needs title-only capture into Inbox. Current task creation may apply default due or scheduled presets, which can prevent a task from staying untriaged. ## Goal Provide a planner capture row and Inbox triage controls that create true Inbox tasks and move them into planned buckets or project organization without forcing users through the full task dialog. ## Scope - Add a quick-capture row or compact input to the planner. - Create title-only tasks that bypass default due/scheduled presets when capture target is Inbox. - Add Inbox triage actions for Today, Tomorrow, This Evening, Someday, Clear, Delete, and Assign Project. - Reuse existing project relation picker for Assign Project. - Add command-palette support for capture to Inbox if practical. - Add e2e coverage for capture plus at least one triage move. ## Non-goals - No natural-language date parsing. - No area assignment until area metadata exists. - No recurring task creation wizard. - No replacement of the existing Add Task dialog. ## Acceptance Criteria - Pressing Enter in the planner quick-capture input creates a task with only a title plus required task metadata. - Captured Inbox tasks have no scheduled date, due date, project links, area links, or explicit planner placement. - User-configured default due/scheduled presets do not prevent Inbox capture when using the planner capture path. - Inbox rows expose triage actions for the first planner slice. - Triage writes preserve unrelated frontmatter. - Existing Add Task dialog behavior remains unchanged. ## Implementation Notes - Add an explicit creation option such as `applyDateDefaults: false` rather than changing the default `createTask()` path globally. - Keep validation and folder creation behavior shared with existing task creation. - Consider routing project assignment through `TaskRelationPickerDialog` in `project` mode. ## Suggested Files or Specs To Inspect - `packages/plugins/plugin-tasks/src/core/model.ts` - `packages/plugins/plugin-tasks/src/core/plugin.ts` - `packages/plugins/plugin-tasks/src/view/components/tasks-capture-dialog.svelte` - `packages/plugins/plugin-tasks/src/editor/task-relation-picker-dialog.svelte` - `packages/plugins/plugin-tasks/src/planner/` - `packages/workspace/e2e/tasks.spec.ts` ## Validation Commands - `pnpm --filter @lapis-notes/tasks test` - `pnpm --filter @lapis-notes/tasks check` - `pnpm --filter @lapis-notes/workspace check` - `make spec-lint` - `pnpm test:smoke` ## Follow-up Tasks - TASK-PLUGIN-058 - TASK-PLUGIN-060 ## Implementation Summary Added planner Inbox quick capture that creates unscheduled task notes without applying date defaults. <!-- backlog:task_id=TASK-PLUGIN-057 source_spec=spec/src/20-packages/plugins/tasks/index.md#things-like-planner-workflow -->
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lapis-notes/lapis#110
No description provided.