Commit Graph

97 Commits

Author SHA1 Message Date
gsxdsm
93da87dc5d FN-7048: enable mobile detail tab swiping
Allow task detail tabs to keep horizontal touch scrolling on mobile surfaces.

- Add pan-x touch-action overrides on detail tab buttons for modal, embedded, mobile, and tablet contexts.
- Extend responsive CSS coverage to assert each task-detail tab target allows horizontal panning.
- Add a patch changeset documenting the mobile task-detail tab scroll fix.

Files changed:
 .changeset/fn-7048-task-detail-mobile-tab-touch-action.md  |  7 +++++++
 packages/dashboard/app/components/TaskDetailModal.css      | 14 ++++++++++++++
 .../TaskDetailModal.responsive-and-dependencies.test.tsx   | 14 +++++++++++++-
 3 files changed, 34 insertions(+), 1 deletion(-)

Fusion-Task-Id: FN-7048

Fusion-Task-Lineage: bb07b72f-8843-4ed4-a45b-ea8172bc4957
2026-06-26 00:48:51 -07:00
gsxdsm
977000ca99 FN-7012: restore mobile task tab scrolling
Restores mobile access to all task detail tabs by making the tab strip the horizontal scroller.

- Allow the task-detail content, body, modal tabs, tablet tabs, and embedded tabs to shrink within narrow containers.
- Preserve touch horizontal panning and momentum scrolling on tab strips without moving horizontal overflow to the detail body.
- Cover the Board modal, List embedded pane, and complete tab label set with responsive CSS regression tests.
- Add a patch changeset for the published Fusion package.

Files changed:
 .../fn-7012-task-detail-mobile-tabs-scroll.md      |  7 +++
 .../dashboard/app/components/TaskDetailModal.css   | 25 +++++++-
 ...etailModal.responsive-and-dependencies.test.tsx | 67 +++++++++++++++++++++-
 3 files changed, 96 insertions(+), 3 deletions(-)

Fusion-Task-Id: FN-7012

Fusion-Task-Lineage: 06b06a81-b9ec-4058-879f-2f5e187a63a4
2026-06-25 17:26:16 -07:00
gsxdsm
b293525751 fix(dashboard): repair CSS token/contrast regressions and stale tests
Fixes ~19 deterministic dashboard test failures pre-existing on origin/main
(non-blocking full-suite lane). Mix of real product fixes and stale-test
reconciliation; no appeasement (no widened timeouts, skips, or weakened
assertions).

Product CSS fixes (real regressions the guards caught):
- Info toast contrast: shadcn-custom light theme had white-on-#0284c7 (4.10,
  below WCAG AA 4.5); enrolled it in the light-mode dark-text correction.
- 27 undefined CSS token references (typos/foreign tokens) renamed to canonical
  defined tokens; defined the genuinely-intended --border-strong and
  --right-dock-min/max-width.
- Raw rgba() box-shadow fallback tokenized to color-mix; dev-server mobile
  header split into its own responsive rule.

Stale tests reconciled with intentional product changes:
- workflowColumns graduated to always-on (board-workflows unit test).
- workflow optional-steps source re-pointed to v2 optional-group nodes.
- command-center pricing docs (one doc gap filled: openai-codex:* keying).
- SetupWizardModal added detectWorkspace + workspaceMode/taskPrefix payload.
- board-mobile listener-count assertion → unmount no-throw behavior.
- CommandCenterControls / ThemeSelector: default theme relabeled "Fusion Legacy".
- ProjectOverview / WorkflowNodeEditor: header divider intentionally removed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 14:37:52 -07:00
gsxdsm
0744ab3814 FN-6961: restore dashboard spinner animations
Restore Fusion dashboard loading indicators by preventing spinner keyframe collisions.

- Move shared spinner utilities onto the collision-proof fusion-spinner-spin keyframe.
- Rename component-local spin keyframes and scoped spinner utility overrides so lazy CSS chunks cannot override global loaders.
- Extend spinner CSS contract coverage across shared utilities, CSS-only loaders, and renamed loading affordances.
- Add a patch changeset for the published CLI package.

Files changed:
 .changeset/fn-6961-spinner-animation.md            |   7 +
 .../app/__tests__/spinner-animation.css.test.ts    | 149 +++++++++++++++++----
 .../dashboard/app/components/AgentMentionPopup.css |   6 -
 .../app/components/CustomProvidersSection.css      |   2 +-
 .../app/components/CustomProvidersSection.tsx      |   6 +-
 .../dashboard/app/components/FileMentionPopup.css  |   8 +-
 .../dashboard/app/components/GitHubImportModal.css |   2 +-
 packages/dashboard/app/components/Header.css       |   4 +-
 .../dashboard/app/components/IssueMentionPopup.css |   8 +-
 packages/dashboard/app/components/NodesView.css    |   8 +-
 packages/dashboard/app/components/ScriptsModal.css |   8 +-
 packages/dashboard/app/components/TaskCard.css     |  15 ++-
 .../dashboard/app/components/TaskDetailModal.css   |   4 +-
 .../dashboard/app/components/TerminalModal.css     |   6 -
 packages/dashboard/app/components/TodoView.css     |   4 +-
 .../app/components/WorkflowResultsTab.css          |   4 +-
 packages/dashboard/app/styles.css                  |  13 +-
 17 files changed, 178 insertions(+), 76 deletions(-)

Fusion-Task-Id: FN-6961

Fusion-Task-Lineage: 464e0a50-52c3-4b89-ac72-2f0227d97ce2
2026-06-25 08:34:44 -07:00
gsxdsm
0c53f46afb FN-6983: remove branch reattachment warning
Remove the stale branch reattachment affordance from Task Detail while preserving self-healing as the recovery path.

- Remove unused rebind banner styles and mobile action-shell rules.
- Drop stale recoverBranchBinding mocks from TaskDetailModal tests.
- Add rendering coverage proving Task Detail and embedded content do not show reattachment affordances across missing, populated, workspace, and mobile branch states.
- Add a patch changeset for the published Fusion package.

Files changed:
 .changeset/fn-6983-task-detail-rebind-warning.md   |  7 ++
 .../dashboard/app/components/TaskDetailModal.css   | 42 +-----------
 .../TaskDetailModal.create-pr-e2e.test.tsx         |  1 -
 .../TaskDetailModal.create-pr-integration.test.tsx |  1 -
 .../__tests__/TaskDetailModal.rendering.test.tsx   | 80 ++++++++++++++++++++++
 .../__tests__/TaskDetailModal.test-helpers.ts      |  1 -
 6 files changed, 88 insertions(+), 44 deletions(-)

Fusion-Task-Id: FN-6983

Fusion-Task-Lineage: 1a45c38e-f7d0-4df7-94cf-7d1309758e0d
2026-06-25 08:34:44 -07:00
gsxdsm
dcee0d3172 Merge remote-tracking branch 'origin/main' into conflict-resolution-1713
# Conflicts:
#	packages/engine/src/__tests__/executor-recovery.test.ts
#	packages/engine/src/agent-tools.ts
#	packages/engine/src/executor.ts
#	packages/engine/src/worktree-acquisition.ts
2026-06-23 15:56:06 -07:00
gsxdsm
f9043d733e fix(dashboard): polish workflow and chrome defaults 2026-06-22 19:48:50 -07:00
gsxdsm
4fd8d444fb fix(dashboard): polish app chrome and workflow defaults 2026-06-22 18:21:06 -07:00
gsxdsm
a1cac3a6a3 fix(dashboard): replace quick chat with modal chat 2026-06-22 15:23:43 -07:00
gsxdsm
2a28967133 fix(dashboard): smooth terminal drag/resize; task-detail tweaks + popup fix
- Terminal move/resize: pointer-capture + captured-element listeners + rAF-batched updates + touch-action:none on the move grip; stop per-move localStorage writes. Matches the dock pop-out smoothness.
- Task detail: Summarize-as-title inline at the title's bottom-right; priority + speed controls shorter and equal height (30px); trimmed the gray id-header vertical padding.
- Fix footer Actions/Move dropdowns that vanished — they opened downward off the panel bottom (clipped by overflow); now open upward (above the trigger).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 04:50:43 -07:00
gsxdsm
e6aebdc316 feat(dashboard): full issue/PR preview, floating dock pop-out, header dedups, gm one-row, single-line quick entry
- GitHub import preview shows the full issue/PR body (markdown) + metadata (list already returned full bodies; removed client truncation).
- Task-detail main view: constrain width (no right cutoff); move 'Back to board' into the gray header far right.
- Dock pop-out: smoother touch drag (touch-action:none + captured-element listeners); popping out closes the dock but keeps the floating modal; modal survives dock dismiss.
- Remove duplicate inner headers in Git Manager / Activity Log / Dev Server / Secrets (dock + pop-out chrome already titles them); keep the title on mobile narrow; relocate gm Refresh into the section tab strip.
- Git Manager tabs: one scrollable row of compact icon-only tabs (max visible, scroll if needed).
- List quick entry is single-line (not tall) via singleLine prop; Board unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 04:37:28 -07:00
gsxdsm
023e4b057d feat(workspace): Phase A U3 — dashboard "doesn't look broken" floor
Workspace tasks (no task.worktree, populated workspaceWorktrees) now render in
existing task views without crashing or going blank. New read-only
WorkspaceWorktreesSummary component (placeholder "N repos acquired" + a flat
repo→worktree/branch list — within the "doesn't look broken" ceiling, not a rich
status UI); TaskCard and TaskDetailModal nil-guard on isWorkspaceTask. Single-repo
rendering unchanged. CONCEPTS.md notes workspace-task merges are non-atomic
(repos land independently on local integration refs; partial-land is local and
operator-resettable). Tests 8/8; TaskCard regression 251/251.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 21:07:20 -07:00
gsxdsm
300c31e335 FN-6864: enable touch panning for task detail tabs
Restores horizontal swiping for overflowing task detail tabs on touch viewports.

- Allow the detail tab strip to opt into horizontal touch panning despite the mobile pan-y default.
- Extend the CSS contract test to require the task detail tabs to remain touch-pannable.

Files changed:
 packages/dashboard/app/components/TaskDetailModal.css               | 6 ++++++
 .../dashboard/app/components/__tests__/TaskDetailModal.css.test.ts  | 3 ++-
 2 files changed, 8 insertions(+), 1 deletion(-)

Fusion-Task-Id: FN-6864

Fusion-Task-Lineage: 0863d551-8088-4c8d-b583-1212b199ed69
2026-06-21 13:25:41 -07:00
gsxdsm
aadc0a0817 FN-6517: keep expanded chat title visible
Expanded agent chat now keeps the modal title context while hiding the rest of the chrome.

- Preserve the task title row when chat expands and keep header spacing balanced.
- Continue hiding tabs and modal actions while expanded chat occupies the modal body.
- Extend desktop, mobile, and embedded chat coverage for the expanded title-row behavior.

Files changed:
 .../dashboard/app/components/TaskDetailModal.css   | 10 ++--
 .../TaskDetailModal.attachments-and-tabs.test.tsx  | 58 ++++++++++++++++++++--
 2 files changed, 59 insertions(+), 9 deletions(-)

Fusion-Task-Id: FN-6517

Fusion-Task-Lineage: 77a82f16-5711-4e8d-9560-fd6e0fdfa655
2026-06-16 22:39:06 -07:00
gsxdsm
98cb80d88d FN-6500: fix tablet task detail modal sizing
Keeps tablet task detail modals wide enough and within the viewport.\n\n- Reconcile the tablet overlay offset with modal max-height so actions remain visible.\n- Widen the tablet task detail modal to use more horizontal viewport space.\n- Add CSS-focused coverage for tablet sizing plus unchanged desktop and mobile guards.\n- Add a patch changeset for the published Fusion package.\n\nFiles changed:\n .changeset/fn-6500-tablet-task-detail-modal.md     |  5 ++\n .../task-detail-modal-tablet-width.test.ts         | 14 +++--\n .../dashboard/app/components/TaskDetailModal.css   | 15 +++--\n ...etailModal.responsive-and-dependencies.test.tsx | 64 ++++++++++++++++++++++\n .../__tests__/core-modals-mobile.test.tsx          |  5 +-\n 5 files changed, 94 insertions(+), 9 deletions(-)

Fusion-Task-Id: FN-6500

Fusion-Task-Lineage: 016a2839-29f9-48de-b644-a5fcd27b35e3
2026-06-16 19:49:45 -07:00
gsxdsm
b898c3d1db FN-6419: keep task metadata inline
Keep task detail metadata in a compact wrapping row across viewport sizes.

- Make the detail metadata container a wrapping flex row with aligned controls, provenance, PR context, and timestamps.
- Document the one-row metadata behavior in the dashboard guide.
- Add rendering and responsive CSS regression coverage for direct inline metadata children and mobile row behavior.

Files changed:
 docs/dashboard-guide.md                            |  2 +-
 .../dashboard/app/components/TaskDetailModal.css   | 21 +++++++--
 .../__tests__/TaskDetailModal.rendering.test.tsx   | 53 ++++++++++++++++++++++
 ...etailModal.responsive-and-dependencies.test.tsx | 10 ++++
 4 files changed, 81 insertions(+), 5 deletions(-)

Fusion-Task-Id: FN-6419

Fusion-Task-Lineage: 925c2f0d-8665-430f-8e4e-a00d80704e8d
2026-06-13 20:33:44 -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
537cc2ab7f FN-6387: clamp long task detail titles
Clamp long task-detail headings to two lines with an explicit expand control.

- Replace character-count title truncation with measured two-line CSS clamping.
- Add overflow detection so the Show more/Show less toggle only appears when the heading actually wraps past two lines.
- Update task detail rendering tests for triage, non-triage, editing, summarize, chat-expanded, desktop, and mobile title surfaces.

Files changed:
 .../dashboard/app/components/TaskDetailModal.css   |  10 +
 .../dashboard/app/components/TaskDetailModal.tsx   | 111 ++++-
 .../__tests__/TaskDetailModal.rendering.test.tsx   | 441 +++++++++------------
 3 files changed, 261 insertions(+), 301 deletions(-)

Fusion-Task-Id: FN-6387

Fusion-Task-Lineage: 8c1b860c-8fe7-4f91-89e1-b387dbd7320e
2026-06-13 16:30:28 -07:00
gsxdsm
eb607c6ffd FN-6377: make tablet modals touch-resizable
Enable shared resize handles for modals on tablet and desktop while keeping mobile sheets full-screen.

- Add a pointer-driven resize grip to useModalResizePersist with debounced persistence and mobile cleanup.
- Widen the task-detail modal tablet default to 96vw / 1024px.
- Cover resize behavior and tablet width expectations with dashboard tests.
- Document the shared modal resize pattern and add the published package changeset.

Files changed:
 .changeset/FN-6377-tablet-resizable-modals.md      |   5 +
 docs/dashboard-guide.md                            |   2 +-
 .../task-detail-modal-tablet-width.test.ts         |   4 +-
 .../dashboard/app/components/TaskDetailModal.css   |   4 +-
 .../hooks/__tests__/useModalResizePersist.test.tsx | 218 +++++++++++++++++++++
 .../dashboard/app/hooks/useModalResizePersist.ts   | 140 ++++++++++---
 packages/dashboard/app/styles.css                  |  36 ++++
 7 files changed, 382 insertions(+), 27 deletions(-)

Fusion-Task-Id: FN-6377

Fusion-Task-Lineage: ecc12aa4-f881-4476-a69b-13d34a73e263
2026-06-13 11:46:53 -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
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
3cb0f9f371 FN-6231: enlarge tablet modal and expose triage prompt
Increase tablet task detail modal height while keeping triage prompt contracts testable.\n\n- Set tablet task detail modal height to 92vh with a dynamic viewport max-height guard.\n- Add CSS regression coverage for desktop, tablet, mobile, and embedded modal height invariants.\n- Export the standard triage prompt and include it in invariant wording tests.\n\nFiles changed:\n .../dashboard/app/components/TaskDetailModal.css   |   2 +\n .../__tests__/core-modals-mobile.test.tsx          |  74 ++++-\n packages/engine/src/__tests__/triage.test.ts       |   5 +-\n packages/engine/src/triage.ts                      | 333 +++++++++++++++++++++\n 4 files changed, 406 insertions(+), 8 deletions(-)

Fusion-Task-Id: FN-6231

Fusion-Task-Lineage: 58e990dd-2dbb-4c6e-869d-661b02699cef
2026-06-11 17:15:24 -07:00
gsxdsm
ece4a37745 FN-6059: add task title summarization action
Add an inline task-detail action to summarize descriptions into titles.

- add a read-mode "Summarize as title" control in Task Detail for editable tasks with descriptions
- call the title summarizer, persist the generated title, and show loading/success/error feedback
- cover button visibility, pending, success, error, and mobile behavior in Task Detail tests
- document the new Task Detail modal action in the dashboard guide

Files changed:
 docs/dashboard-guide.md                            |   1 +
 .../dashboard/app/components/TaskDetailModal.css   |  47 +++++++
 .../dashboard/app/components/TaskDetailModal.tsx   |  56 +++++++-
 .../__tests__/TaskDetailModal.test-helpers.ts      |   5 +-
 .../components/__tests__/TaskDetailModal.test.tsx  | 145 +++++++++++++++++++++
 5 files changed, 247 insertions(+), 7 deletions(-)

Fusion-Task-Id: FN-6059

Fusion-Task-Lineage: ed5a2f1b-a490-45f7-a747-d28c345f143b
2026-06-09 03:57:40 -07:00
gsxdsm
6c129dafce FN-6040: show loading indicators for task detail activity and agent logs
Add first-load loading states so task activity and agent log views do not flash empty states.

- show a loading status row in the task detail Activity tab while detail history is still loading
- keep agent logs in a loading state until the active task/project context has completed its initial fetch
- add accessible loading markup, regression tests, and dashboard guide documentation for the new behavior

Files changed:
 docs/dashboard-guide.md                            |   1 +
 .../dashboard/app/components/AgentLogViewer.css    |  18 +++
 .../dashboard/app/components/AgentLogViewer.tsx    |   2 +-
 .../dashboard/app/components/TaskDetailModal.css   |  17 +++
 .../dashboard/app/components/TaskDetailModal.tsx   |   7 +-
 .../components/__tests__/AgentLogViewer.test.tsx   |   3 +-
 .../components/__tests__/TaskDetailModal.test.tsx  | 144 +++++++++++++++++++++
 .../app/hooks/__tests__/useAgentLogs.test.ts       |  74 +++++++++++
 packages/dashboard/app/hooks/useAgentLogs.ts       |  14 +-
 9 files changed, 276 insertions(+), 4 deletions(-)

Fusion-Task-Id: FN-6040

Fusion-Task-Lineage: cd4b8f7f-63cd-4d75-be00-d362e915f4e8
2026-06-08 13:32:58 -07:00
gsxdsm
08d25f041a FN-5968: streamline Changes-tab mobile controls
Tighten the Task Changes toolbar so mobile diff navigation and actions stay compact.

- reuse a shared Changes header renderer so empty and populated states keep the same controls
- add mobile-specific Task Changes toolbar layout rules for wrapped navigation and secondary actions
- cover the mobile header structure, empty-diff actions, and publish a patch changeset

Files changed:
 .changeset/fn-5968-changes-tab-mobile.md           |   5 +
 packages/dashboard/app/components/TaskChangesTab.tsx    | 137 +++++++++++----------
 packages/dashboard/app/components/TaskDetailModal.css   |  39 ++++++
 packages/dashboard/app/components/__tests__/TaskChangesTab.test.tsx   | 103 +++++++++++++++-
 4 files changed, 216 insertions(+), 68 deletions(-)

Fusion-Task-Id: FN-5968

Fusion-Task-Lineage: 70865b8f-7f77-4cdb-aa0f-0d497d05e4ac
2026-06-07 18:51:46 -07:00
gsxdsm
5bad807189 FN-5879: restore desktop tab scrolling in task detail modal
Keep the task detail tab strip scrollable on desktop without shrinking tab labels.

- move horizontal tab-strip scrolling and momentum styles into the base .detail-tabs rule
- keep .detail-tab items from shrinking at all viewport sizes so overflow remains scrollable
- add a CSS contract test for the base tab strip behavior and extend task detail API mocks with refreshPrStatus

Files changed:
 packages/dashboard/app/components/TaskDetailModal.css              | 7 ++++---
 .../dashboard/app/components/__tests__/TaskDetailModal.css.test.ts | 7 +++++++
 .../app/components/__tests__/TaskDetailModal.test-helpers.ts       | 1 +
 3 files changed, 12 insertions(+), 3 deletions(-)

Fusion-Task-Id: FN-5879

Fusion-Task-Lineage: b990a88e-7b1d-44d9-b222-986a28ae143d
2026-06-02 08:46:04 -07:00
gsxdsm
24e0c44b4a FN-5731: require confirmation before archiving near-duplicate tasks
Stop silent near-duplicate auto-archive by routing duplicates through explicit user confirmation in API, engine, and dashboard flows.

- add new near-duplicate confirmation metadata/types and preserve duplicate task rows until confirmation
- update workflow routes and triage logic to return confirmation-required outcomes instead of immediate archive
- add TaskCard and TaskDetailModal UI/actions plus styling and hook updates for confirming or rejecting duplicate handling
- expand dashboard and engine tests and task-management docs to cover the new confirmation path

Files changed:
docs/task-management.md                            | 14 ++++-
packages/core/src/types.ts                         |  4 ++
packages/dashboard/app/api/legacy.ts               |  1 +
packages/dashboard/app/components/TaskCard.css     | 59 ++++++++++++++++++
packages/dashboard/app/components/TaskCard.tsx     | 46 +++++++++++++-
packages/dashboard/app/components/TaskDetailModal.css   | 34 +++++++++++
packages/dashboard/app/components/TaskDetailModal.tsx   | 71 +++++++++++++++++++++-
packages/dashboard/app/components/__tests__/TaskCard.test.tsx     | 71 ++++++++++++++++++++++
packages/dashboard/app/components/__tests__/TaskDetailModal.rendering.test.tsx   | 68 +++++++++++++++++++++
packages/dashboard/app/hooks/useTasks.ts           |  2 +-
packages/dashboard/src/__tests__/routes-tasks-near-duplicate.test.ts  | 45 ++++++++++++++
packages/dashboard/src/routes/register-task-workflow-routes.ts    |  9 ++-
packages/engine/src/__tests__/reliability-interactions/near-duplicate-intake.test.ts                  | 16 +++--
packages/engine/src/triage.ts                      | 19 +++---
14 files changed, 433 insertions(+), 26 deletions(-)

Fusion-Task-Id: FN-5731

Fusion-Task-Lineage: fa004129-7bce-4457-b8c3-ceb9fb953319
2026-05-30 15:52:46 -07:00
gsxdsm
2c4683a298 Recovery: re-land tablet TaskDetailModal width onto main 2026-05-28 19:45:27 -07:00
gsxdsm
aa64643cf1 feat(FN-5589): merge fusion/fn-5589 2026-05-26 17:19:34 -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)
b8147dd3b1 feat(FN-5405): remove broad-scope triage heuristics and UI advisory chips/b
Removes the broad-scope detection feature end-to-end: the TaskCard chip and TaskDetailModal advisory banner are gone from the dashboard, the triage heuristic that flagged tasks as broad-scope has been deleted from the engine along with its associated run-audit events, and documentation references ha

Fusion-Task-Id: FN-5405
2026-05-21 15:07:15 -07:00
Fusion (runfusion.ai)
c9ff2078b5 feat(FN-5314): add broad-scope advisory chip to TaskCard and banner to Task
Adds broad-scope advisory chips to TaskCard and banner to TaskDetailModal with comprehensive test coverage and a dashboard guide entry. TaskCard gains an inline advisory chip (with styles), TaskDetailModal gets a matching banner, and both components have dedicated test suites covering the new UI ele

Fusion-Task-Id: FN-5314

Fusion-Task-Lineage: cbc88f36-d029-4e4b-ac9c-32a77560b8b9
2026-05-20 09:42:40 -07:00
Fusion (runfusion.ai)
5c3096c7d1 feat(FN-5083): complete Steps 5-7 rebind UI and reliability docs 2026-05-18 18:26:52 -07:00
Fusion (runfusion.ai)
84f914884a feat(FN-4786): complete Step 2 — globalize spin utility
Fusion-Task-Id: FN-4786
Fusion-Task-Lineage: eb683ec8-8b9d-4e3d-852c-7076224afa6b
2026-05-16 18:40:03 -07:00
Fusion (runfusion.ai)
7c364da077 feat(FN-4625): complete Step 5 — surface worktrunk pause details
Fusion-Task-Id: FN-4625
Fusion-Task-Lineage: c1d9b414-b5dd-4786-ba51-0b8adec4acf5
2026-05-15 20:53:54 -07:00
Fusion
652e820f7d feat(FN-4398): complete remaining dashboard visibility and docs
Fusion-Task-Id: FN-4398
Fusion-Task-Lineage: 8b898b2e-3468-4fa7-8546-b8f6ba52cf46
2026-05-14 15:25:08 -07:00
Fusion
d4f080d162 feat(FN-4288): complete Step 4 — add stall diagnostics in task detail
Fusion-Task-Id: FN-4288
Fusion-Task-Lineage: 09c6efc0-ea0b-443a-ab45-a89188fcf888
2026-05-13 16:29:37 -07:00
Fusion
4f4cb5093f feat(FN-4378): complete Step 5 — prompt github issue action on task delete
Fusion-Task-Id: FN-4378
Fusion-Task-Lineage: d3867ba8-f852-41e3-9db0-584c0ffc23b1
2026-05-13 14:12:51 -07:00
Fusion
e1f34949b3 feat(FN-4329): complete Step 3 — truncate long provenance context labels
Fusion-Task-Id: FN-4329
Fusion-Task-Lineage: 6a0517ee-39e6-497f-ad31-535dc3492489
2026-05-13 11:38:47 -07:00
Fusion
9c44bb0159 fix(FN-4190): allow deferred tracking helper text to wrap
Fusion-Task-Id: FN-4190
Fusion-Task-Lineage: 5d94a4ad-32fb-4d20-8d04-5d757619f104
2026-05-13 06:29:35 -07:00
Fusion
eed0070c43 feat(FN-4228): complete Step 2 — style github tracking spinner slot
Fusion-Task-Id: FN-4228
Fusion-Task-Lineage: 86a2aac1-a45f-4cb0-b004-a95db3676355
2026-05-13 06:29:34 -07:00
Fusion
816ede13f0 feat(FN-4164): complete Step 2 — restore mobile touch target sizing
Fusion-Task-Id: FN-4164
Fusion-Task-Lineage: 7e3ea70f-c2e7-40c5-9de8-d8d3ab67c513
2026-05-13 06:29:34 -07:00
Fusion
e71b325f64 feat(FN-4267): complete Step 1 — keep source issue chevron on header row
Fusion-Task-Id: FN-4267
Fusion-Task-Lineage: fc79d0e6-f30d-4a5c-84f3-33aac4cda1a4
2026-05-13 06:29:34 -07:00
Fusion
6417f00e9d feat(FN-4163): make github tracking enable button compact on desktop
Adds compact desktop styling for the GitHub tracking enable button in the task detail modal, with a new CSS regression test covering the button styling.

Fusion-Task-Id: FN-4163
2026-05-12 22:52:01 -07:00
Fusion
14811ed60d feat(FN-4224): tighten github tracking header to single-row layout in task
Restyles the GitHub tracking header in TaskDetailModal to a compact single-row layout with tighter spacing, adds test coverage for the header layout, and includes a regression verification pass alongside a changeset documenting the change.

Fusion-Task-Id: FN-4224
2026-05-12 17:34:26 -07:00
Fusion
d5dcf4494b feat(FN-4213): keep github tracking header aligned to single row
Completes the GitHub tracking header alignment work in the TaskDetailModal with CSS adjustments to keep the header properly aligned, along with corresponding test coverage. The changeset prepares the `@runfusion/fusion` package for release as a patch.

Fusion-Task-Id: FN-4213
2026-05-12 17:04:33 -07:00
Fusion
e570b16267 feat(FN-4183): align detail source header in TaskDetailModal
Fixed the chevron/source header top alignment in TaskDetailModal with a CSS adjustment, backed by a new CSS assertion test. Includes a changeset for a patch release of `@runfusion/fusion`.

Fusion-Task-Id: FN-4183
2026-05-12 17:04:33 -07:00
Fusion
69e072e9ba feat(FN-4159): shrink and keep visible the github tracking enable button in
Adds a compact GitHub tracking enable button in the task detail modal header, with a fix to keep it visible during save operations and further shrinking the inline CTA styling.

Fusion-Task-Id: FN-4159
2026-05-12 17:04:32 -07:00
Fusion
04b41d8258 feat(FN-4147): add mobile-friendly github tracking enable button in header
Adds a GitHub tracking toggle affordance to the task detail header with accompanying tests, documentation updates, and a changeset, plus a CSS fix for mobile header wrapping.

Fusion-Task-Id: FN-4147
2026-05-12 10:27:36 -07:00