Commit Graph

35 Commits

Author SHA1 Message Date
gsxdsm
c2475b012d FN-8064: add proactive task chat status updates
Task-detail chat now narrates engine progress and review outcomes in real time.

- Emit bounded, redacted status rows for step lifecycle and review paths.
- Present status entries with a distinct task-chat treatment.
- Cover status narration and diagnostic sanitization with engine tests.

Files changed:
 .changeset/fn-8064-proactive-chat.md               |   7 +
 docs/architecture.md                               |   1 +
 packages/dashboard/app/components/TaskChatTab.css  |  16 ++
 packages/dashboard/app/components/TaskChatTab.tsx  |   9 +-
 .../engine/src/__tests__/executor-prompt.test.ts   |  28 +++-
 .../engine/src/__tests__/proactive-status.test.ts  |  54 +++++++
 packages/engine/src/executor.ts                    | 176 ++++++++++++++++-----
 packages/engine/src/proactive-status.ts            | 117 ++++++++++++++
 8 files changed, 365 insertions(+), 43 deletions(-)

Fusion-Task-Id: FN-8064

Fusion-Task-Lineage: c6d0a9b5-0946-4bf4-8338-e982e1cbfd53

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-16 02:47:59 -07:00
gsxdsm
d4553be678 FN-8029: compact task live-log thinking blocks
Make task live-log thinking blocks more compact while retaining readable expanded reasoning.

- Reduce desktop and mobile thinking container padding.
- Tighten thinking summaries and bodies with tokenized spacing.
- Update CSS regression assertions for compact thinking blocks.

Files changed:
 packages/dashboard/app/components/TaskChatTab.css  | 34 ++++++++++++++++------
 .../app/components/__tests__/TaskChatTab.test.tsx  | 28 +++++++++---------
 2 files changed, 40 insertions(+), 22 deletions(-)

Fusion-Task-Id: FN-8029

Fusion-Task-Lineage: fd9a9443-3a01-48ce-b965-227104404a79

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-15 19:47:37 -07:00
gsxdsm
2797803c0b FN-7503: add agent log timing metrics
Record and surface request first-token latency and tool processing duration in task logs.

- Add optional agent log timing fields and persist them in file-backed task logs.
- Track Time To First Token from the first visible model output per agent logger request.
- Track FIFO tool durations for tool result and error rows without storing sensitive payloads.
- Render TTFT and duration badges in task chat and agent log viewers with regression coverage.
- Document the new persisted timing fields and add a patch changeset for the CLI package.

Files changed:
 .changeset/fn-7503-agent-log-timing.md             |   7 ++
 docs/storage.md                                    |   1 +
 .../src/__tests__/agent-log-file-store.test.ts     |  35 ++++++
 .../src/__tests__/store-agent-log-file.test.ts     |  28 +++++
 packages/core/src/agent-log-file-store.ts          |  19 ++++
 packages/core/src/store.ts                         |  13 +++
 packages/core/src/types.ts                         |   4 +
 .../dashboard/app/components/AgentLogViewer.css    |  33 ++++++
 .../dashboard/app/components/AgentLogViewer.tsx    |  39 ++++++-
 packages/dashboard/app/components/TaskChatTab.css  |  23 +++-
 packages/dashboard/app/components/TaskChatTab.tsx  |  17 ++-
 .../__tests__/AgentLogViewer.rendering.test.tsx    |  24 +++++
 .../app/components/__tests__/TaskChatTab.test.tsx  |  18 ++++
 packages/engine/src/__tests__/agent-logger.test.ts | 120 ++++++++++++++++++---
 packages/engine/src/agent-logger.ts                |  97 ++++++++++++++---
 15 files changed, 446 insertions(+), 32 deletions(-)

Fusion-Task-Id: FN-7503

Fusion-Task-Lineage: 7e62034f-4c35-420d-a670-3f7f4a7948df

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-04 10:42:21 -07:00
gsxdsm
35d37d603d fix(FN-7344): compact planner and activity chat inputs 2026-07-01 00:07:42 -07:00
gsxdsm
5ff81cb460 FN-7343: Remove task chat steering guidance copy
Remove the visible steering/refinement guidance shell from task Activity chat while preserving composer behavior.

- Drop the TaskChatTab composer label/hint affordance and stale aria-describedby wiring.
- Keep accessible form names and existing steering/refinement send flows intact.
- Update dashboard docs, regression tests, and the published package changeset for the copy removal.

Files changed:
 .changeset/fn-7343-task-chat-copy.md               |  7 ++++
 docs/dashboard-guide.md                            |  2 +-
 packages/dashboard/app/components/TaskChatTab.css  | 29 ---------------
 packages/dashboard/app/components/TaskChatTab.tsx  | 24 +++++--------
 .../app/components/__tests__/TaskChatTab.test.tsx  | 41 +++++++++++++---------
 .../TaskDetailModal.task-activity-chat.test.tsx    | 13 ++++---
 .../components/__tests__/TaskDetailModal.test.tsx  | 15 ++++----
 7 files changed, 59 insertions(+), 72 deletions(-)

Fusion-Task-Id: FN-7343

Fusion-Task-Lineage: ebcffb2c-a42e-46af-8291-1ff77bcec2c6

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 23:45:02 -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
c6c4a003f9 FN-7241: add per-block task chat timestamps
Show relative timestamps throughout task-detail chat transcript blocks.

- Add reusable timestamp rendering for text, tool, thinking, and user message blocks.
- Align timestamp styling with quiet, responsive task chat metadata treatments.
- Cover empty, loading, invalid timestamp, block timestamp, and tool fallback cases.
- Add a patch changeset for the published Fusion package.

Files changed:
 .changeset/fn-7241-task-chat-block-timestamps.md   |  7 ++
 packages/dashboard/app/components/TaskChatTab.css  | 44 +++++++++++-
 packages/dashboard/app/components/TaskChatTab.tsx  | 65 +++++++++++++++---
 .../app/components/__tests__/TaskChatTab.test.tsx  | 80 ++++++++++++++++++++--
 4 files changed, 179 insertions(+), 17 deletions(-)

Fusion-Task-Id: FN-7241

Fusion-Task-Lineage: 87470de1-4113-4c6a-832d-ced4b1675a76

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-29 15:28:46 -07:00
gsxdsm
e80d85b101 FN-7240: Make task-detail tool text readable
Raise task-detail chat tool-call typography while preserving compact collapsed rows.

- Increase task chat tool summary, kicker, label, and detail text to the base spacing font token.
- Add CSS regression coverage to prevent the smaller calc font size from returning across desktop, mobile, and narrow hosts.
- Include the TaskChatTab suite in the dashboard chat quality test lane and add a patch changeset.

Files changed:
 .changeset/fn-7240-task-chat-tool-font.md          |  7 ++++++
 packages/dashboard/app/components/TaskChatTab.css  | 11 ++++++----
 .../app/components/__tests__/TaskChatTab.test.tsx  | 25 +++++++++++++++++++---
 packages/dashboard/vitest.config.ts                |  2 ++
 4 files changed, 38 insertions(+), 7 deletions(-)

Fusion-Task-Id: FN-7240

Fusion-Task-Lineage: 4d3ed287-27b7-4107-bc42-0119d5a4f1e9

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-29 14:29:17 -07:00
gsxdsm
6ce61affe0 FN-7231: add padding to task chat blocks
Add tokenized inner spacing to Task Detail chat message surfaces.

- Add border-boxed padding to task chat entries, tool groups, tool entries, thinking blocks, and tool details.
- Keep mobile chat block spacing responsive with scoped TaskChatTab CSS overrides.
- Cover text, user, tool, thinking, and mobile padding expectations with a regression test.
- Add a patch changeset for the published Fusion package.

Files changed:
 .changeset/fn-7231-task-chat-block-padding.md      |  7 ++++
 packages/dashboard/app/components/TaskChatTab.css  | 20 +++++++++--
 .../app/components/__tests__/TaskChatTab.test.tsx  | 42 ++++++++++++++++++++++
 3 files changed, 67 insertions(+), 2 deletions(-)

Fusion-Task-Id: FN-7231

Fusion-Task-Lineage: 2c6bee23-14fb-4a76-99a8-99528f35013a

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-29 09:07:17 -07:00
gsxdsm
d87db1490e FN-7215: compact task chat tool summaries
Compact task-detail chat tool-call history so collapsed summaries stay scannable.

- Tighten collapsed tool-call summary styling to one-line, ellipsis-friendly rows on desktop and mobile.
- Preserve count, deduped tool names, overflow, and error indicators while keeping expanded details dense.
- Document the compact task chat behavior and add regression coverage against regular Chat styling.

Files changed:
 .changeset/fn-7215-compact-task-chat-tools.md      |  7 +++
 docs/dashboard-guide.md                            |  2 +-
 packages/dashboard/app/components/TaskChatTab.css  | 63 +++++++++++++++-------
 packages/dashboard/app/components/TaskChatTab.tsx  |  4 ++
 .../app/components/__tests__/TaskChatTab.test.tsx  | 50 ++++++++++++++++-
 5 files changed, 105 insertions(+), 21 deletions(-)

Fusion-Task-Id: FN-7215

Fusion-Task-Lineage: 0cec8c11-1539-4c11-96d9-ec5a7936862b

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-28 20:02:14 -07:00
gsxdsm
a583446e60 FN-7207: widen task-detail chat in narrow hosts
Task-detail chat now adapts message width to narrow host containers while preserving wide layouts.

- Add a task chat container query that switches narrow hosts to the one-column chat layout.
- Widen user message bubbles to the full host width in right-side and narrow detail panels.
- Cover the CSS behavior with a targeted TaskChatTab regression test and add a patch changeset.

Files changed:
 .changeset/fn-7207-task-chat-narrow-width.md       |  7 +++++
 packages/dashboard/app/components/TaskChatTab.css  | 30 ++++++++++++++++++++++
 .../app/components/__tests__/TaskChatTab.test.tsx  | 23 +++++++++++++++++
 3 files changed, 60 insertions(+)

Fusion-Task-Id: FN-7207

Fusion-Task-Lineage: d36fc06d-1e0c-4313-b764-13f31fe09d71

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-28 16:39:25 -07:00
gsxdsm
bd5a779423 FN-6982: remove task chat guidance copy
Remove the task Chat composer guidance line and rely on placeholders for task state cues.

- Drop the idle/guidance text block above the task Chat entry box.
- Remove obsolete localized guidance strings and generated resource types.
- Update dashboard docs, regression coverage, and release notes for the simplified composer.

Files changed:
 .changeset/fn-6982-task-chat-guidance.md           |   7 ++
 docs/dashboard-guide.md                            |   2 +-
 packages/dashboard/app/components/TaskChatTab.css  |  10 --
 packages/dashboard/app/components/TaskChatTab.tsx  |  83 +----------------
 .../app/components/__tests__/App.test.tsx          |  42 ++++-----
 .../PlanningModeModal.ui-interactions.test.tsx     |   2 +-
 .../app/components/__tests__/TaskChatTab.test.tsx  | 102 +++++++++++----------
 packages/i18n/locales/en/app.json                  |   2 -
 packages/i18n/locales/es/app.json                  |   2 -
 packages/i18n/locales/fr/app.json                  |   2 -
 packages/i18n/locales/ko/app.json                  |   2 -
 packages/i18n/locales/zh-CN/app.json               |   2 -
 packages/i18n/locales/zh-TW/app.json               |   2 -
 packages/i18n/src/resources.d.ts                   |   2 -
 14 files changed, 81 insertions(+), 181 deletions(-)

Fusion-Task-Id: FN-6982

Fusion-Task-Lineage: b880df6c-d84b-4d34-886b-f54c1d568ece
2026-06-24 23:32:52 -07:00
gsxdsm
b9821eebd7 FN-6965: stack list-pane chat agent headers
Stack List View task-chat agent headers above their output in the split detail pane while keeping desktop chat layouts unchanged.

- Add a split-pane-specific CSS override that stacks task chat groups in List View only.
- Keep compact header sizing safe without affecting modal, board, expanded, or popped-out chat layouts.
- Cover List View populated, loading, empty, and CSS host-scope behavior in TaskChatTab tests.
- Add a patch changeset for the published Fusion package.

Files changed:
 .changeset/fn-6965-list-pane-chat-layout.md        |  5 ++
 packages/dashboard/app/components/TaskChatTab.css  | 12 +++
 .../app/components/__tests__/TaskChatTab.test.tsx  | 90 ++++++++++++++++++++++
 3 files changed, 107 insertions(+)

Fusion-Task-Id: FN-6965

Fusion-Task-Lineage: 8107ae8c-c25e-497e-8506-4c77e3e083d3
2026-06-23 23:35:33 -07:00
gsxdsm
a147a983d5 fix(FN-6950): protect global settings and task chat icons 2026-06-23 00:31:58 -07:00
gsxdsm
4ed84be7d1 fix(FN-6950): polish dashboard modal and chat chrome 2026-06-23 00:20:55 -07:00
gsxdsm
d2c7ff5f95 FN-6751: show idle task chat warning
Make task-detail chat disclose when sent guidance will not receive an immediate agent reply.

- Add an idle session hint for non-done tasks without an active steerable agent while keeping the composer sendable.
- Style the idle hint with warning color and expose a stable test id for regression coverage.
- Expand TaskChatTab tests across inline, expanded, empty, populated, paused, and non-live session states.
- Document the idle saved-guidance behavior in the dashboard guide.

Files changed:
 docs/dashboard-guide.md                            |  2 +-
 packages/dashboard/app/components/TaskChatTab.css  |  5 ++
 packages/dashboard/app/components/TaskChatTab.tsx  | 13 ++-
 .../app/components/__tests__/TaskChatTab.test.tsx  | 95 +++++++++++++++++++---
 4 files changed, 99 insertions(+), 16 deletions(-)

Fusion-Task-Id: FN-6751

Fusion-Task-Lineage: 21f0764d-23db-49ca-b737-3b6a8be7a918
2026-06-20 02:56:51 -07:00
gsxdsm
6d3ee547de FN-6660: enlarge mobile task chat send control
Increase the task detail chat mobile composer affordance so the send icon and input align at a larger touch-friendly size.

- Grow the mobile-only task chat send button box and icon while leaving desktop sizing unchanged.
- Match the mobile composer textarea minimum height to the enlarged send control for bottom alignment.
- Extend CSS-focused regression coverage for mobile box/icon ratios and composer alignment.

Files changed:
 packages/dashboard/app/components/TaskChatTab.css    | 15 ++++++++++++---
 .../app/components/__tests__/TaskChatTab.test.tsx    | 20 ++++++++++++++------
 2 files changed, 26 insertions(+), 9 deletions(-)

Fusion-Task-Id: FN-6660

Fusion-Task-Lineage: 3b9bc41a-9f7e-47a5-8286-03c0dbf94d0e
2026-06-18 15:04:25 -07:00
gsxdsm
d6415bfc41 FN-6639: enlarge task chat send icon
Increase the task detail chat send glyph so it fills the mobile button more clearly.

- Raise the task chat send button icon token from 24px to 32px on desktop and mobile.
- Add regression coverage that checks the icon-to-button fill ratio stays at least 75%.

Files changed:
 packages/dashboard/app/components/TaskChatTab.css       |  7 +++++--
 .../app/components/__tests__/TaskChatTab.test.tsx       | 17 +++++++++++++++--
 2 files changed, 20 insertions(+), 4 deletions(-)

Fusion-Task-Id: FN-6639
Fusion-Task-Lineage: fcd83c46-b408-4561-82e1-631e329459b8
2026-06-18 07:00:54 -07:00
gsxdsm
076ab9fed0 FN-6604: increase task chat send icon size
Increase the Task Detail chat send glyph so it is visibly larger on mobile without changing the touch target.

- Switch the task chat send button icon token from space-lg to space-xl for desktop and mobile rules.
- Add CSS token resolution coverage so the task chat send glyph must exceed the default medium icon size.
- Keep desktop and mobile send button touch target sizing unchanged.

Files changed:
 packages/dashboard/app/components/TaskChatTab.css  |  7 ++--
 .../app/components/__tests__/TaskChatTab.test.tsx  | 37 +++++++++++++++++++---
 2 files changed, 38 insertions(+), 6 deletions(-)

Fusion-Task-Id: FN-6604

Fusion-Task-Lineage: d1708d43-fe1b-4eb2-ab6a-c5954ff00a87
2026-06-17 18:18:56 -07:00
gsxdsm
c261217ac1 FN-6597: add task chat timestamps
Show compact relative timestamps in task chat without adding live polling.

- Add a shared relative-time formatter for chat timestamps.
- Render muted timestamps on user message headers and agent group metadata.
- Cover timestamp formatting and chat header rendering with dashboard tests.
- Document task chat timestamp behavior in the dashboard guide.

Files changed:
 docs/dashboard-guide.md                            |  2 +-
 packages/dashboard/app/components/TaskChatTab.css  | 19 +++++
 packages/dashboard/app/components/TaskChatTab.tsx  | 23 ++++-
 .../app/components/__tests__/TaskChatTab.test.tsx  | 97 +++++++++++++++++++++-
 .../app/utils/__tests__/relativeTimeAgo.test.ts    | 32 +++++++
 packages/dashboard/app/utils/relativeTimeAgo.ts    | 23 +++++
 6 files changed, 192 insertions(+), 4 deletions(-)

Fusion-Task-Id: FN-6597

Fusion-Task-Lineage: 52c54a9e-6d00-4df1-a454-2218a935ebda
2026-06-17 16:21:54 -07:00
gsxdsm
c073fdc85c FN-6522: load earlier task chat messages
Preserve task-detail chat reading position while paging older agent log entries.

- Add top-of-transcript pagination with an explicit Load previous messages control and loading state.
- Preserve scroll anchoring when earlier log entries are prepended while keeping live bottom-follow behavior for new output.
- Cover scroll-to-top loading and manual loading with regression tests and document the behavior.

Files changed:
 docs/dashboard-guide.md                            |   2 +-
 packages/dashboard/app/components/TaskChatTab.css  |  28 ++++
 packages/dashboard/app/components/TaskChatTab.tsx  |  82 ++++++++++-
 .../app/components/__tests__/TaskChatTab.test.tsx  | 163 ++++++++++++++++++++-
 4 files changed, 269 insertions(+), 6 deletions(-)

Fusion-Task-Id: FN-6522

Fusion-Task-Lineage: b93464cf-0b9a-4a73-b4f5-4f3a5e34cc89
2026-06-16 23:04:45 -07:00
gsxdsm
2ec4eb3518 FN-6507: enlarge task chat send icon
Keep the Task Detail chat send glyph proportional to its touch target on desktop and mobile.

- Set the task chat send button icon sizing token to the larger spacing value.
- Preserve the existing desktop and mobile touch-target dimensions.
- Add CSS regression coverage for the send glyph and mobile sizing rules.

Files changed:
 packages/dashboard/app/components/TaskChatTab.css       |  6 ++++++
 .../app/components/__tests__/TaskChatTab.test.tsx       | 17 +++++++++++++++++
 2 files changed, 23 insertions(+)

Fusion-Task-Id: FN-6507

Fusion-Task-Lineage: 619aef93-d225-443c-9cf2-41a59d794148
2026-06-16 20:00:55 -07:00
gsxdsm
3d5c22c075 FN-6425: pin task chat expand control
Keep the task chat expand action visible as an icon-only overlay inside the chat view.

- Move the expand/collapse button out of the scrolling transcript and onto the task chat container.
- Style the control as a centered icon-only button with stable overlay positioning.
- Extend TaskChatTab coverage for empty, loading, populated, expanded, and scrolled transcript states.

Files changed:
 packages/dashboard/app/components/TaskChatTab.css  | 10 +++-
 packages/dashboard/app/components/TaskChatTab.tsx  | 26 +++++-----
 .../app/components/__tests__/TaskChatTab.test.tsx  | 58 +++++++++++++++++-----
 3 files changed, 68 insertions(+), 26 deletions(-)

Fusion-Task-Id: FN-6425

Fusion-Task-Lineage: 6526eb4a-4be9-472b-9595-c7fcea6971b1
2026-06-13 20:54:32 -07:00
gsxdsm
b8dbe69b21 FN-6418: tighten task chat composer spacing
Tightens the task detail chat layout so the composer sits closer to the transcript without affecting other detail tabs.

- Reduce the chat tab stack gap and composer vertical padding on desktop and mobile.
- Remove the chat section's inherited top margin while keeping shared tab padding intact.
- Document the spacing requirement with FNXC comments near the affected chat styles.

Files changed:
 packages/dashboard/app/components/TaskChatTab.css     | 10 ++++++----
 packages/dashboard/app/components/TaskDetailModal.css |  7 ++++++-
 2 files changed, 12 insertions(+), 5 deletions(-)

Fusion-Task-Id: FN-6418

Fusion-Task-Lineage: 4b484de5-9d6f-403b-902d-5df9f0591811
2026-06-13 20:22:03 -07:00
gsxdsm
6a5d7ab48f FN-6405: overlay task chat expand control
Moves the task chat expand control into the transcript as an overlay while preserving accessible labels and state coverage.

- Render the expand/collapse button inside the transcript container instead of a separate toolbar.
- Add tokenized overlay positioning and mobile sizing styles for the transcript expand control.
- Extend TaskChatTab tests across loading, empty, populated, and CSS states to prevent toolbar regressions.

Files changed:
 packages/dashboard/app/components/TaskChatTab.css  | 34 +++++++++---------
 packages/dashboard/app/components/TaskChatTab.tsx  | 22 ++++++------
 .../app/components/__tests__/TaskChatTab.test.tsx  | 42 ++++++++++++++++++++--
 3 files changed, 67 insertions(+), 31 deletions(-)

Fusion-Task-Id: FN-6405

Fusion-Task-Lineage: 344d3ad0-bd57-4df2-86dc-deb8cddb76bc
2026-06-13 18:38:57 -07:00
gsxdsm
4838c86b8c FN-6370: add expandable task chat modal
Add a full-modal expansion affordance for task-detail chat conversations.

- Add an expand/collapse toolbar button to the task chat tab with accessible labels and icon states.
- Let the task detail modal switch into a chat-expanded layout and reset that state when leaving chat or entering edit mode.
- Cover the chat toggle and layout behavior with dashboard component tests and document the control.

Files changed:
 docs/dashboard-guide.md                            |   1 +
 packages/dashboard/app/components/TaskChatTab.css  |  22 +++++
 packages/dashboard/app/components/TaskChatTab.tsx  |  21 ++++-
 .../dashboard/app/components/TaskDetailModal.css   |  42 +++++++++
 .../dashboard/app/components/TaskDetailModal.tsx   |  13 ++-
 .../app/components/__tests__/TaskChatTab.test.tsx  |  37 ++++++++
 .../TaskDetailModal.attachments-and-tabs.test.tsx  | 100 +++++++++++++++++++++
 7 files changed, 233 insertions(+), 3 deletions(-)

Fusion-Task-Id: FN-6370
Fusion-Task-Lineage: 787300bb-b928-45cf-a5c1-7fed5f375111
2026-06-13 11:14:06 -07:00
gsxdsm
6e9f2a384d FN-6369: make task chat send control icon-only
Refine the task-detail chat composer so the send action stays narrow and inline with the input.

- Replace the composer placeholder with the steering-focused copy.
- Convert the send button to an accessible icon-only control with loading state labels.
- Keep the send control inline at mobile breakpoints and cover the behavior in tests and docs.

Files changed:
 docs/dashboard-guide.md                            |  2 +-
 packages/dashboard/app/components/TaskChatTab.css  | 14 +++++++----
 packages/dashboard/app/components/TaskChatTab.tsx  | 11 ++++++---
 .../app/components/__tests__/TaskChatTab.test.tsx  | 27 ++++++++++++++++++++--
 4 files changed, 44 insertions(+), 10 deletions(-)

Fusion-Task-Id: FN-6369
Fusion-Task-Lineage: b7e0717f-4cba-4380-a08a-e01fc12985e3
2026-06-13 10:51:31 -07:00
gsxdsm
422833045c FN-6359: add latest jump control to task chat
Adds an in-transcript control for returning to the newest task chat output after reviewing older messages.

- Track whether the task chat transcript is near the bottom and preserve live-follow behavior.
- Render an accessible sticky Latest button when populated transcripts are scrolled up, including mobile styling.
- Cover empty/loading, desktop, mobile, and click-to-jump behavior in TaskChatTab tests.
- Document the Latest jump affordance in the dashboard guide.

Files changed:
 docs/dashboard-guide.md                            |  2 +-
 packages/dashboard/app/components/TaskChatTab.css  | 40 +++++++++++
 packages/dashboard/app/components/TaskChatTab.tsx  | 40 ++++++++++-
 .../app/components/__tests__/TaskChatTab.test.tsx  | 82 ++++++++++++++++++++++
 4 files changed, 162 insertions(+), 2 deletions(-)

Fusion-Task-Id: FN-6359

Fusion-Task-Lineage: 9b4a3533-2969-4f0d-a4de-6ba895662726
2026-06-13 10:20:11 -07:00
gsxdsm
2974f7e878 FN-6358: compact task chat tool-call entries
Tighten the task-detail chat tool-call presentation while documenting the denser layout.

- Reduce spacing and typography weight for collapsed tool-call summaries and expanded entry cards.
- Assert compact tool-call classes in TaskChatTab tests for paired and standalone result entries.
- Update the dashboard guide to describe compact summaries and dense expanded cards.

Files changed:
 docs/dashboard-guide.md                             |  2 +-
 packages/dashboard/app/components/TaskChatTab.css   | 21 ++++++++++++---------
 .../app/components/__tests__/TaskChatTab.test.tsx   | 18 ++++++++++++++++--
 3 files changed, 29 insertions(+), 12 deletions(-)

Fusion-Task-Id: FN-6358

Fusion-Task-Lineage: 83cbf328-c062-4032-a2e7-e3550f386557
2026-06-13 09:55:49 -07:00
gsxdsm
35554e674e FN-6347: keep chat composer visible on mobile
Keep the task detail chat layout constrained so mobile users can always reach the composer.

- Give the chat tab a fill-height flex layout with transcript-only scrolling.
- Apply chat-specific modal body and section classes alongside the agent log layout.
- Cover mobile chat layout behavior with component tests and document the modal contract.
- Add a patch changeset for the published Fusion package.

Files changed:
 .changeset/fn-6347-chat-input-visible.md           |  5 ++
 docs/dashboard-guide.md                            |  2 +-
 packages/dashboard/app/components/TaskChatTab.css  |  8 ++-
 .../dashboard/app/components/TaskDetailModal.css   | 29 +++++++++
 .../dashboard/app/components/TaskDetailModal.tsx   |  4 +-
 .../app/components/__tests__/TaskChatTab.test.tsx  | 36 ++++++++++
 .../TaskDetailModal.attachments-and-tabs.test.tsx  | 76 ++++++++++++++++++++++
 7 files changed, 155 insertions(+), 5 deletions(-)

Fusion-Task-Id: FN-6347

Fusion-Task-Lineage: 37250539-d38e-4826-9c31-8b0279844883
2026-06-13 03:32:59 -07:00
gsxdsm
34ada00f80 FN-6345: show user steering messages in task chat
Display user steering comments alongside agent output and wake immediate-response agents when new messages are sent.

- Render persisted and optimistic user messages in the task chat transcript with mobile styling.
- Propagate updated task detail data after sends and roll back optimistic messages on failures.
- Cover steering route validation, immediate heartbeat wakeups, chat rendering, and workflow alias round-trips.
- Add a patch changeset for the published CLI package.

Files changed:
 .changeset/fn-6345-task-chat-user-messages.md      |   5 +
 packages/dashboard/app/components/TaskChatTab.css  |  32 ++++
 packages/dashboard/app/components/TaskChatTab.tsx  | 170 ++++++++++++++++-----
 .../dashboard/app/components/TaskDetailModal.tsx   |   8 +-
 .../app/components/__tests__/TaskChatTab.test.tsx  | 150 +++++++++++++++++-
 .../app/components/__tests__/board-mobile.test.tsx |   2 +-
 .../__tests__/workflow-flow-mapping.test.ts        |   4 +-
 .../app/components/workflow-flow-mapping.ts        |   4 +-
 .../src/__tests__/routes-tasks-ops.test.ts         |  86 +++++++++++
 9 files changed, 414 insertions(+), 47 deletions(-)

Fusion-Task-Id: FN-6345

Fusion-Task-Lineage: 0355cc67-bd23-4e90-9034-bbaae277cfd6
2026-06-13 02:23:27 -07:00
gsxdsm
2ade5f8877 FN-6339: combine consecutive thinking entries
Render grouped task-chat thinking logs as one continuous section.

- Concatenate grouped thinking entry text before markdown rendering.
- Keep the thinking disclosure summary stable as "Thinking" instead of showing entry counts.
- Move spacing to tool groups and remove multi-thinking divider styling.
- Cover the combined thinking rendering behavior in TaskChatTab tests.

Files changed:
 packages/dashboard/app/components/TaskChatTab.css  | 10 ++++-----
 packages/dashboard/app/components/TaskChatTab.tsx  | 25 ++++++++++------------
 .../app/components/__tests__/TaskChatTab.test.tsx  | 23 +++++++++++++++++++-
 3 files changed, 37 insertions(+), 21 deletions(-)

Fusion-Task-Id: FN-6339

Fusion-Task-Lineage: 51a2ea27-a56a-4844-a27b-389d1d24613f
2026-06-13 00:07:47 -07:00
gsxdsm
97f3d6579b FN-6332: improve task chat tool summaries
Refine task chat transcripts so collapsed tool groups summarize real invocations and expand into paired call/result details.

- Count tool calls by invocation instead of raw tool log rows.
- Show deduped tool names, overflow counts, and error badges in collapsed summaries.
- Pair tool calls with their result or error details when expanded.
- Cover the grouped summary behavior with dashboard tests and documentation.

Files changed:
 docs/dashboard-guide.md                            |   2 +-
 packages/dashboard/app/components/TaskChatTab.css  |  36 +++++--
 packages/dashboard/app/components/TaskChatTab.tsx  | 116 +++++++++++++++++----
 .../app/components/__tests__/TaskChatTab.test.tsx  | 105 ++++++++++++++++---
 4 files changed, 213 insertions(+), 46 deletions(-)

Fusion-Task-Id: FN-6332

Fusion-Task-Lineage: 7c14b76c-dcaa-4227-8393-cb24f99b765d
2026-06-12 21:50:49 -07:00
gsxdsm
f19c4d64ee FN-6316: collapse task chat tool and thinking entries
Make task-detail agent chat easier to scan during tool-heavy sessions.

- Group consecutive tool, result, and error entries into collapsed summaries with status counts.
- Render thinking output in expanded-by-default collapsible blocks.
- Add responsive styling, docs, and regression coverage for grouped transcript segments.

Files changed:
 docs/dashboard-guide.md                            |   2 +-
 packages/dashboard/app/components/TaskChatTab.css  | 120 +++++++++++++--
 packages/dashboard/app/components/TaskChatTab.tsx  | 161 ++++++++++++++++++---
 .../app/components/__tests__/TaskChatTab.test.tsx  | 100 +++++++++++--
 4 files changed, 337 insertions(+), 46 deletions(-)

Fusion-Task-Id: FN-6316

Fusion-Task-Lineage: 84c83ea1-fa9a-4e30-9794-ae95e29f989e
2026-06-12 19:30:53 -07:00
gsxdsm
4bd6024ef7 FN-6300: add live task chat tab
Add a live chat-style task detail tab for following and steering active agent work.

- Add TaskChatTab with grouped agent log bubbles, live-follow scrolling, and steering message composer.
- Share chat input autosize helpers between ChatView and task chat.
- Wire the Chat tab into task detail navigation with localized labels and regression coverage.

Files changed:
 docs/dashboard-guide.md                            |   2 +
 .../dashboard/app/components/AgentLogViewer.tsx    |   2 +-
 packages/dashboard/app/components/ChatView.tsx     |  25 +-
 packages/dashboard/app/components/TaskChatTab.css  | 193 ++++++++++++++
 packages/dashboard/app/components/TaskChatTab.tsx  | 276 +++++++++++++++++++++
 .../dashboard/app/components/TaskDetailModal.tsx   |  13 +-
 .../app/components/__tests__/TaskChatTab.test.tsx  | 181 ++++++++++++++
 .../TaskDetailModal.attachments-and-tabs.test.tsx  |  19 +-
 .../TaskDetailModal.definition-actions.test.tsx    | 104 ++++----
 ...etailModal.responsive-and-dependencies.test.tsx |   2 +-
 packages/dashboard/app/utils/chatInputAutosize.ts  |  18 ++
 packages/i18n/locales/en/app.json                  |   1 +
 packages/i18n/locales/es/app.json                  |   1 +
 packages/i18n/locales/fr/app.json                  |   1 +
 packages/i18n/locales/ko/app.json                  |   1 +
 packages/i18n/locales/zh-CN/app.json               |   1 +
 packages/i18n/locales/zh-TW/app.json               |   1 +
 17 files changed, 757 insertions(+), 84 deletions(-)

Fusion-Task-Id: FN-6300
Fusion-Task-Lineage: 1eb8a17b-3ca5-4cba-81c6-ac7ccce0a113
2026-06-12 10:00:08 -07:00