PM Goals
Hierarchical goal tracking for Mission Control workspaces: workspace-scoped objectives that sit above individual boards, each with an owner, a target date and a health status, nestable under a parent goal, with progress derived from linked boards or set by hand, plus comments and a field-level activity feed.
Hierarchical goal tracking for Mission Control workspaces: set objectives, link them to boards, and track progress automatically or manually.
What it is
Goals are workspace-scoped objectives that sit above individual boards. Each goal has a title, description (up to 5000 characters), optional owner, target date, and a status that reflects health: on track, at risk, off track, or achieved.
Goals support hierarchy via parent_goal_id, letting you nest sub-goals
under a parent. Progress tracking uses two modes: auto (derived from
linked boards) and manual (explicit 0-100 percent set by the user).
You can link any number of PM boards to a goal. Linking gives the goal concrete backlog items to track against. An activity feed records every change (status, progress, board links, parent changes) with field-level detail.
Where to find it
Goals live in the Mission Control PM system, inside a workspace. The goals list is the entry point — every goal in the workspace, with its health status and progress — and selecting a goal opens its detail view, carrying the description, owner, target date, linked boards, comments and the activity feed. Goal comments are their own thread, separate from that activity feed.
The same surface is reachable without the UI: the CLI control server exposes
/pm/goals, so a session or an external script can create, read and update
goals programmatically.
How it behaves
- Create -- sets progress to 0 and status to
on_trackby default; uses request deduplication - Update -- field-level activity logging via
logGoalFieldChange(only logs fields actually included in the patch) - Link / Unlink boards -- connects goals to PM boards for context and (in auto mode) progress derivation
- Nest --
parent_goal_idenables hierarchical goal trees;listChildGoalsreturns sub-goals - Comment -- separate comment system (add, list, delete) alongside the activity feed
- Delete -- soft delete
For agents
Key files
src/shared/types/pm.ts(lines 309-357) --PmGoal,PmGoalBoard,PmGoalActivitytypes; status and progress-mode enumssrc/shared/ipc-schemas/pm-goals.ts-- Zod validation schemas for all goal IPC inputssrc/main/db/queries-pm-goals.ts-- SQLite CRUD againstpm_goals,pm_goal_boards,pm_goal_activitytablessrc/main/ipc/pm-goals-handlers.ts-- IPC handler registrations (auto-discovered)src/main/services/pm/pm-goal-comment-queries.ts-- goal comment queriessrc/main/services/cli/pm/pm-goal-routes.ts-- CLI routes (/pm/goals)src/plugins/mission-control/web/lib/session-bridge-goals.ts-- frontend session-bridge wrapperssrc/plugins/mission-control/web/features/goals/GoalPage.tsx-- single goal detail viewsrc/plugins/mission-control/web/features/goals/GoalsListPage.tsx-- goals list view
Implementation notes
- 15 IPC channels prefixed
pm:goal:andpm:goal-*: list, get, create, update, delete, board link/unlink, activity list, children list, comments (list/add/delete/changed), goals changed - CLI routes mirror the IPC surface as REST endpoints gated by
pmCliEnabled:GET /pm/goals,GET /pm/goals/:id,POST /pm/goals,PATCH /pm/goals/:id, plus board-link and activity endpoints - Activity logging via
logGoalFieldChangerecords old/new values per field
Related
Goals are one part of the Mission Control PM system, so mission-control.md is the parent page to read next. If what you want is a rollup of the boards a goal points at, pm-portfolios.md covers grouping several boards into a named portfolio with a unified status summary — portfolios aggregate boards, goals sit above them as objectives. The full list of library pages is in INDEX.md.
Last verified 2026-09-23