diff --git a/.changeset/fn-6910-subtask-breakdown-flag.md b/.changeset/fn-6910-subtask-breakdown-flag.md new file mode 100644 index 0000000000..8c750b8e07 --- /dev/null +++ b/.changeset/fn-6910-subtask-breakdown-flag.md @@ -0,0 +1,5 @@ +--- +"@runfusion/fusion": patch +--- + +Hide the dashboard AI subtask-breakdown quick-add button behind the default-off `subtaskBreakdown` experimental feature flag. diff --git a/docs/dashboard-guide.md b/docs/dashboard-guide.md index 4c79c4d878..80507c1f1f 100644 --- a/docs/dashboard-guide.md +++ b/docs/dashboard-guide.md @@ -259,7 +259,7 @@ Rules: - `Merge target / base branch` stays optional for all modes and uses the same branch-dropdown + `Custom…` fallback behavior as Planning Mode. - In **More options → Model Configuration**, **Auto-merge** is a per-task override with three states: **Default** (follow project setting), **Enabled**, or **Disabled**. -The dialog also exposes the board quick-add AI handoffs: **Plan** opens Planning Mode with the current description, and **Subtask** opens Subtask Breakdown with the current description. Both buttons remain disabled until the description has content, matching the quick-add row behavior. +The dialog also exposes the board quick-add AI handoffs: **Plan** opens Planning Mode with the current description, and **Subtask** opens Subtask Breakdown with the current description when **Settings → Experimental Features → Subtask Breakdown** is enabled. The Subtask handoff is hidden by default; visible handoff buttons remain disabled until the description has content, matching the quick-add row behavior. ## Chat View diff --git a/packages/dashboard/app/App.tsx b/packages/dashboard/app/App.tsx index 9b470313c2..9e7ab33a95 100644 --- a/packages/dashboard/app/App.tsx +++ b/packages/dashboard/app/App.tsx @@ -1029,6 +1029,8 @@ function AppInner() { const nodesEnabled = experimentalFeatures.nodesView === true; const researchEnabled = experimentalFeatures.researchView === true; const evalsEnabled = experimentalFeatures.evalsView === true; + /* FNXC:QuickAddSubtaskFlag 2026-06-21-00:00: Missing or false `subtaskBreakdown` settings must hide the AI Subtask quick-add handoff across List, Board, and New Task Modal surfaces; only an explicit true wires the callback. */ + const subtaskBreakdownEnabled = experimentalFeatures.subtaskBreakdown === true; /* FNXC:Navigation 2026-06-19-00:00: Experimental left sidebar navigation replaces the Header view shortcuts with a persistent sidebar on non-mobile project screens, while mobile continues to use the bottom navigation bar as the only primary navigation surface. @@ -1861,7 +1863,7 @@ function AppInner() { onQuickCreate={handleBoardQuickCreate} onNewTask={openNewTaskWithNav} onPlanningMode={openPlanningWithInitialPlanWithNav} - onSubtaskBreakdown={openSubtaskBreakdownWithNav} + onSubtaskBreakdown={subtaskBreakdownEnabled ? openSubtaskBreakdownWithNav : undefined} autoMerge={autoMerge} onToggleAutoMerge={toggleAutoMerge} globalPaused={globalPaused} @@ -1915,7 +1917,7 @@ function AppInner() { onNewTask={openNewTaskWithNav} onQuickCreate={handleBoardQuickCreate} onPlanningMode={openPlanningWithInitialPlanWithNav} - onSubtaskBreakdown={openSubtaskBreakdownWithNav} + onSubtaskBreakdown={subtaskBreakdownEnabled ? openSubtaskBreakdownWithNav : undefined} availableModels={availableModels} favoriteProviders={favoriteProviders} favoriteModels={favoriteModels} @@ -2273,7 +2275,7 @@ function AppInner() { handleGitHubImport, }} onPlanningMode={openPlanningWithInitialPlanWithNav} - onSubtaskBreakdown={openSubtaskBreakdownWithNav} + onSubtaskBreakdown={subtaskBreakdownEnabled ? openSubtaskBreakdownWithNav : undefined} taskOperations={{ moveTask, deleteTask, mergeTask, archiveTask, retryTask, resetTask, duplicateTask }} deepLink={{ handleDetailClose }} settings={{ prAuthAvailable, autoMerge, themeMode, colorTheme, dashboardFontScalePct, shadcnCustomColors, resolvedThemeMode, setThemeMode, setColorTheme, setDashboardFontScalePct, setShadcnCustomColors }} diff --git a/packages/dashboard/app/components/InlineCreateCard.tsx b/packages/dashboard/app/components/InlineCreateCard.tsx index 0dd6e64951..7a61dc7946 100644 --- a/packages/dashboard/app/components/InlineCreateCard.tsx +++ b/packages/dashboard/app/components/InlineCreateCard.tsx @@ -904,18 +904,21 @@ export function InlineCreateCard({ {t("inline.plan", "Plan")} - + {/* FNXC:QuickAddSubtaskFlag 2026-06-21-00:00: Render no Subtask button or orphaned inline-create click target unless the default-off `subtaskBreakdown` experiment wires this callback. */} + {onSubtaskBreakdown && ( + + )}
- + {/* FNXC:QuickAddSubtaskFlag 2026-06-21-00:00: Render no Subtask button or click target unless App wires the default-off `subtaskBreakdown` experiment callback. */} + {onSubtaskBreakdown && ( + + )}