Feature Design: Tasks Page (Jira-like Planning Surface)

Status: design proposal with partial implementation, 2026-05-23

Scope: planning/design only. This document does not imply implementation is complete.

Implementation status note (2026-05-23):

Related:

1. Summary

MemorySmith should add a first-class Tasks page that tracks future goals with Jira-like workflow while keeping pages as the long-form Atlassian-style knowledge base.

At a glance:

Area Tasks Page Role Existing Surface
Planning Backlog, board, ownership, priorities, due dates Data/Pages/tasks.md
Context Attachments, links, comments, linked wiki pages Pages and markdown docs
Governance Audit trail, role-aware edits, status changes Existing auth/audit stack
Narrative Long-form design, research, and decisions Pages

Design direction:

This gives the team a practical execution surface (Tasks) without replacing narrative documentation (Pages).

Mermaid diagram 1

2. Problem Statement

Current state:

Resulting friction:

3. Goals

  1. Add a Jira-like task tracker inside MemorySmith that remains local-first and repository-friendly.
  2. Keep Pages as the canonical long-form wiki and link Tasks to those pages.
  3. Support backlog and near-term planning with list and board workflows.
  4. Provide clear auditability and role-based permissions for task mutations.
  5. Keep the first version implementation-bounded: useful immediately, extensible later.

4. Non-Goals (V1)

  1. No external Atlassian/Jira sync in V1.
  2. No advanced sprint velocity forecasting in V1.
  3. No full dependency graph engine in V1.
  4. No custom workflow designer in V1 (use fixed default statuses).
  5. No replacement of Proposals workflow; Proposals remains separate governance for agent/file diffs.

5. User Experience Design

Route:

Primary views:

  1. Backlog/List view
  1. Board view (Kanban)
  1. Task detail pane
  1. Quick create

Navigation

Accessibility and affordance

6. Information Architecture

Concept model:

Mermaid diagram 2

Relationship to Pages:

Recommended conventions:

7. Data Model (Proposed V1)

Storage root:

Record format:

Task key format:

Suggested schema:

{
  "id": "tsk-0001-build-tasks-page-v1",
  "key": "TSK-0001",
  "title": "Build Tasks page V1",
  "description": "Implement list and board views with role-aware mutation endpoints.",
  "type": "Task",
  "status": "Backlog",
  "priority": "High",
  "assigneeMode": "Directory",
  "assignee": "local-admin",
  "assigneeDirectoryId": "u-local-admin",
  "assigneeCustomText": null,
  "reporter": "local-admin",
  "labels": ["ui", "planning"],
  "attachments": [
    {
      "id": "att-0001",
      "name": "tasks-wireframe.png",
      "kind": "file",
      "uri": "Data/Tasks/assets/tasks-wireframe.png",
      "addedAtUtc": "2026-05-23T00:00:00Z"
    }
  ],
  "externalLinks": [
    {
      "id": "link-0001",
      "label": "Design reference",
      "url": "https://example.com/spec",
      "addedAtUtc": "2026-05-23T00:00:00Z"
    }
  ],
  "epicId": null,
  "parentId": null,
  "linkedPages": ["plans/tasks-page-feature-design-20260523"],
  "references": ["project-wiki-ui-architecture"],
  "dueDateUtc": null,
  "createdAtUtc": "2026-05-23T00:00:00Z",
  "updatedAtUtc": "2026-05-23T00:00:00Z",
  "completedAtUtc": null,
  "revision": 1
}

Assignee model (V1):

Companion activity log:

Optional metadata sidecar:

8. API Surface (Proposed)

Controller:

Endpoints:

  1. GET /api/tasks
  1. GET /api/tasks/{idOrKey}
  1. POST /api/tasks
  1. PUT /api/tasks/{idOrKey}
  1. POST /api/tasks/{idOrKey}/status
  1. POST /api/tasks/{idOrKey}/comments
  1. POST /api/tasks/{idOrKey}/links/pages
  1. POST /api/tasks/{idOrKey}/links/external
  1. POST /api/tasks/{idOrKey}/attachments
  1. DELETE /api/tasks/{idOrKey}/attachments/{attachmentId}
  1. DELETE /api/tasks/{idOrKey}

Envelope support:

9. RBAC and Security

Read access:

Mutation:

Safety controls:

Auditability:

10. UI Component Sketch (Blazor/MudBlazor)

New page/component:

Likely supporting components:

Services:

Navigation:

Styling:

11. Migration Strategy

Input source:

Migration approach:

  1. parse markdown checklist lines into draft tasks;
  2. map checked items to Done, unchecked to Backlog;
  3. preserve original bullet text in description;
  4. write imported tasks with source marker label imported-from-tasks-md;
  5. keep tasks.md as human-readable summary page with links to /tasks filters.

Migration assignee defaults:

Fallback:

12. Delivery Plan

Phase 1: foundation

  1. Task schema + file store + validation.
  2. Basic API CRUD and status transition.
  3. Basic /tasks list + detail pane.

Phase 2: productivity

  1. Board view with status columns.
  2. Filters, search, sorting, saved filter presets.
  3. Linked page create/link actions.

Phase 3: governance and polish

  1. Event timeline and audit integration.
  2. Import helper from tasks.md.
  3. Performance tuning and UX polish.

13. Testing Strategy (NUnit)

Unit tests:

Integration tests:

UI tests (existing PagesAndChat style)

Regression checks:

14. Risks and Mitigations

  1. Scope creep toward full project management suite
  1. Duplicate truth between tasks and pages
  1. Workflow rigidity
  1. Overloading Proposals conceptually

15. Open Questions

  1. Should assignee be free-text in V1, or constrained to local users from auth store?
  2. Should attachment storage use file copies only, or also allow trusted references to existing files?
  3. Should task comments live only in activity log, or also in task record snapshot?
  4. Should Done tasks auto-archive after N days?
  5. Should linked pages support one-click scaffold templates (design, runbook, decision)?
  6. Should task records participate in MCP read tools in V1 or V2?

16. Acceptance Criteria (Design Complete)

  1. A dedicated /tasks route exists in design and is consistent with MemorySmith UI architecture.
  2. Structured task schema and file storage path are specified.
  3. API, RBAC, migration, and testing strategy are defined.
  4. Relationship between Tasks and Pages is explicit and non-conflicting.
  5. Implementation phases are small enough to execute incrementally.

17. Confidence and Assumptions

Confidence: 88%

Assumptions:

  1. MemorySmith will remain single-host and file-first for this feature slice.
  2. Existing role policies (Viewer/Editor/Admin) continue to govern UI/API access.
  3. Task tracking should integrate with, not replace, current Pages and Proposals surfaces.

If these assumptions change, the highest-impact redesign area is data storage and permissions.