Add project sections to Tasks Planner #124

Closed
opened 2026-05-27 12:39:41 +00:00 by steve · 0 comments
Owner

Add lightweight project sections/headings so planner project views can organize next actions without becoming a Kanban board.

Problem

Projects are currently represented as links to task notes, but there is no concept of sections inside a project. A Things-like project workflow needs shallow headings such as Next, Waiting, or Later while preserving the markdown-first task-note model.

Goal

Support optional project sections for planner project views with simple persistence and calm list rendering.

Scope

  • Decide the durable metadata shape for section membership.
  • Add mapped field support if section data lives in task frontmatter.
  • Render project views grouped by section when section data exists.
  • Allow assigning, clearing, and moving tasks between sections.
  • Interoperate with manual ordering within sections when TASK-PLUGIN-059 exists.
  • Add tests for parsing, grouping, and section-order behavior.

Non-goals

  • No nested section hierarchy.
  • No status/Kanban replacement.
  • No migration from headings in arbitrary markdown bodies unless explicitly designed later.
  • No comments or boosts.

Acceptance Criteria

  • Project views can show unsectioned tasks and sectioned tasks together predictably.
  • Section metadata preserves unknown frontmatter fields and does not break project links.
  • Users can move a task to a section and clear the section.
  • Manual ordering remains stable within a section when enabled.
  • Existing Task List, Kanban, Fizzy, and project relationship behavior remain unchanged.

Implementation Notes

  • Prefer a simple scalar field such as projectSection unless a structured field is clearly needed.
  • Keep section labels task-local; do not require a separate project schema in the first slice.
  • Avoid over-grouping Today by default.

Suggested Files or Specs To Inspect

  • packages/plugins/plugin-tasks/src/core/model.ts
  • packages/plugins/plugin-tasks/src/core/settings.ts
  • packages/plugins/plugin-tasks/src/core/plugin.ts
  • packages/plugins/plugin-tasks/src/planner/
  • packages/plugins/plugin-tasks/src/editor/task-relation-picker-dialog.svelte

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-062
  • TASK-PLUGIN-063

Implementation Summary

Duplicate of #114.

Add lightweight project sections/headings so planner project views can organize next actions without becoming a Kanban board. ## Problem Projects are currently represented as links to task notes, but there is no concept of sections inside a project. A Things-like project workflow needs shallow headings such as Next, Waiting, or Later while preserving the markdown-first task-note model. ## Goal Support optional project sections for planner project views with simple persistence and calm list rendering. ## Scope - Decide the durable metadata shape for section membership. - Add mapped field support if section data lives in task frontmatter. - Render project views grouped by section when section data exists. - Allow assigning, clearing, and moving tasks between sections. - Interoperate with manual ordering within sections when TASK-PLUGIN-059 exists. - Add tests for parsing, grouping, and section-order behavior. ## Non-goals - No nested section hierarchy. - No status/Kanban replacement. - No migration from headings in arbitrary markdown bodies unless explicitly designed later. - No comments or boosts. ## Acceptance Criteria - Project views can show unsectioned tasks and sectioned tasks together predictably. - Section metadata preserves unknown frontmatter fields and does not break project links. - Users can move a task to a section and clear the section. - Manual ordering remains stable within a section when enabled. - Existing Task List, Kanban, Fizzy, and project relationship behavior remain unchanged. ## Implementation Notes - Prefer a simple scalar field such as `projectSection` unless a structured field is clearly needed. - Keep section labels task-local; do not require a separate project schema in the first slice. - Avoid over-grouping Today by default. ## Suggested Files or Specs To Inspect - `packages/plugins/plugin-tasks/src/core/model.ts` - `packages/plugins/plugin-tasks/src/core/settings.ts` - `packages/plugins/plugin-tasks/src/core/plugin.ts` - `packages/plugins/plugin-tasks/src/planner/` - `packages/plugins/plugin-tasks/src/editor/task-relation-picker-dialog.svelte` ## 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-062 - TASK-PLUGIN-063 ## Implementation Summary Duplicate of #114. <!-- backlog:task_id=TASK-PLUGIN-061 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#124
No description provided.