gsxdsm
c1216eb271
FN-7155: keep goal mission picker natural-height
...
Keep the goal-to-mission link picker from stretching vertically in stacked layouts.
- Reset the linked mission picker flex sizing at tablet and mobile breakpoints while preserving full-width stacking.
- Add CSS regression coverage for the base flex value and breakpoint overrides.
Files changed:
packages/dashboard/app/components/GoalsView.css | 20 ++++++++-
.../app/components/__tests__/GoalsView.css.test.ts | 48 ++++++++++++++++++++++
2 files changed, 66 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-7155
Fusion-Task-Lineage: cad957bb-3efd-4435-9386-fcf84cb0d209
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 20:02:33 -07:00
gsxdsm
915d4b028a
fix(dashboard): unify movable task detail header
2026-06-22 12:16:07 -07:00
gsxdsm
f7599cb720
fix(dashboard): Planning panes fill to bottom; Goals card layout; Automations/Goals header margin
...
- Planning: .modal max-height:80vh capped the embedded panel ~49px short; .planning-view .planning-modal--embedded { max-height:none } (higher specificity) lets sidebar + detail fill to the view bottom.
- Goals: .goals-card-main had no flex so a long description grew to content width and starved the equal-weight Linked Missions column to ~13px; flex:1 + min-width:0 rebalances them.
- Small margin below the Automations + Goals headers so content clears the divider.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 12:05:44 -07:00
gsxdsm
2517b3a096
feat(dashboard): equal header heights (--view-header-min-height) across all left-sidebar views + missed views
...
Add --view-header-min-height (~61px = space-lg*2 + 28px btn-sm row + 1px divider) and apply via ViewHeader + the bespoke Mission/Planning headers so action-bearing and title-only headers are the same height. Bring the views the sweep missed to canonical: Automations (.automations-embedded-header), Import Tasks (.github-import-modal__embedded-header), Goals (header via ViewHeader + fix main-pane inset so cards align under the title + fill height). Compound Engineering + Research inherit the token automatically.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 11:52:32 -07:00
gsxdsm
0f98cf941f
feat(dashboard): consistent ViewHeader on Artifacts/Research/Evals/Goals/Memory
...
Normalize these main-content views onto the shared ViewHeader (icon + CC-style title; existing header controls moved into the actions slot). Tests updated for the new header markup (95 pass).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 03:34:16 -07:00
gsxdsm
c4e0fe13d8
FN-6828: fix Goals card responsive layout
...
Improve the Goals view card layout so actions stay compact and tablet cards stack before cramped columns.
- Top-align goal cards and action controls to prevent stretched buttons on wide cards.
- Add a tablet breakpoint that stacks card content and linked mission controls before the layout clips.
- Cover the responsive CSS contract in GoalsView tests.
Files changed:
packages/dashboard/app/components/GoalsView.css | 35 ++++++++++++-
.../app/components/__tests__/GoalsView.test.tsx | 57 ++++++++++++++++++++++
2 files changed, 91 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-6828
Fusion-Task-Lineage: b460ebf2-5567-448e-814d-5f2eed99dcc9
2026-06-20 22:09:50 -07:00
gsxdsm
1ab2d4161a
FN-6789: make dashboard utility views fill flex rows
...
Goals, Research, and Stash Recovery now keep full-width layouts inside the project-content flex row.
- Add flex growth, zero min-width, and full-width root sizing to Goals, Research, and Stash Recovery views.
- Document the view-level flex sizing requirement with FNXC comments.
- Add CSS contract tests for both bundled and base CSS fixtures.
Files changed:
packages/dashboard/app/components/GoalsView.css | 7 +++++++
packages/dashboard/app/components/ResearchView.css | 7 +++++++
.../dashboard/app/components/StashRecoveryView.css | 7 +++++++
.../app/components/__tests__/GoalsView.test.tsx | 20 ++++++++++++++++++++
.../app/components/__tests__/ResearchView.test.tsx | 19 +++++++++++++++++++
.../components/__tests__/StashRecoveryView.test.tsx | 20 ++++++++++++++++++++
6 files changed, 80 insertions(+)
Fusion-Task-Id: FN-6789
Fusion-Task-Lineage: f650d95b-583b-48c8-a2e4-fe63317b4576
2026-06-20 01:52:26 -07:00
gsxdsm
87e87a8f1a
FN-6693: enforce dashboard CSS token references
...
Extend the dashboard CSS token guard and replace stale custom-property references with defined design tokens.
- Add a dashboard-wide CSS token validity test that scans component/app CSS for undefined custom-property references.
- Include dashboard CSS tests in the dashboard Vitest config and document the guard in testing guidance.
- Remap undefined CSS variables across dashboard components and command-center styles to existing semantic or local tokens.
Files changed:
docs/testing.md | 3 +
.../dashboard-css-token-validity.css.test.ts | 165 +++++++++++++++++++++
.../dashboard/app/components/ActiveAgentsPanel.css | 10 +-
.../dashboard/app/components/AgentLogViewer.css | 2 +-
.../app/components/AgentReflectionsTab.css | 10 +-
packages/dashboard/app/components/AgentsView.css | 6 +-
.../dashboard/app/components/BranchGroupCard.css | 6 +-
packages/dashboard/app/components/ChatView.css | 12 +-
.../app/components/CliBinaryInstallBanner.css | 2 +-
.../dashboard/app/components/CliBinaryPanel.css | 2 +-
.../app/components/ConversationHistory.css | 12 +-
.../dashboard/app/components/DashboardLoader.css | 2 +-
.../dashboard/app/components/DesktopLaunchGate.css | 4 +-
.../dashboard/app/components/DirectoryPicker.css | 2 +-
.../dashboard/app/components/FileMentionPopup.css | 4 +-
.../dashboard/app/components/GitHubImportModal.css | 10 +-
packages/dashboard/app/components/GoalsView.css | 2 +-
.../dashboard/app/components/GroupTaskModal.css | 18 +--
packages/dashboard/app/components/InsightsView.css | 10 +-
packages/dashboard/app/components/Lane.css | 8 +-
.../dashboard/app/components/LanguageSelector.css | 8 +-
packages/dashboard/app/components/MailboxModal.css | 62 ++++----
.../app/components/MergeAdvanceNotice.css | 2 +-
.../dashboard/app/components/MissionManager.css | 10 +-
.../app/components/MobileWorkflowGraphView.css | 2 +-
.../app/components/ModelOnboardingModal.css | 12 +-
.../app/components/OnboardingDisclosure.css | 4 +-
.../dashboard/app/components/PlanningModeModal.css | 2 +-
.../dashboard/app/components/PluginManager.css | 58 ++++----
.../components/PostOnboardingRecommendations.css | 4 +-
.../dashboard/app/components/PullRequestView.css | 32 ++--
packages/dashboard/app/components/QuickChatFAB.css | 4 +-
.../dashboard/app/components/QuickEntryBox.css | 6 +-
.../dashboard/app/components/ReliabilityView.css | 6 +-
packages/dashboard/app/components/ScriptsModal.css | 34 ++---
.../dashboard/app/components/SessionTerminal.css | 28 ++--
.../dashboard/app/components/SettingsModal.css | 6 +-
.../dashboard/app/components/SkillMultiselect.css | 2 +-
packages/dashboard/app/components/TaskCard.css | 24 +--
.../dashboard/app/components/TaskDocumentsTab.css | 8 +-
.../dashboard/app/components/TaskFieldsSection.css | 20 +--
.../dashboard/app/components/TerminalModal.css | 22 +--
.../app/components/WorkflowFieldsPanel.css | 6 +-
.../app/components/WorkflowNodeEditor.css | 30 ++--
.../dashboard/app/components/WorkspaceSelector.css | 2 +-
.../components/command-center/CommandCenter.css | 106 ++++++-------
.../components/command-center/DateRangePicker.css | 18 +--
.../command-center/MissionControlPanel.css | 14 +-
.../app/components/command-center/SdlcFunnel.css | 2 +-
.../command-center/areas/SystemStatsArea.css | 24 +--
.../app/components/command-center/areas/areas.css | 62 ++++----
.../components/command-center/charts/charts.css | 104 ++++++-------
packages/dashboard/vitest.config.ts | 1 +
53 files changed, 592 insertions(+), 423 deletions(-)
Fusion-Task-Id: FN-6693
Fusion-Task-Lineage: e9ccf3e6-fee9-47e0-9474-7b5580adbf31
2026-06-19 04:27:01 -07:00
gsxdsm
963362cd43
FN-6490: add mission-goal linking controls
...
Add bidirectional mission-goal linking in the dashboard with route support and tests.
- Add Goals view controls to list, link, unlink, and navigate linked missions.
- Add Mission detail controls to link active goals and unlink existing goal chips while refreshing summaries.
- Expose goal-to-mission lookup through the goals API and cover route and UI behavior.
- Update mission and dashboard docs for cross-linking flows.
Files changed:
docs/dashboard-guide.md | 4 +-
docs/missions.md | 8 +-
packages/dashboard/app/App.tsx | 2 +-
packages/dashboard/app/components/GoalsView.css | 90 +++++++++-
packages/dashboard/app/components/GoalsView.tsx | 191 ++++++++++++++++++++-
.../dashboard/app/components/MissionManager.css | 38 +++-
.../dashboard/app/components/MissionManager.tsx | 125 +++++++++++++-
.../app/components/__tests__/GoalsView.test.tsx | 149 ++++++++++++++--
.../__tests__/MissionManager.goal-links.test.tsx | 140 +++++++++++++++
.../dashboard/src/__tests__/goals-routes.test.ts | 70 +++++++-
packages/dashboard/src/goals-routes.ts | 37 +++-
11 files changed, 821 insertions(+), 33 deletions(-)
Fusion-Task-Id: FN-6490
Fusion-Task-Lineage: aa51e053-04c5-4124-90a0-bc421c8f979f
2026-06-16 15:08:24 -07:00
gsxdsm
abbeaec0a8
FN-5897: surface linked goals in mission read paths
...
Expose mission-linked goals across mission detail surfaces.
- load linked goal records into mission hierarchy reads in core and return them from the mission detail API
- show linked goals in mission detail views, add goal-chip navigation, and anchor highlighted goal cards in GoalsView
- extend CLI mission output, docs, tests, and add a published changeset for the new read-path support
Files changed:
.changeset/fn-5897-linked-goals-read-paths.md | 5 +++
docs/missions.md | 6 ++-
packages/cli/src/__tests__/extension.test.ts | 48 +++++++++++++++++++++-
packages/cli/src/extension.ts | 10 +++++
packages/core/src/__tests__/mission-store.test.ts | 14 +++++++
packages/core/src/mission-store.ts | 29 +++++++++++++
packages/core/src/mission-types.ts | 4 ++
packages/dashboard/app/App.tsx | 16 +++++++-
packages/dashboard/app/components/GoalsView.css | 6 +++
packages/dashboard/app/components/GoalsView.tsx | 42 +++++++++++++++++--
packages/dashboard/app/components/MissionManager.css | 44 ++++++++++++++++++++
packages/dashboard/app/components/MissionManager.tsx | 31 +++++++++++++-
packages/dashboard/app/components/__tests__/GoalsView.test.tsx | 31 ++++++++++++++
packages/dashboard/app/components/__tests__/MissionManager.test.tsx | 45 ++++++++++++++++++++
packages/dashboard/app/components/mission-types.ts | 2 +
packages/dashboard/src/__tests__/mission-e2e.test.ts | 4 ++
packages/dashboard/src/mission-routes.ts | 5 ++-
17 files changed, 332 insertions(+), 10 deletions(-)
Fusion-Task-Id: FN-5897
Fusion-Task-Lineage: 5176270d-9885-447a-845b-4e0d69d531a0
2026-06-02 17:58:41 -07:00
gsxdsm
41c891d7d8
FN-5850: add AI goal description drafting
...
Add AI-assisted goal description drafting from the Goals view add form.
- add a readonly AI drafting flow for goal descriptions with title validation and shared rate limiting
- expose a new /api/ai/draft-goal-description endpoint and dashboard API helper for requesting drafts
- add Goals view UI, styling, tests, and dashboard docs covering the draft workflow
Files changed:
docs/dashboard-guide.md | 6 +
packages/dashboard/app/api/legacy.ts | 24 +++-
packages/dashboard/app/components/GoalsView.css | 14 ++
packages/dashboard/app/components/GoalsView.tsx | 46 +++++-
packages/dashboard/app/components/__tests__/GoalsView.test.tsx | 50 +++++++
packages/dashboard/src/__tests__/ai-refine.test.ts | 75 ++++++++++
packages/dashboard/src/__tests__/routes-agents.test.ts | 92 ++++++++++++
packages/dashboard/src/ai-refine.ts | 155 ++++++++++++++++++---
packages/dashboard/src/routes.ts | 58 ++++++++
9 files changed, 489 insertions(+), 31 deletions(-)
Fusion-Task-Id: FN-5850
Fusion-Task-Lineage: $#%
!
2026-06-01 22:50:41 -07:00
gsxdsm
d585ac2181
FN-5791: add markdown goal descriptions with show-more toggle
...
Improve goal card descriptions to support markdown formatting while keeping long content scannable.
- render goal descriptions with markdown + GFM support in GoalsView
- collapse long or multi-line descriptions by default and add Show more/Show less disclosure
- style collapsed description layout and add responsive clamp adjustments
- add tests for markdown rendering, long-description toggle behavior, and short-description no-toggle behavior
Files changed:
packages/dashboard/app/components/GoalsView.css | 27 +++++++++++++
packages/dashboard/app/components/GoalsView.tsx | 46 +++++++++++++++++++++-
packages/dashboard/app/components/__tests__/GoalsView.test.tsx | 42 ++++++++++++++++++++
3 files changed, 114 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-5791
Fusion-Task-Lineage: a3a0be5c-4a8d-4dc1-93a3-40891ab7762b
2026-05-31 16:43:58 -07:00
gsxdsm
67c026675b
FN-5667: enable scrolling in goals view on mobile
...
Restore Goals screen scroll behavior by making the main goals container vertically scrollable.
- add full-height, min-height reset, and vertical overflow scrolling to .goals-view
- enable momentum scrolling on iOS via -webkit-overflow-scrolling
- extend GoalsView CSS guardrail test to assert required scroll-related declarations
Files changed:
packages/dashboard/app/components/GoalsView.css | 4 ++++
packages/dashboard/app/components/__tests__/GoalsView.css.test.ts | 3 +++
2 files changed, 7 insertions(+)
Fusion-Task-Id: FN-5667
Fusion-Task-Lineage: fed12aa4-ebe0-46aa-a057-375469912acd
2026-05-29 08:11:55 -07:00
gsxdsm
7ba5ad0781
FN-5649: wire GoalsView to Goals API workflows
...
Replace mock-only goals behavior with live API-backed create/edit/archive flows in GoalsView.
- load goals from GET /api/goals when initial goals are not injected
- add inline create form that POSTs goals and handles active-goal cap 409 errors
- add per-goal edit form that PATCHes title/description changes
- add archive/unarchive actions wired to archive endpoints with inline error handling
- refresh GoalsView docs and expand component tests for loading, CRUD, cap errors, and status transitions
Files changed:
docs/dashboard-guide.md | 18 +-
packages/dashboard/app/components/GoalsView.css | 52 ++-
packages/dashboard/app/components/GoalsView.tsx | 402 +++++++++++++++++----
packages/dashboard/app/components/__tests__/GoalsView.test.tsx | 250 +++++++++++--
4 files changed, 600 insertions(+), 122 deletions(-)
Fusion-Task-Id: FN-5649
Fusion-Task-Lineage: b787c8e3-64c5-4243-ae84-0f20f12ea09e
2026-05-29 08:06:46 -07:00
gsxdsm
d37bebf8bf
feat(FN-5516): merge fusion/fn-5516
2026-05-22 17:24:38 -07:00
gsxdsm
ed4d021d3d
fix(dashboard): keep mobile nav visible on Android landscape and during keyboard
...
- Broaden mobile media query to include (max-height: 480px) so landscape
phones (which exceed 768 CSS px wide) still render the bottom nav and
mobile board layout instead of desktop horizontally-scrollable columns.
- Guard useMobileKeyboard against pinch-zoom (vv.scale > 1) — Android
Chrome ignores user-scalable=no, and a focused textarea + zoom was
false-positiving keyboard-open and hiding MobileNavBar.
- Read documentElement.clientHeight instead of stale window.innerHeight
when computing keyboard overlap (Android multi-window can leave
innerHeight cached at a wildly different value than the actual layout
viewport — observed 2848 while html was 797).
- Add interactive-widget=resizes-content to the viewport meta so Android
Chrome shrinks the layout viewport with the soft keyboard, matching iOS.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-22 13:12:36 -07:00
Fusion (runfusion.ai)
b94eae4f23
feat(FN-4719): complete Step 3-4 — goals view lazy wiring and changeset
...
Fusion-Task-Id: FN-4719
Fusion-Task-Lineage: 53fb716e-2d3e-40c7-ad7a-e9f315f33c34
2026-05-16 05:29:27 -07:00