PM Feature Profiles (G12 -- per-board progressive disclosure)
An in-development progressive disclosure engine that decides which Mission Control features are visible on each board. Every board carries a profile built from one of three presets — Tasks, Projects or Operations — which users can extend per board, and a nudge engine suggests features contextually from board activity, under rate limits and a post-enable cooldown.
What it is
An in-development progressive disclosure engine that controls which PM features are visible on each board. It is what keeps a simple board simple: instead of every board showing all 65 features at once, each one shows the set that fits how it is being used.
Where to find it
Per board and per workspace. The feature is in development, gated behind the pm-feature-profiles
unreleased feature (pmFeatureProfilesEnabled), and the entire profiles plus nudge system is hidden
when it is disabled.
How it behaves
Each PM board has a feature profile that controls which features are visible. Three presets provide curated feature sets:
- Tasks -- lightweight, personal task tracking.
- Projects -- mid-range project management.
- Operations -- full-featured, all PM features visible.
Users can also customize per-board. A nudge engine suggests features contextually based on board data patterns -- for example, after importing from Asana it may suggest Asana-specific features.
Key behaviors:
- Rendered feature set is union-only -- user overrides can only ADD features,
never subtract. All UI reads go through
getRenderedFeatureSet(). - Workspace defaults are inheritance-only -- used during board creation, not during rendering. Changing a workspace default does not retroactively affect existing boards.
- Nudge rate limits -- per-board frequency setting (quiet/normal/eager/off) with daily and weekly caps.
- Post-enable cooldown -- 7-day pause after enabling a feature before nudges fire again.
- Dismissed nudges are permanent -- user-global, not per-board, no expiry.
For agents
- Service in
src/main/services/pm/feature-profiles/pm-feature-profile-service.ts. - Nudge engine in
pm-feature-nudge-engine.ts. - 3 database tables (
pm_feature_profiles,pm_workspace_feature_defaults,pm_nudge_history). - Related settings:
pmDismissedNudges,pmComposabilityEnabled. - Contract:
pm-feature-profiles-contract.md.
Related
The boards whose visible feature set this engine decides are described in mission-control.md. It is the consumer of the validation performed by pm-composability.md, which checks whether a set of features may be enabled together at all, and it works alongside pm-data-density.md, which decides whether a board has enough usage for a suggestion to be worth making. A reader who came here because of a nudge will also want pm-onboarding-help.md, the checklist and contextual tips built on the same presets.
Last verified 2026-09-23