Commit Graph

10401 Commits

Author SHA1 Message Date
gsxdsm
c54b231290 FN-7335: default task details to Activity first
Default task detail opens now prioritize Activity while preserving an opt-in Chat-first mode.

- Add a project setting and dashboard plumbing for Chat-first task detail ordering.
- Default non-done task detail opens to Activity/Live while keeping explicit Chat, Activity, and Logs links stable.
- Update Settings, docs, changeset, and regression coverage for Activity-first and Chat-first behavior.

Files changed:
 .changeset/activity-first-task-detail.md           |  7 +++
 docs/dashboard-guide.md                            |  6 +-
 .../core/src/__tests__/settings-defaults.test.ts   | 13 ++++
 packages/core/src/settings-schema.ts               |  5 ++
 packages/core/src/types.ts                         |  5 ++
 packages/dashboard/app/App.tsx                     |  7 ++-
 packages/dashboard/app/components/AppModals.tsx    |  2 +
 packages/dashboard/app/components/ListView.tsx     |  3 +
 .../dashboard/app/components/SettingsModal.tsx     |  6 ++
 .../dashboard/app/components/TaskDetailModal.tsx   | 71 ++++++++++++++-------
 .../TaskDetailModal.attachments-and-tabs.test.tsx  | 19 ++++--
 ...etailModal.responsive-and-dependencies.test.tsx |  2 +-
 .../TaskDetailModal.task-activity-chat.test.tsx    | 72 +++++++++++++++++++---
 .../components/__tests__/TaskDetailModal.test.tsx  |  3 +
 .../app/components/dashboard/MainContent.tsx       |  3 +
 .../dashboard/app/components/dashboard/types.ts    |  1 +
 .../settings/sections/AppearanceSection.tsx        |  8 +++
 .../sections/__tests__/AppearanceSection.test.tsx  | 20 ++++++
 .../app/components/useRightDockController.tsx      |  2 +
 packages/dashboard/app/hooks/useAppSettings.ts     |  9 +++
 20 files changed, 220 insertions(+), 44 deletions(-)

Fusion-Task-Id: FN-7335

Fusion-Task-Lineage: d983c41a-f2f5-4e53-aee4-3ec3a4c057a3

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 23:45:01 -07:00
gsxdsm
33279538f0 fix(FN-7335): log pause abort recovery details 2026-06-30 23:45:01 -07:00
gsxdsm
234248a3cd fix(FN-7335): retry active merge pause aborts 2026-06-30 23:45:01 -07:00
gsxdsm
a3ad0c8ecf fix(FN-7335): keep fast completion summaries 2026-06-30 23:45:01 -07:00
gsxdsm
7d2bd9794e FN-7337: make planner chats lazy and archive-scoped
Task planner chats now stay out of global chat history until a user interacts and are retained until task archive.

- Load task planner chat tabs with lookup-only resume before any user send.
- Show task-planner sessions in global Chat only after messages exist, including SSE refresh handling.
- Keep interacted planner chats for done tasks while deleting task-scoped planner sessions on archive.
- Cover chat store deletion, planner tab behavior, route filtering, and chat-list refresh with regression tests.

Files changed:
 .changeset/fn-7337-planner-chat-retention.md       |   7 ++
 docs/dashboard-guide.md                            |   4 +-
 packages/core/src/__tests__/chat-store.test.ts     |  44 +++++++++
 packages/core/src/chat-store.ts                    |  22 +++++
 packages/dashboard/app/api/legacy.ts               |  35 ++++++-
 .../app/components/TaskPlannerChatTab.tsx          |  13 ++-
 .../__tests__/TaskPlannerChatTab.test.tsx          |  91 +++++++++++++-----
 .../dashboard/app/hooks/__tests__/useChat.test.ts  |  41 ++++++++
 packages/dashboard/app/hooks/useChat.ts            |  15 ++-
 .../dashboard/src/__tests__/chat-routes.test.ts    | 105 +++++++++++++++++++++
 .../dashboard/src/routes/register-chat-routes.ts   |  17 +++-
 packages/dashboard/src/server.ts                   |  10 +-
 packages/engine/src/runtimes/in-process-runtime.ts |   8 ++
 13 files changed, 378 insertions(+), 34 deletions(-)

Fusion-Task-Id: FN-7337

Fusion-Task-Lineage: 7ef9ed8f-af2e-4fa9-a2b6-0e8c8a805d5e

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 23:45:01 -07:00
gsxdsm
5ee19647f8 FN-7336: remove redundant workflow step badges
Remove duplicate workflow labels from expanded task-card step rows while preserving workflow progress visibility.

- Drop the per-step workflow text badge rendering and its phase-specific styles.
- Keep workflow rows identifiable through names, status dots, and active badges.
- Update task-card tests to assert workflow badge removal and running workflow-step behavior.
- Add a patch changeset for the published Fusion package.

Files changed:
 .changeset/remove-task-card-workflow-step-badge.md |  7 +++++
 packages/dashboard/app/components/TaskCard.css     | 24 -----------------
 packages/dashboard/app/components/TaskCard.tsx     | 11 +++-----
 .../app/components/__tests__/TaskCard.test.tsx     | 31 +++++++++++++---------
 4 files changed, 28 insertions(+), 45 deletions(-)

Fusion-Task-Id: FN-7336
Fusion-Task-Lineage: f4d29c69-edce-4f19-a156-8203e4784777
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 23:45:01 -07:00
gsxdsm
65822a02b4 FN-7333: stabilize Planner Chat expanded spacing
Stabilize Planner Chat task detail spacing across expanded and mobile layouts.

- Move Planner Chat body padding to the base selector so expand/collapse only changes height and flex behavior.
- Apply the mobile Planner Chat padding override to the same base body selector.
- Add CSS regression coverage and a patch changeset for the published CLI bundle.

Files changed:
 .changeset/planner-chat-stable-spacing.md          |  7 ++++
 .../dashboard/app/components/TaskDetailModal.css   | 11 +++++-
 ...etailModal.responsive-and-dependencies.test.tsx | 44 ++++++++++++++++++++++
 3 files changed, 60 insertions(+), 2 deletions(-)

Fusion-Task-Id: FN-7333

Fusion-Task-Lineage: 84130908-fabb-433f-a48d-5d9c6649c234

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 23:45:01 -07:00
gsxdsm
1c1206a1ca FN-7332: update chat-first task detail tab tests
Refresh TaskDetailModal coverage for Chat-first tab ordering and Activity-only controls.

- Assert omitted non-done task detail modals open planner Chat before Activity.
- Keep legacy Activity requests and Feed/Raw Logs segment behavior covered after selecting Activity.
- Update related Activity/planner Chat integration expectations for the new tab order.

Files changed:
 .../TaskDetailModal.attachments-and-tabs.test.tsx  | 208 ++++++++++++---------
 .../TaskDetailModal.task-activity-chat.test.tsx    |  12 +-
 2 files changed, 126 insertions(+), 94 deletions(-)

Fusion-Task-Id: FN-7332

Fusion-Task-Lineage: e732884f-4d2a-421a-b9d6-481382c3742b

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 23:45:00 -07:00
gsxdsm
aa4c2c1b26 FN-7331: remove Quick Add AI refine control
Remove the Quick Add refine affordance while preserving richer task refinement elsewhere.

- Drop QuickEntryBox refine state, menu positioning, API calls, and action rendering.
- Update Quick Add tests to assert the refine controls and refine-text path are absent.
- Add a patch changeset for the published CLI bundle.

Files changed:
 .changeset/fn-7331-remove-quick-add-refine.md      |   7 +
 .../__tests__/quick-entry-expanded-height.test.tsx |   3 +-
 .../dashboard/app/components/QuickEntryBox.tsx     | 198 +-------------
 .../components/__tests__/QuickEntryBox.test.tsx    | 286 ++++-----------------
 4 files changed, 71 insertions(+), 423 deletions(-)

Fusion-Task-Id: FN-7331

Fusion-Task-Lineage: ed30e9da-1c1c-4e94-9fbe-e44ad5ae7133

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 23:45:00 -07:00
gsxdsm
a48ff305db FN-7330: normalize Activity segment sizing
Normalize the task-detail Activity segmented control so active tabs do not change row height.

- Set base Activity segment sizing, label size, line-height, and border-box behavior for consistent Live/Feed/Raw Logs heights.
- Add regression coverage for equal-height, horizontally scrollable Activity segment tabs across modal and embedded surfaces.
- Add a patch changeset for the dashboard Activity tab sizing fix.

Files changed:
 .changeset/silver-activity-segments.md             |  7 +++++
 .../dashboard/app/components/TaskDetailModal.css   |  8 +++++-
 ...etailModal.responsive-and-dependencies.test.tsx | 30 ++++++++++++++++++++++
 3 files changed, 44 insertions(+), 1 deletion(-)

Fusion-Task-Id: FN-7330

Fusion-Task-Lineage: b833c5f0-b46b-4a05-84a5-e199c1547a6a

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 23:45:00 -07:00
gsxdsm
b52f92cb7c FN-7328: keep Planner Chat controls compact
Keep Planner Chat compact while preserving expanded mobile task context.

- Match the Planner Chat composer sizing to Activity chat on desktop and mobile.
- Keep the expanded mobile detail tab bar, priority, and execution-mode controls visible while hiding lower-priority metadata.
- Move and constrain the planner model badge so header actions stay compact.
- Cover the responsive layout and header ordering with dashboard tests.
- Add a patch changeset for the published Fusion package.

Files changed:
 .changeset/fn-7328-planner-chat-compact.md         |  7 +++
 .../dashboard/app/components/TaskDetailModal.css   | 21 +++++++--
 .../app/components/TaskPlannerChatTab.css          | 51 +++++++++++++++++-----
 .../app/components/TaskPlannerChatTab.tsx          | 10 ++---
 ...etailModal.responsive-and-dependencies.test.tsx | 26 +++++++++--
 .../__tests__/TaskPlannerChatTab.test.tsx          |  2 +
 6 files changed, 93 insertions(+), 24 deletions(-)

Fusion-Task-Id: FN-7328

Fusion-Task-Lineage: b787d818-e65c-486b-b5f7-cd0881bf3ee0

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 23:45:00 -07:00
gsxdsm
4ae0456c48 FN-7329: rename task title summary button
Shorten the task detail title summarization action label across UI copy and tests.

- Rename the task detail button label from "Summarize as title" to "Summarize".
- Update focused accessibility assertions for the new button copy.
- Add a patch changeset for the published Fusion package.

Files changed:
 .changeset/fn-7329-task-detail-summarize.md                        | 7 +++++++
 packages/dashboard/app/components/TaskDetailModal.tsx              | 2 +-
 .../dashboard/app/components/__tests__/TaskDetailModal.test.tsx    | 4 ++--
 packages/i18n/locales/en/app.json                                  | 2 +-
 packages/i18n/src/resources.d.ts                                   | 2 +-
 5 files changed, 12 insertions(+), 5 deletions(-)

Fusion-Task-Id: FN-7329

Fusion-Task-Lineage: db7df162-19fe-480e-8008-fa89d637de2b

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 23:45:00 -07:00
gsxdsm
2f5e15ac43 FN-7324: Focus task details on planner chat
Task details now prioritize the planner Chat experience while preserving Activity links and done-task summaries.

- Default active task details to Chat and render it before Activity without breaking legacy Activity tab ids.
- Add focused planner Chat expansion, pinned composer, mobile row hiding, and in-view expand/collapse controls.
- Update responsive coverage, planner-chat tests, dashboard docs, and the release changeset.

Files changed:
 .changeset/fn-7324-chat-focused-task-detail.md     |  7 ++
 docs/dashboard-guide.md                            | 11 +--
 .../dashboard/app/components/TaskDetailModal.css   | 47 ++++++++++-
 .../dashboard/app/components/TaskDetailModal.tsx   | 36 +++++----
 .../app/components/TaskPlannerChatTab.css          | 36 ++++++++-
 .../app/components/TaskPlannerChatTab.tsx          | 37 ++++++---
 ...etailModal.responsive-and-dependencies.test.tsx | 14 +++-
 .../components/__tests__/TaskDetailModal.test.tsx  | 93 +++++++++++++++++++---
 .../__tests__/TaskPlannerChatTab.test.tsx          | 18 +++++
 9 files changed, 255 insertions(+), 44 deletions(-)

Fusion-Task-Id: FN-7324
Fusion-Task-Lineage: 0699d224-7280-4959-8086-b0ea985937a2
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 23:45:00 -07:00
gsxdsm
abb5a8b29d FN-7315: add task-detail activity chat flow tests
Add focused dashboard coverage for task-detail activity/chat tab separation and planner chat steering behavior.

- Cover desktop Activity tab segment switching across Live, Feed, and Raw Logs without duplicate Chat controls.
- Cover mobile done-task defaults so Summary remains selected while Activity and Chat stay ordered and isolated.
- Extend planner chat tests for recent-activity starter prompts, missing context sends, risky clarification questions, failed steering tools, and read-only answered questions without lingering controls.

Files changed:
 .../__tests__/ChatQuestionResponse.test.tsx        |  25 +++-
 .../TaskDetailModal.task-activity-chat.test.tsx    | 148 +++++++++++++++++++++
 .../__tests__/TaskPlannerChatTab.test.tsx          | 145 ++++++++++++++++++++
 3 files changed, 313 insertions(+), 5 deletions(-)

Fusion-Task-Id: FN-7315

Fusion-Task-Lineage: a41b0e62-d1bf-4495-b95a-70ff30ba0624

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 23:45:00 -07:00
gsxdsm
863c5ce83f FN-7325: rename Activity Current to Live
Renames the task-detail Activity Current segment to Live and makes expansion available across Activity views.

- relabel Activity Current as Live while preserving the legacy internal current segment routing
- move the Activity expand/collapse control to the shared Activity toolbar for Live, Feed, and Raw Logs
- update expanded Activity layout, docs, tests, and release notes for the shared behavior

Files changed:
 .changeset/fn-7325-activity-live-expand.md         |   7 ++
 docs/dashboard-guide.md                            |   8 +-
 packages/dashboard/app/components/TaskChatTab.tsx  |   6 +-
 .../dashboard/app/components/TaskDetailModal.css   |  53 ++++++++++-
 .../dashboard/app/components/TaskDetailModal.tsx   | 103 ++++++++++++---------
 .../app/components/__tests__/TaskChatTab.test.tsx  |  12 +--
 .../TaskDetailModal.attachments-and-tabs.test.tsx  |  90 ++++++++++++++++--
 .../__tests__/TaskDetailModal.rendering.test.tsx   |   2 +-
 .../components/__tests__/TaskDetailModal.test.tsx  |   8 +-
 9 files changed, 213 insertions(+), 76 deletions(-)

Fusion-Task-Id: FN-7325
Fusion-Task-Lineage: 1aee503b-ace8-4238-a9f9-3e536a43c1f8
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 23:44:59 -07:00
gsxdsm
f2c4f7dd9d Propose dashboard theme and UI plugin system (#1844)
## Summary
- Add a maintainer-facing proposal for a dashboard theme/UI plugin
system
- Frame themes as scoped backend-compatible UI experiments, not just CSS
skins
- Call out selected-project scoping as a prerequisite and immediate bug
class

## Verification
- docs-only proposal; no runtime tests required

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Documentation**
  * Added a proposal for a dashboard theme and UI plugin system.
* Defines support for multiple dashboard themes/shells sharing the same
backend.
* Describes a stable, project-scoped UI contract, project-scoped API
access, token-based styling, and a theme switcher.
* Documents non-goals, safety boundaries for UI experimentation,
feasibility considerations, and an implementation plan.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-30 22:24:42 -07:00
gsxdsm
9062b15e31 Fix Compound Engineering artifact project scoping (#1845)
## Summary
- Clear Compound Engineering artifact results when switching selected
projects before the next scoped fetch resolves
- Keep artifact Open actions explicitly scoped to the project workspace
- Assert projectId is passed into artifact discovery and update
file-open test coverage

## Verification
- pnpm --filter @fusion-plugin-examples/compound-engineering test
- pnpm --filter @fusion-plugin-examples/compound-engineering build
- pnpm check:changesets

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Fixed artifact browsing so project files no longer appear stale after
switching projects.
  * Opening an artifact now takes you to the correct project workspace.
* Removed outdated on-screen artifact data while fresh results are
loading, reducing confusion.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-30 22:23:18 -07:00
gsxdsm
9092ae2220 fix(dashboard): scope goals view to selected project (#1843)
## Summary
- Threads the selected project id through the dashboard Goals view API
calls.
- Covers goals/missions reads plus create/edit/link/refine actions.
- Adds a regression test for project-scoped goals and mission reads.

## Test Plan
- `corepack pnpm --filter @fusion/dashboard exec vitest run
app/components/__tests__/GoalsView.test.tsx --pool=forks`
- `corepack pnpm --filter @fusion/dashboard typecheck`


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Goals now stay tied to the selected project, so goal lists, mission
links, and related actions only affect the current project.
* Goal description drafts now use the active project context for more
accurate results.

* **Tests**
* Expanded coverage to verify project-scoped loading and updates for
goals and missions.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-30 22:22:13 -07:00
Phil Larson
ddafada719 docs: add CE plan artifact for dashboard themes 2026-06-30 22:20:00 -07:00
Phil Larson
03629d635a docs: add DESIGN.md theme direction 2026-06-30 22:15:27 -07:00
Phil Larson
228554d125 fix(compound-engineering): clear artifact project scope drift 2026-06-30 22:03:41 -07:00
Phil Larson
fd26c310cf docs: propose dashboard theme plugin system 2026-06-30 21:59:53 -07:00
Phil Larson
7ea9aee98f fix(dashboard): scope goals view to selected project 2026-06-30 21:59:03 -07:00
gsxdsm
d58ba268c5 FN-7326: move Quick Add attach action next to Save
Align the expanded Quick Add action row so attachment controls sit beside Save.\n\n- Move the icon-only attachment button immediately after Save while keeping its hidden file input trigger and pending image badge.\n- Update QuickEntryBox DOM-order expectations to lock Attach next to Save.\n- Add a patch changeset for the published Fusion package.\n\nFiles changed:\n .changeset/fn-7326-quick-add-attach.md             |  7 +++++\n .../dashboard/app/components/QuickEntryBox.tsx     | 31 +++++++++++-----------\n .../components/__tests__/QuickEntryBox.test.tsx    |  8 +++---\n 3 files changed, 28 insertions(+), 18 deletions(-)

Fusion-Task-Id: FN-7326

Fusion-Task-Lineage: f9469a3f-2e94-4af4-8c74-332f2b4a10c2

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 19:36:10 -07:00
gsxdsm
f8b3e05b91 FN-7327: tighten planner chat composer layout
Make the planner chat composer align with the send button while preserving mobile stacking.

- Let the desktop composer wrap inline controls instead of forcing a tall textarea.
- Match the planner chat textarea height and padding to button sizing.
- Extend responsive CSS coverage for desktop wrapping, input height, and mobile send-button layout.

Files changed:
 .../dashboard/app/components/TaskPlannerChatTab.css    | 15 ++++++++++++---
 ...askDetailModal.responsive-and-dependencies.test.tsx | 18 +++++++++++++++---
 2 files changed, 27 insertions(+), 6 deletions(-)

Fusion-Task-Id: FN-7327

Fusion-Task-Lineage: 10ec1f7a-f131-4760-b7c7-bba795a0c6e0

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 19:30:52 -07:00
gsxdsm
0915377a1c FN-7314: reuse shared planner question UI
Reuse the existing question-response modal UI inside task-detail planner Chat clarification flows.

- Render planner fn_ask_question tool calls with ChatQuestionResponse, including answered read-only and duplicate-pending states.
- Preserve steering-tool confirmations while sending submitted clarification answers back through planner Chat.
- Extend parser and modal tests for multi-question payloads, submitted answers, duplicate prompts, and empty dependency labels.
- Add a patch changeset for the published Fusion package.

Files changed:
 .changeset/fn-7314-planner-question-ui.md          |  7 ++
 .../app/components/TaskPlannerChatTab.css          |  9 +++
 .../app/components/TaskPlannerChatTab.tsx          | 76 ++++++++++++++++--
 ...etailModal.responsive-and-dependencies.test.tsx |  3 +
 .../__tests__/TaskPlannerChatTab.test.tsx          | 89 ++++++++++++++++++----
 .../utils/__tests__/parseQuestionToolCall.test.ts  | 10 ++-
 .../dashboard/app/utils/parseQuestionToolCall.ts   |  6 +-
 7 files changed, 176 insertions(+), 24 deletions(-)

Fusion-Task-Id: FN-7314

Fusion-Task-Lineage: bd5da323-0ba1-4094-a965-cc2801a1c9b7

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 19:21:53 -07:00
gsxdsm
cb0d38a0c6 FN-7313: add guarded planner chat steering
Task-detail planner chat now turns only clear task change requests into persisted steering comments while keeping ambiguous requests in clarification flow.

- Add a scoped planner-chat steering tool with task-bound persistence and richer result details.
- Refresh task details and show steering confirmation, pending, and error states in the planner chat transcript.
- Expand planner chat prompt guidance and tests for clear steering, ambiguous clarification, and ordinary status questions.
- Add a published Fusion changeset for the new task chat steering behavior.

Files changed:
 .changeset/fn-7313-task-chat-steering.md           |   7 ++
 .../dashboard/app/components/TaskDetailModal.tsx   |   1 +
 .../app/components/TaskPlannerChatTab.css          |  28 +++++
 .../app/components/TaskPlannerChatTab.tsx          |  96 ++++++++++++++++-
 .../__tests__/TaskPlannerChatTab.test.tsx          |  72 ++++++++++++-
 .../dashboard/src/__tests__/chat-manager.test.ts   | 120 +++++++++++++++++++++
 packages/dashboard/src/chat.ts                     |  32 +++++-
 7 files changed, 347 insertions(+), 9 deletions(-)

Fusion-Task-Id: FN-7313
Fusion-Task-Lineage: 29da54cc-c379-4fe5-8419-be3acc712495
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 19:15:11 -07:00
gsxdsm
ddfd841b53 FN-7312: send task context to planner chat
Send bounded task state into task-detail planner chat so status and progress questions can be answered in context.

- Build reusable server-side planner chat context from task metadata, dependencies, steps, comments, activity, source, and review state.
- Pass and validate the task id on planner chat sends to keep sessions scoped to the current task.
- Update planner chat copy, docs, tests, and changeset coverage for task-aware status/progress questions.

Files changed:
 .changeset/fn-7312-task-planner-chat-context.md    |   7 +
 docs/dashboard-guide.md                            |   4 +-
 packages/dashboard/app/api/legacy.ts               |   5 +-
 .../app/components/TaskPlannerChatTab.tsx          |   5 +-
 .../__tests__/TaskPlannerChatTab.test.tsx          |  22 ++
 .../dashboard/src/__tests__/chat-manager.test.ts   |  17 +-
 .../dashboard/src/__tests__/chat-routes.test.ts    |  76 +++++
 .../__tests__/task-planner-chat-context.test.ts    | 165 +++++++++++
 packages/dashboard/src/chat.ts                     |  92 +-----
 .../dashboard/src/routes/register-chat-routes.ts   |  11 +-
 .../dashboard/src/task-planner-chat-context.ts     | 326 +++++++++++++++++++++
 11 files changed, 634 insertions(+), 96 deletions(-)

Fusion-Task-Id: FN-7312

Fusion-Task-Lineage: 90cf0fe3-3984-4a67-bb44-fce492c256eb

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 18:51:41 -07:00
gsxdsm
a186dccaf6 test(auth): stub auth route CLI probes 2026-06-30 18:39:52 -07:00
gsxdsm
e2702bab6b feat(workflows): add reviewer inline fixes 2026-06-30 18:37:10 -07:00
gsxdsm
45509708e5 FN-7311: add planner chat starter prompts
Add guided prompts to the empty task-detail Chat tab so operators can start useful planner conversations quickly.

- Render a task-aware Chat empty state with four accessible starter prompt buttons.
- Send starter selections through the normal planner-chat stream while guarding stale session loads and stream callbacks.
- Style responsive prompt cards and document the Chat/Activity separation.
- Cover empty-state, loading, history, sending, and task-switch behavior with dashboard tests.

Files changed:
 .changeset/fn-7311-chat-starter-prompts.md         |   7 +
 docs/dashboard-guide.md                            |   2 +
 .../app/components/TaskPlannerChatTab.css          |  55 ++++-
 .../app/components/TaskPlannerChatTab.tsx          | 185 ++++++++++++---
 ...etailModal.responsive-and-dependencies.test.tsx |   3 +
 .../__tests__/TaskPlannerChatTab.test.tsx          | 252 ++++++++++++++++++++-
 6 files changed, 460 insertions(+), 44 deletions(-)

Fusion-Task-Id: FN-7311

Fusion-Task-Lineage: 5a58bc4f-1139-4c68-9ade-b79a52558bef

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 18:20:16 -07:00
gsxdsm
c1d7da3f8c FN-7321: refresh branch group details from task events
Refresh branch group detail views when task lifecycle events change member state.

- Add shared branch group SSE helpers for task lifecycle refresh events and project filtering.
- Subscribe branch group cards and modals to created, moved, updated, deleted, merged, and reconnect refreshes without resetting local view state.
- Cover live refresh behavior and add a patch changeset for the published CLI bundle.

Files changed:

 .changeset/refresh-branch-group-detail-live.md     |   7 ++
 .../dashboard/app/components/BranchGroupCard.tsx   |  33 +++--
 .../dashboard/app/components/GroupTaskModal.tsx    |  40 +++---
 .../components/__tests__/BranchGroupCard.test.tsx  | 137 ++++++++++++++++++++-
 .../components/__tests__/GroupTaskModal.test.tsx   |  58 ++++++++-
 packages/dashboard/app/utils/branchGroupSse.ts     |  19 +++
 6 files changed, 262 insertions(+), 32 deletions(-)

Fusion-Task-Id: FN-7321

Fusion-Task-Lineage: 015ba35b-c449-4e5c-a398-83a442ad360d

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 18:15:10 -07:00
gsxdsm
5e0c567199 FN-7320: hide branch group card during expanded Activity chat
Keep maximized task Activity chat free of branch-group chrome and hidden focus targets.

- Skip mounting BranchGroupCard while the Activity chat is expanded.
- Cover branch-group and no-branch-group expanded chat states in TaskDetailModal tests.
- Add a patch changeset for the published Fusion package.

Files changed:
 .../fn-7320-hide-branch-group-expanded-chat.md     |  7 +++
 .../dashboard/app/components/TaskDetailModal.tsx   |  7 ++-
 .../TaskDetailModal.attachments-and-tabs.test.tsx  | 69 ++++++++++++++++++++--
 3 files changed, 77 insertions(+), 6 deletions(-)

Fusion-Task-Id: FN-7320

Fusion-Task-Lineage: 4fd7f328-5874-4924-bb17-6b29320a32ad

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 17:54:10 -07:00
gsxdsm
db7b46f60f FN-7310: add task planner chat tab
Add a dedicated task-detail Chat surface for planner-model conversations separate from Activity steering.

- Add task-scoped planner chat session creation and routing with planning-model overrides.
- Render a new top-level Chat tab next to Activity, including streaming responses, tool-call cards, and retry/error states.
- Cover planner chat tab ordering, session reuse, route validation, manager dispatch, and dashboard documentation.

Files changed:
 .changeset/fn-7310-planner-chat.md                 |   7 +
 docs/dashboard-guide.md                            |   3 +-
 packages/dashboard/app/api/legacy.ts               |  35 +++
 .../dashboard/app/components/TaskDetailModal.tsx   |  40 ++-
 .../app/components/TaskPlannerChatTab.css          | 149 ++++++++++
 .../app/components/TaskPlannerChatTab.tsx          | 322 +++++++++++++++++++++
 ...etailModal.responsive-and-dependencies.test.tsx |  13 +-
 .../__tests__/TaskDetailModal.test-helpers.ts      |   3 +
 .../components/__tests__/TaskDetailModal.test.tsx  |  58 ++++
 .../__tests__/TaskPlannerChatTab.test.tsx          | 193 ++++++++++++
 .../dashboard/src/__tests__/chat-manager.test.ts   |  65 +++++
 .../dashboard/src/__tests__/chat-routes.test.ts    | 106 +++++++
 packages/dashboard/src/chat.ts                     | 132 ++++++++-
 .../dashboard/src/routes/register-chat-routes.ts   |  68 +++++
 14 files changed, 1181 insertions(+), 13 deletions(-)

Fusion-Task-Id: FN-7310

Fusion-Task-Lineage: a276c356-599e-4495-9879-472d157d95e5

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 17:20:42 -07:00
gsxdsm
2284d6683e FN-7319: Collapse task-detail branch groups
Make shared-branch task details open in a compact collapsed state by default.

- Default branch group cards to collapsed and remount them when switching tasks in the same group.
- Add compact token-based styling for collapsed branch group summaries.
- Update branch group and task detail tests for collapsed defaults and state reset behavior.
- Add a patch changeset for the published CLI bundle.

Files changed:
 .changeset/fn-7319-compact-branch-groups.md        |  7 ++++
 .../dashboard/app/components/BranchGroupCard.css   | 38 +++++++++++++++++-
 .../dashboard/app/components/BranchGroupCard.tsx   | 30 +++-----------
 .../dashboard/app/components/TaskDetailModal.tsx   |  3 +-
 .../components/__tests__/BranchGroupCard.test.tsx  | 46 ++++++++++++++++++----
 .../components/__tests__/TaskDetailModal.test.tsx  | 38 +++++++++++++++---
 6 files changed, 123 insertions(+), 39 deletions(-)

Fusion-Task-Id: FN-7319

Fusion-Task-Lineage: a4469ecd-cffa-4af4-b4dc-064246ff9a39

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 17:15:59 -07:00
gsxdsm
f677ab4f19 FN-7309: add Activity steering composer labels
Make Activity Current clearly expose steering and refinement entry points.

- Add explicit Steering comment and Refinement request labels with accessible hints to the Activity Current composer.
- Keep Feed and Raw Logs read-only while preserving done-task Summary defaults and legacy Activity Current links.
- Cover desktop, mobile, embedded detail, completed-task, and segment-switching behavior in dashboard tests.
- Document the Activity steering affordance and add a patch changeset for the published CLI package.

Files changed:
 .changeset/fn-7309-activity-steering.md            |  7 ++
 docs/dashboard-guide.md                            |  9 +--
 packages/dashboard/app/components/TaskChatTab.css  | 29 ++++++++
 packages/dashboard/app/components/TaskChatTab.tsx  | 22 +++++--
 .../dashboard/app/components/TaskDetailModal.tsx   | 12 +++-
 .../app/components/__tests__/TaskChatTab.test.tsx  | 19 +++++-
 .../__tests__/TaskDetailModal.summary-tab.test.tsx | 22 +++----
 .../components/__tests__/TaskDetailModal.test.tsx  | 77 ++++++++++++++++++++++
 8 files changed, 173 insertions(+), 24 deletions(-)

Fusion-Task-Id: FN-7309
Fusion-Task-Lineage: 0674bf35-b0a3-4fa7-81c3-4312024c9c53
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 16:23:12 -07:00
gsxdsm
bba415f91b FN-7308: preserve legacy Activity log access
Preserve the legacy task log affordances inside the Activity tab.

- Route legacy Logs entrypoints to Activity → Feed while keeping Raw Logs as the raw agent-output segment.
- Document the Activity Current, Feed, and Raw Logs behavior across operator docs.
- Add regression coverage for Feed legacy entries, duplicate feed rows, and Raw Logs pagination.
- Add a patch changeset for the published CLI package.

Files changed:
 .changeset/fn-7308-preserve-activity-logs.md       |  7 ++++
 docs/agents.md                                     |  4 +-
 docs/dashboard-guide.md                            |  8 ++--
 packages/dashboard/README.md                       |  2 +-
 .../dashboard/app/components/TaskDetailModal.tsx   |  8 ++--
 .../TaskDetailModal.attachments-and-tabs.test.tsx  | 29 ++++++++++++++
 .../components/__tests__/TaskDetailModal.test.tsx  | 45 ++++++++++++++++++++++
 7 files changed, 92 insertions(+), 11 deletions(-)

Fusion-Task-Id: FN-7308

Fusion-Task-Lineage: 45483e4e-4de8-4b5b-96ae-fca6914545d4

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 15:58:30 -07:00
gsxdsm
e6be1f765f FN-7307: add Activity segments to task details
Unify task-detail activity surfaces under one segmented Activity tab.

- Add Current, Feed, and Raw Logs segments inside the Activity tab while preserving legacy chat/logs entrypoints.
- Route log-based stall jumps and raw log loading through the new Activity segments.
- Update task-detail styles, plugin modal types, and tests for the segmented Activity layout.
- Add a minor changeset for the published CLI package.

Files changed:
 .changeset/fn-7307-activity-segments.md            |   7 ++
 .../dashboard/app/components/TaskDetailModal.css   |  42 +++++--
 .../dashboard/app/components/TaskDetailModal.tsx   | 122 +++++++++++--------
 .../TaskDetailModal.attachments-and-tabs.test.tsx  | 134 +++++++++++----------
 .../__tests__/TaskDetailModal.css.test.ts          |  11 ++
 ...lModal.inline-editing-and-integrations.test.tsx |   7 +-
 ...skDetailModal.models-progress-workflow.test.tsx |  26 ++--
 .../__tests__/TaskDetailModal.rendering.test.tsx   |   3 +-
 .../components/__tests__/TaskDetailModal.test.tsx  |  30 ++---
 packages/dashboard/app/hooks/useModalManager.ts    |   4 +-
 packages/dashboard/app/plugins/types.ts            |   4 +-
 11 files changed, 230 insertions(+), 160 deletions(-)

Fusion-Task-Id: FN-7307
Fusion-Task-Lineage: 20ce70a6-2c94-4980-b528-ae4079b59016
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 15:23:51 -07:00
gsxdsm
151800f387 FN-7318: preserve planning summary spaces
Preserve editable Planning Mode summary descriptions so mobile and desktop textareas keep typed spaces.

- Keep non-empty generated descriptions untrimmed while still falling back for whitespace-only payloads.
- Cover mobile and desktop summary description editing with user-event typing assertions.
- Add a patch changeset for the Planning Mode description input fix.

Files changed:
 .changeset/fix-mobile-planning-summary-spaces.md     |  7 +++++++
 .../dashboard/app/components/PlanningModeModal.tsx   |  9 +++++++--
 .../PlanningModeModal.ui-interactions.test.tsx       | 20 ++++++++++++++++++++
 3 files changed, 34 insertions(+), 2 deletions(-)

Fusion-Task-Id: FN-7318

Fusion-Task-Lineage: e83ab078-e9a5-4bd4-88fa-72aa031af42e

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 15:04:02 -07:00
gsxdsm
254e97da74 FN-7306: rename task-detail Chat tab to Activity
Renames the existing task-detail activity surface while preserving the stable chat tab id.

- Move the Activity tab to the first task-detail position and make it the default for every task state.
- Keep `chat` as the compatibility tab id for modal callers, plugin APIs, and deep links.
- Update task-detail tests and add a patch changeset for the published CLI package.

Files changed:
 .changeset/fn-7306-task-detail-activity-tab.md     |  7 +++
 .../dashboard/app/components/TaskDetailModal.tsx   | 35 ++++++-------
 .../TaskDetailModal.attachments-and-tabs.test.tsx  | 57 +++++++++++-----------
 .../TaskDetailModal.definition-actions.test.tsx    | 24 ++++-----
 ...TaskDetailModal.github-tracking-header.test.tsx |  2 +-
 .../TaskDetailModal.github-tracking-stale.test.tsx |  2 +-
 ...lModal.inline-editing-and-integrations.test.tsx |  4 +-
 ...skDetailModal.models-progress-workflow.test.tsx |  2 +-
 .../__tests__/TaskDetailModal.rendering.test.tsx   |  4 +-
 ...etailModal.responsive-and-dependencies.test.tsx |  6 +--
 .../__tests__/TaskDetailModal.summary-tab.test.tsx | 33 ++++++++-----
 .../components/__tests__/TaskDetailModal.test.tsx  |  4 +-
 packages/dashboard/app/hooks/useModalManager.ts    |  4 ++
 packages/dashboard/app/plugins/types.ts            |  7 ++-
 14 files changed, 107 insertions(+), 84 deletions(-)

Fusion-Task-Id: FN-7306
Fusion-Task-Lineage: c905134c-de74-4c46-9c5a-d3fbc8200093
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 14:58:07 -07:00
gsxdsm
9f7215851b FN-7317: fix mobile planning summary controls
Fix mobile Planning Mode summary controls so description actions stay tappable and accessible.

- Move Markdown and Expand/Collapse controls outside the Description label to avoid mobile tap retargeting.\n- Add accessible labels and shared header/action styling for summary description controls.\n- Cover mobile expand/collapse behavior alongside the markdown preview toggle.\n- Add a patch changeset for the published CLI package.\n\nFiles changed:\n .changeset/fn-7317-mobile-planning-summary.md      |  7 +++\n .../dashboard/app/components/PlanningModeModal.css | 26 ++++++++-\n .../dashboard/app/components/PlanningModeModal.tsx | 58 +++++++++++--------\n .../PlanningModeModal.ui-interactions.test.tsx     | 65 ++++++++++++++++++++--\n 4 files changed, 128 insertions(+), 28 deletions(-)

Fusion-Task-Id: FN-7317

Fusion-Task-Lineage: f13bc27a-ea4e-46cd-aebb-2fe0a3251496

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 14:53:14 -07:00
gsxdsm
21fc28698f FN-7304: add Quick Add drag-and-drop attachments
Quick Add now supports compact icon-only image attachment controls and drag/drop intake.

- Convert the Quick Add attach action to an accessible icon-only button with pending-count feedback.
- Add file drag-over and drop handling that reuses the existing image preview/upload path.
- Document the Quick Add attachment affordances, add a changeset, and cover icon/drop behavior with tests.

Files changed:
 .changeset/fn-7304-quick-add-attachments.md        |   7 ++
 docs/dashboard-guide.md                            |   3 +
 .../dashboard/app/components/QuickEntryBox.css     |  49 ++++++++
 .../dashboard/app/components/QuickEntryBox.tsx     |  81 ++++++++++++-
 .../components/__tests__/QuickEntryBox.test.tsx    | 128 ++++++++++++++++++++-
 5 files changed, 257 insertions(+), 11 deletions(-)

Fusion-Task-Id: FN-7304

Fusion-Task-Lineage: 0ff78d99-5b6a-476c-99d2-32f53389f808

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 14:42:45 -07:00
gsxdsm
da15c1ceee FN-7305: add prompt file access to task plans
Expose task plans as the user-facing Definition tab label and add a direct PROMPT.md editor entry point.

- Rename the task detail Definition tab label to Plan while preserving the existing tab id.
- Add an Open PROMPT.md action that uses the file browser provider for project task plan files.
- Adjust Plan action row layout for multiple buttons and mobile wrapping.
- Cover the Plan label and PROMPT.md action with task detail modal tests.
- Add a published package changeset for the dashboard task plan improvement.

Files changed:
 .changeset/tidy-plan-prompt-editor.md              |  7 +++
 .../dashboard/app/components/TaskDetailModal.css   | 14 ++++++
 .../dashboard/app/components/TaskDetailModal.tsx   | 20 +++++++-
 .../TaskDetailModal.definition-actions.test.tsx    | 55 +++++++++++++++++-----
 4 files changed, 83 insertions(+), 13 deletions(-)

Fusion-Task-Id: FN-7305

Fusion-Task-Lineage: afe732f9-e9a1-409f-9b09-ae1deccbe3be

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 14:37:51 -07:00
gsxdsm
1bf86d15ea FN-7303: add workflow badge icon spacing
Add token-based spacing so workflow badge icons read clearly beside labels.

- Add consistent column gaps to task-card and task-detail workflow badges.
- Cover badge icon-label ordering and spacing expectations in dashboard tests.
- Add a patch changeset for the published Fusion package.

Files changed:
 .changeset/workflow-badge-spacing.md                           |  7 +++++++
 packages/dashboard/app/components/TaskCard.css                 |  4 ++++
 packages/dashboard/app/components/TaskDetailModal.css          |  5 +++++
 packages/dashboard/app/components/__tests__/TaskCard.test.tsx  | 10 ++++++++--
 .../TaskDetailModal.responsive-and-dependencies.test.tsx       |  1 +
 5 files changed, 25 insertions(+), 2 deletions(-)

Fusion-Task-Id: FN-7303
Fusion-Task-Lineage: 6d129e6c-0f8a-43c2-9c6d-88ff9acd520f
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 14:25:13 -07:00
gsxdsm
7ca6c784c4 FN-7302: compact quick-add workflow selector
Keep the Quick Add workflow selector compact without sacrificing readable workflow menu options.

- Narrow the closed workflow trigger and truncate only its label so action controls keep room.
- Portal and viewport-clamp the expanded workflow menu for right-side columns and mobile layouts.
- Preserve readable wrapping for long workflow names and duplicate-id subtitles in the menu.
- Cover compact trigger sizing, menu readability, and viewport clamping with QuickEntryBox tests.
- Add a patch changeset for the published Fusion package.

Files changed:
 .changeset/fn-7302-quick-add-workflow-trigger.md   |   7 ++
 .../dashboard/app/components/QuickEntryBox.css     |  29 ++++--
 .../dashboard/app/components/QuickEntryBox.tsx     | 114 ++++++++++++++++++++-
 .../components/__tests__/QuickEntryBox.test.tsx    |  79 +++++++++++++-
 4 files changed, 211 insertions(+), 18 deletions(-)

Fusion-Task-Id: FN-7302

Fusion-Task-Lineage: 4a8042d8-6cc5-4f40-bbcb-71aa5bfb7cd2

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 14:20:25 -07:00
gsxdsm
ea93f68ad9 FN-7301: add icon workflow picker to new task form
Add an icon-capable New Task workflow picker that preserves create-time workflow selection semantics.

- Replace the native workflow select in TaskForm with a styled dropdown showing workflow icons, default badges, duplicate-name IDs, and explicit No workflow opt-out.
- Wire the inline workflow chip to reveal and open the new picker while keeping workflowId payload handling unchanged.
- Add dropdown layout styles, dashboard docs, release notes, and regression coverage for modal create flows and TaskForm selection behavior.

Files changed:
 .changeset/fn-7301-new-task-workflow-dropdown.md   |   7 +
 docs/dashboard-guide.md                            |   3 +
 packages/dashboard/app/components/NewTaskModal.css |  75 ++++++++++
 packages/dashboard/app/components/TaskForm.tsx     | 166 ++++++++++++++++-----
 .../app/components/__tests__/NewTaskModal.test.tsx |  61 ++++++--
 .../app/components/__tests__/TaskForm.test.tsx     | 128 +++++++++++-----
 6 files changed, 351 insertions(+), 89 deletions(-)

Fusion-Task-Id: FN-7301

Fusion-Task-Lineage: f3d534a2-48bd-416a-88a6-f85410ee4f85

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 14:03:50 -07:00
gsxdsm
3dd02dd011 FN-7300: hide local-only Quick Add node pickers
Hide the Quick Add node picker whenever local execution is the only available route.

- Gate QuickEntryBox and InlineCreateCard node controls behind meaningful remote or multi-node choices.
- Clear stale node overrides when the hidden picker no longer offers a valid selection.
- Cover local-only and multi-node picker behavior in Quick Add component tests.
- Add a patch changeset for the published Fusion package.

Files changed:
 ...n-7300-hide-local-only-quick-add-node-button.md |   7 ++
 .../dashboard/app/components/InlineCreateCard.tsx  | 121 ++++++++++++---------
 .../dashboard/app/components/QuickEntryBox.tsx     | 102 ++++++++++-------
 .../components/__tests__/InlineCreateCard.test.tsx |  74 +++++++++++++
 .../components/__tests__/QuickEntryBox.test.tsx    |  89 +++++++++++++++
 5 files changed, 303 insertions(+), 90 deletions(-)

Fusion-Task-Id: FN-7300

Fusion-Task-Lineage: 83ef956f-7993-4f58-8497-49da15509c08

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 13:53:01 -07:00
gsxdsm
211b18b073 FN-7299: make Shadcn Ember the default dashboard theme
Set Shadcn Ember as the default dashboard theme while keeping Shadcn Gray available as an alternate.

- Add Shadcn Ember theme metadata, CSS variables, and boot-time defaults for dashboard and desktop shells.
- Update persisted settings types, schema defaults, and theme selection UI to prefer Ember.
- Cover Ember defaults and theme-option ordering with core, hook, and dashboard component tests.
- Add a published package changeset for the operator-facing default theme change.

Files changed:
 .changeset/fn-7299-shadcn-ember-default.md         |   7 ++
 .../core/src/__tests__/global-settings.test.ts     |  23 +++-
 packages/core/src/__tests__/store-settings.test.ts |  10 +-
 packages/core/src/settings-schema.ts               |   6 +-
 packages/core/src/types.ts                         |   4 +-
 .../app/__tests__/shadcn-ember-theme.test.ts       | 107 ++++++++++++++++
 .../app/__tests__/shadcn-gray-theme.test.ts        |   2 +-
 .../dashboard/app/components/ThemeSelector.css     |  15 +++
 .../dashboard/app/components/ThemeSelector.tsx     |   6 +-
 .../components/__tests__/ThemeDropdown.test.tsx    |  20 ++-
 .../components/__tests__/ThemeSelector.test.tsx    |  24 +++-
 packages/dashboard/app/components/themeOptions.ts  |   7 +-
 .../dashboard/app/hooks/__tests__/useTheme.test.ts |  18 ++-
 packages/dashboard/app/hooks/useTheme.ts           |   8 +-
 packages/dashboard/app/index.html                  |  10 +-
 packages/dashboard/app/public/theme-data.css       | 137 +++++++++++++++++++++
 packages/desktop/src/renderer/index.html           |  42 ++++++-
 17 files changed, 409 insertions(+), 37 deletions(-)

Fusion-Task-Id: FN-7299

Fusion-Task-Lineage: 7e175752-b8fc-4ba9-8534-cb485f6eb18a

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 13:43:28 -07:00
gsxdsm
2132a1cefc FN-7298: fix mobile terminal font metric refits
Rework mobile terminal preference refits so small font sizes keep correct xterm cell metrics.

- Wait for settled terminal font metrics after live preference changes before refitting and refreshing xterm surfaces.
- Guard asynchronous metric waits from overwriting newer SessionTerminal font preferences.
- Cover keyboard-open 10px mobile terminal behavior and stale preference races with regression tests.
- Add a patch changeset for the published Fusion CLI package.

Files changed:
 .../fn-7298-mobile-terminal-character-spacing.md   |  7 +++
 .../dashboard/app/components/SessionTerminal.tsx   | 58 +++++++++++++++----
 .../dashboard/app/components/TerminalModal.tsx     | 59 ++++++++++++++++----
 .../__tests__/SessionTerminal.mobile.test.tsx      | 50 +++++++++++++++++
 .../components/__tests__/SessionTerminal.test.tsx  | 16 +++++-
 .../components/__tests__/TerminalModal.test.tsx    | 65 ++++++++++++++++++++++
 6 files changed, 232 insertions(+), 23 deletions(-)

Fusion-Task-Id: FN-7298

Fusion-Task-Lineage: b1d6dbf1-8f2c-41e9-b7ee-aa758355345b

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 13:36:11 -07:00
gsxdsm
7f3bd80dbe FN-7297: include ephemeral agents in activity stats
Count ephemeral task-worker runs in dashboard activity analytics so active-agent stats reflect task execution.

- Include agentRuns agent ids alongside usage_events when computing active-agent range totals and daily series.
- Preserve distinct per-agent counting across both activity sources and handle missing agentRuns tables.
- Cover activity analytics, API route fixtures, and Command Center UI expectations for run-only task workers.
- Document the Command Center activity semantics and add a patch changeset for the published CLI bundle.

Files changed:
 .changeset/fn-7297-ephemeral-activity.md           |   7 ++
 docs/dashboard-guide.md                            |   5 +-
 .../core/src/__tests__/activity-analytics.test.ts  |  70 ++++++++++++--
 packages/core/src/activity-analytics.ts            | 101 ++++++++++++++++++---
 .../__tests__/CommandCenter.test.tsx               |  32 ++++++-
 .../register-command-center-routes.test.ts         |  47 +++++++++-
 6 files changed, 234 insertions(+), 28 deletions(-)

Fusion-Task-Id: FN-7297

Fusion-Task-Lineage: 51e46b3c-64f3-4546-954f-97d82b8426fb

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 13:30:28 -07:00