Goals
- Projects → Goals (or Ctrl/⌘ K → Go to Goals): every goal in the workspace with its owner, due date, last check-in, and progress drawn against its time (a tick where it would be if it moved evenly). Sub-goals sit under their parents, four levels deep at most; Open/Closed and Everyone's/Mine filter the list.
- A goal's progress is worked out, never typed: from its projects (each project's share of tasks done, averaged so every project counts the same; archived or empty projects don't count), from its sub-goals (their average; dropped ones left out), or from a number moved from where it started towards its target, upwards or downwards.
- Check-ins say where a goal stands (on track, at risk, off track, on hold). Each opens drafted from what serves the goal, with a health suggested from its pace; a number goal's check-in moves the number; any check-in can also go to a channel. Closing as achieved, missed or dropped keeps the progress it ended at; a closed goal can be reopened.
- A goal's page lists the projects serving it (with progress, overdue tasks and their last project update), its sub-goals and its check-ins. Projects a reader isn't in count towards the goal but are never named to them. A project's header names the goal it serves.
- The goal's owner, its creator and workspace admins change it; everyone in the workspace reads it; guests never see goals. Up to 20 projects per goal; moving goals under each other at once can't make a loop.
- New:
GET /goal/list,POST /goal/create,GET /goal/{id},/goal/{id}/edit|delete|reopen|projects|checkins…,GET /project/{id}/goals. Migration 188.
AI edition
- Add an AI summary on a goal's check-in writes two or three sentences above the drafted facts, from those facts only (
POST /ai/goal-checkin/draft).