Added

  • Task comment thread: comments array stored in task frontmatter ({id, author, timestamp, body}); visible in the task sidenav when editing an existing task; supports add and delete
  • POST /api/tasks/:id/comments and DELETE /api/tasks/:id/comments/:commentId routes
  • MCP add_task_comment now writes to the dedicated comments array instead of appending to task description
  • MCP create_task / update_task: milestone and project fields
  • MCP list_tasks: project and milestone filter parameters

Fixed

  • Lean canvas: add inline edit button per item; ESC and overlay now show a dirty-check confirm dialog before discarding unsaved changes
  • Mobile sidenav horizontal scroll: overflow-x: hidden on html and .sidenav-content
  • Mobile tags saving as null: replaced <select multiple> with a checkbox pill list (iOS-safe)
  • Mobile scroll triggering drag-and-drop: raised cancel threshold and added vertical-dominant movement detection
  • Edit task due date showing stale value from previous edit: field is now always cleared before being set in fillForm()
  • Summary page last-updated not refreshing: loadProjectInfo() now re-fetches project config in parallel after mutations
  • Summary page mobile horizontal scroll: fixed flex overflow on summary header