Commit Graph

9563 Commits

Author SHA1 Message Date
gsxdsm
cf702c9bbd fix(dashboard): taller Git Manager dock tab strip with narrower icon-over-label tabs
Each section tab stacks its icon over a small label so all tabs are visible at once in the narrow dock with minimal horizontal scrolling.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 03:34:15 -07:00
gsxdsm
744bb384dc feat(dashboard): Usage back to header; Skills/Memory after Mailbox; tests updated
- Usage (Activity) removed from the right dock and rendered as a non-mobile header button (left of the right-sidebar toggle) that opens the UsageIndicator as a header-anchored modal.
- Left sidebar: Skills and Memory moved to immediately after Mailbox.
- Updated overflowViewRegistry / Header / tablet-header / LeftSidebarNav tests to the new behavior (all green).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 03:34:15 -07:00
gsxdsm
0b410d54e1 FN-6915: surface user comments in agent prompts
User task chat and steering comments now flow into planning, review, and merge agent context.

- Add a shared user-comment formatter and selector for prompt context.
- Inject latest user comments into planner-triggered review, reviewer, merger, and clean-room AI merge prompts.
- Cover comment selection, prompt formatting, review/merge propagation, and docs updates with targeted tests.

Files changed:
 docs/architecture.md                               |  1 +
 docs/dashboard-guide.md                            |  1 +
 .../src/__tests__/agent-user-comments.test.ts      | 81 ++++++++++++++++++++++
 .../executor-review-step-indexing.test.ts          | 28 +++++++-
 packages/engine/src/__tests__/merger-ai.test.ts    | 54 +++++++++++++++
 .../src/__tests__/merger-prompt-and-utils.test.ts  | 29 ++++++++
 packages/engine/src/__tests__/reviewer.test.ts     | 37 ++++++++--
 packages/engine/src/__tests__/triage.test.ts       | 23 ++++++
 packages/engine/src/agent-user-comments.ts         | 60 ++++++++++++++++
 packages/engine/src/executor.ts                    | 14 ++--
 packages/engine/src/merger-ai.ts                   | 23 +++++-
 packages/engine/src/merger.ts                      | 22 +++++-
 packages/engine/src/reviewer.ts                    | 13 ++++
 13 files changed, 372 insertions(+), 14 deletions(-)

Fusion-Task-Id: FN-6915

Fusion-Task-Lineage: 02de0c12-481a-4489-b495-70c9c00619bc
2026-06-22 03:34:15 -07:00
gsxdsm
d9b4f29f5d fix(dashboard): docked terminal backdrop override must out-specify base modal-overlay
The base .modal-overlay (dim + blur) and the docked/floating override were both single-class selectors, so stylesheet order could let the dim/blur win and fade the page. Qualify the override with .modal-overlay so the transparent, non-blurring, click-through backdrop always wins.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 03:34:15 -07:00
gsxdsm
18adb8f251 feat(dashboard): add Todos and Pull Requests to the right dock
Both render inline in the dock; Todos is gated by the todosEnabled flag.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 03:34:15 -07:00
gsxdsm
ea7c14964c fix(dashboard): make the list-view split sidebar easy to resize
Widen the split resize column from 4px to --space-sm and add a centered grip line that brightens on hover/focus, so the task-list sidebar is easy to grab and drag.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 03:34:15 -07:00
gsxdsm
7533fa14eb feat(dashboard): reorder left sidebar; Dev Server + Secrets to right dock; Import Tasks CC header
- Left sidebar reordered to a single explicit list (board, list, graph, command-center, agents, chat, mailbox, planning, missions, artifacts, goals, compound, automation, import, workflows, insights, research, skills, memory, evals, remaining plugins). Command Center before Agents; Artifacts after Missions.
- Dev Server and Secrets moved off the left sidebar into the right dock (inline render; Dev Server gated by the devServerView flag).
- Import Tasks embedded view uses a Command Center-style header (GitHub logo + shared title font + padding).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 03:34:15 -07:00
gsxdsm
dc0064bd15 feat(dashboard): right-dock inline tools, left-sidebar views, embedded-view polish
- Right dock: Files first/default; usage/activity-log/git-manager render inline; embedded Git Manager uses a container query (compact horizontal tab strip in the dock, full two-pane in the wide pop-out); Files inline viewer + pop-out.
- Import Tasks layout fits its container (stacked when narrow, two-pane when wide); Import Tasks uses the GitHub mark.
- Planning embeds full-area and works on mobile; planning shows the board WorkflowSwitcher.
- Automations screen uses theme color tokens.
- Workflow selector matches the project selector height/font.
- Left sidebar: uniform spacing across the primary/secondary boundary.

Adds a changeset for @runfusion/fusion (minor).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 03:34:15 -07:00
gsxdsm
70442d2b42 feat(dashboard): dock file viewer, planning workflow switcher, gm mobile layout
- Files dock: clicking a file opens it inline (read-only FileEditor) with Back + pop-out-to-resizable-modal controls (DockFilesView).
- Planning view shows the same board WorkflowSwitcher in the same Header workflow slot (PlanningWorkflowSwitcherSlot, portaled).
- Embedded Git Manager uses the mobile single-column layout in the narrow dock (section tabs strip + full-width content).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 03:34:15 -07:00
gsxdsm
7830c13a7e feat(dashboard): Workflows, Import Tasks, Automations as left-sidebar main views
- New built-in task views: workflows, import-tasks, automations (left-sidebar destinations rendering in the main content area).
- WorkflowNodeEditor, GitHubImportModal, and ScheduledTasksModal gain a presentation=embedded mode (inline, no overlay/close, modal-only behaviors disabled). Automations embedded view uses a Command Center-style header and a responsive two-pane (list + detail) layout when wide enough.
- Left sidebar adds Workflows, Import Tasks, Automations entries; renderMainContent renders the embedded views.
- Remove github-import and automation from the right dock; hide the desktop Header Workflow button when the left sidebar owns Workflows. Mobile overflow keeps the modal entry points unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 03:34:15 -07:00
gsxdsm
cf0465785c style(dashboard): workflow selector matches project selector
Align the workflow-switcher trigger with the project-selector trigger: transparent background, --radius-md, muted text that brightens on hover with --card-hover fill and --text-dim border, content-driven width (drop the fixed min-width; keep the max-width clamp).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 03:34:15 -07:00
gsxdsm
cdee83c3ec fix(dashboard): list narrowing, planning blend, insights header, graph out of dock
- List view split sidebar min-width 120->64 so it can be dragged much narrower; titles wrap to two lines in the split sidebar.
- Embedded planning blends like Command Center: no panel shadow/border/outline, transparent background, matching --space-lg padding.
- Insights view header wraps so action buttons drop to a new line instead of overlapping the title.
- Dependency graph no longer appears in the right dock (left-sidebar destination only).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 03:34:15 -07:00
gsxdsm
7ceea21194 feat(dashboard): right-dock tools render inline (no popup modals)
- Add an embedded presentation to UsageIndicator, ActivityLogModal, and GitManagerModal: rendered inline inside the right-dock container with no fixed overlay, no modal-close, and modal-only behaviors (scroll lock, resize-persist, escape-to-close, popover anchor positioning) disabled when embedded. Modal path unchanged.
- Right-dock registry mounts usage/activity-log/git-manager via presentation=embedded render instead of onActivate modal launchers; Files already inline.
- Remove the in-dock collapse button; the header right-sidebar toggle is the sole show/hide control.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 03:34:15 -07:00
gsxdsm
b9a27785eb feat(dashboard): right-sidebar header toggle + sidebar fixes
- Add a non-mobile header right-sidebar show/hide toggle (PanelRight) wired to the right-dock open state; replaces the tablet three-dots overflow. Mobile keeps its overflow menu untouched.
- Right dock is fully hidden when closed (no persistent rail); main content reclaims the space. Resize handle preserved when open.
- Fix New Task CTA width: .left-sidebar-nav__item width:100% was overriding it, overflowing the unpadded aside by 2x--space-sm and overlapping the resize bar; raise specificity so it matches the item highlight box.
- Make the primary/secondary nav gap match the row rhythm (Compound -> Goals no longer doubled).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 03:34:15 -07:00
gsxdsm
901ca72efd FN-6912: slim the messages split pane divider
Slim the full-page Messages split-pane divider without reducing its interactive resize target.

- Reduce the visible mailbox split resize handle from space-sm to space-xs.
- Keep the pseudo-element hit target at space-sm for hover, active, and drag affordances.
- Extend MailboxView CSS coverage to assert the thinner handle and preserved target width.

Files changed:
 packages/dashboard/app/components/MailboxModal.css           |  8 ++++++--
 .../dashboard/app/components/__tests__/MailboxView.test.tsx  | 12 +++++++++++-
 2 files changed, 17 insertions(+), 3 deletions(-)

Fusion-Task-Id: FN-6912

Fusion-Task-Lineage: c5fccc5f-56b2-4188-8c27-51ed3b269f86
2026-06-22 03:34:15 -07:00
gsxdsm
108d9f6dca feat(dashboard): embedded planning + sidebar/dev-server styling
- Planning mode embedded view drops the modal header/close and uses a plain common title like Command Center.
- Remove the divider before the secondary section (Goals/Evals) in the left sidebar.
- Flatten the Dev Server view header to match embedded-view styling (no card chrome).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 03:34:15 -07:00
gsxdsm
7f9849d6ed FN-6908: add expandable artifact media previews
Adds a polished media gallery experience for image and video artifacts in Documents.

- Make image and video artifact cards open an accessible lightbox with keyboard, backdrop, and close-button dismissal.
- Style expandable previews, hover affordances, and responsive full-size media presentation.
- Cover the media lightbox behavior in DocumentsView tests and document the dashboard gallery behavior.
- Add localized labels for expanding and closing artifact previews.

Files changed:
 docs/dashboard-guide.md                            |   4 +-
 .../dashboard/app/components/DocumentsView.css     | 156 +++++++++++++++++++--
 .../dashboard/app/components/DocumentsView.tsx     | 121 +++++++++++++++-
 .../components/__tests__/DocumentsView.test.tsx    |  46 +++++-
 packages/i18n/locales/en/app.json                  |   6 +-
 packages/i18n/locales/es/app.json                  |   6 +-
 packages/i18n/locales/fr/app.json                  |   6 +-
 packages/i18n/locales/ko/app.json                  |   6 +-
 packages/i18n/locales/zh-CN/app.json               |   6 +-
 packages/i18n/locales/zh-TW/app.json               |   6 +-
 10 files changed, 338 insertions(+), 25 deletions(-)

Fusion-Task-Id: FN-6908

Fusion-Task-Lineage: cf4d7d83-f58f-4686-ade9-b8b260bf400d
2026-06-22 03:34:15 -07:00
gsxdsm
db17d6a19e fix(dashboard): tighten sidebar/terminal chrome
- Left sidebar New Task CTA now occupies the same box as item highlights (drop bleeding box-shadow).
- Add spacing between Collapse and Settings in the sidebar footer.
- Docked/floating terminal no longer blurs the page behind; page stays interactive.
- Flatten the footer Terminal launcher to plain clickable text like the executor running-state trigger.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 03:34:15 -07:00
gsxdsm
af06170a51 FN-6778: add agent artifact registry tools
Adds engine and chat tools for registering, discovering, and viewing artifacts with inbox notifications.

- Add fn_artifact_register, fn_artifact_list, and fn_artifact_view tools for heartbeat, executor, and chat sessions.
- Send best-effort dashboard system inbox notifications when artifacts are registered.
- Classify artifact tools for action gating and coordination exemptions, with coverage for executor, heartbeat, permanent agent, and chat flows.
- Document the artifact registry behavior and update package metadata, quarantine ledger, and line-count baseline.

Files changed:
 .changeset/fn-6778-artifact-agent-tools.md         |   5 +
 CONCEPTS.md                                        |   3 +
 docs/agents.md                                     |   1 +
 packages/core/src/db.ts                            |   1 +
 .../src/__tests__/session-error-recovery.test.ts   |   1 +
 .../session-persistence-roundtrip.test.ts          |   1 +
 .../src/__tests__/session-reconnect.test.ts        |   1 +
 .../src/__tests__/session-resume-history.test.ts   |   1 +
 packages/dashboard/src/chat.ts                     |   6 +-
 packages/dashboard/src/planning.ts                 |   4 +
 packages/dashboard/src/test/mockCoreEngine.ts      |   1 +
 .../engine/src/__tests__/agent-action-gate.test.ts |   3 +
 .../src/__tests__/agent-artifact-tools.test.ts     | 458 +++++++++++++++++++++
 .../src/__tests__/executor-step-session.test.ts    |  48 +++
 .../src/__tests__/gating-classifications.test.ts   |   3 +
 .../src/__tests__/heartbeat-executor.test.ts       |  40 +-
 .../src/__tests__/heartbeat-session-prompt.test.ts |  25 +-
 .../src/__tests__/permanent-agent-gating.test.ts   |   6 +
 packages/engine/src/agent-heartbeat.ts             |   6 +-
 packages/engine/src/agent-tools.ts                 | 288 ++++++++++++-
 packages/engine/src/executor.ts                    |  25 ++
 packages/engine/src/gating-classifications.ts      |   7 +
 packages/engine/src/index.ts                       |   9 +
 scripts/lib/test-quarantine.json                   |   8 +-
 scripts/line-count-baseline.json                   |  54 +--
 25 files changed, 945 insertions(+), 60 deletions(-)

Fusion-Task-Id: FN-6778
Fusion-Task-Lineage: 7eb4afcb-8140-4f86-9540-eb3b83e64148
2026-06-22 03:34:14 -07:00
gsxdsm
8c478adc78 FN-6851: prevent stale task board entries
Keep board listings consistent after task dependency moves.\n\n- Sync the watched task cache after dependency updates write todo-to-triage re-specification moves.\n- Deduplicate listTasks results so active task rows win over archived snapshots.\n- Cover dependency edits, archive snapshots, soft deletes, done rows, and orphan reconciliation with regression tests.\n- Add a patch changeset for the published Fusion package.\n\nFiles changed:\n .../fn-6851-stale-board-entries-after-move.md      |   5 +\n .../store-stale-board-entries-after-move.test.ts   | 144 +++++++++++++++++++++\n packages/core/src/store.ts                         |  18 ++-\n 3 files changed, 157 insertions(+), 10 deletions(-)

Fusion-Task-Id: FN-6851

Fusion-Task-Lineage: 4622439e-631c-4410-be96-9a9f38c1815e
2026-06-22 03:34:14 -07:00
gsxdsm
b71b0aafa0 Merge pull request #1719 from Runfusion/feature/readme-mobile
docs: add 'AI factory in your pocket' mobile showcase
2026-06-22 03:32:17 -07:00
gsxdsm
314e54f1c3 Update README.md
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-06-22 03:32:08 -07:00
gsxdsm
63c702d4b7 docs: add 'AI factory in your pocket' mobile showcase to the README
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 03:28:21 -07:00
gsxdsm
40fd3014e9 Merge pull request #1716 from Runfusion/feature/update-readme
docs: refresh README with feature showcase and media
2026-06-22 01:35:26 -07:00
gsxdsm
65d9a812f8 docs: sync localized READMEs with the refreshed English README
Apply the inline orange logo, software-factory framing, the
'See it in action' showcase (Command Center, workflows, agent chat,
chat rooms, agent mail), moved Quick start, and removed stat table to
all five locale READMEs, translating the new copy. Image paths and
section order match the English README exactly.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 00:45:53 -07:00
gsxdsm
3c01f25379 docs: inline an orange Fusion mark beside the title in the README hero
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 00:34:35 -07:00
gsxdsm
4234d5d6da docs: drop the Command Center stat table, keep the graph images
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 00:27:12 -07:00
gsxdsm
dd8129a271 docs: reframe README as a software factory and refresh feature media
- Lead with "a software factory, run by a multi-agent orchestrator" and
  emphasize the plan/build/review/ship assembly-line framing.
- Move the Quick start section directly above "The flow".
- Re-render the workflow GIFs (Tokyo Night, Shadcn Light, Dark Gray) to
  pan across the graph nodes with no lingering selection.
- Refresh the agent chat GIF.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 00:17:12 -07:00
gsxdsm
5191e1f22d FN-6911: defer Droid CLI startup probes
Defer Droid CLI validation and discovery so startup no longer spawns or hangs on droid.

- Register the Droid provider without boot-time validation or model discovery side effects.
- Trigger CLI validation only when a Droid stream starts and expose explicit model discovery.
- Add regression coverage for non-interactive droid process spawning and startup probe behavior.
- Add a patch changeset for the published Fusion CLI package.

Files changed:
 .changeset/fn-6911-droid-cli-no-boot-spawn.md      |  5 ++
 .../commands/__tests__/droid-cli-extension.test.ts | 15 +++-
 packages/droid-cli/index.ts                        | 33 ++++----
 packages/droid-cli/src/__tests__/index.test.ts     | 90 +++++++++-------------
 .../src/__tests__/discover-models.test.ts          |  7 +-
 .../src/__tests__/probe.test.ts                    |  8 ++
 .../src/__tests__/process-manager.test.ts          | 74 ++++++++++++++++++
 .../src/__tests__/startup-probes.test.ts           |  5 +-
 8 files changed, 160 insertions(+), 77 deletions(-)

Fusion-Task-Id: FN-6911

Fusion-Task-Lineage: ef4bc3df-bfe8-416a-b701-64f752faea30
2026-06-21 23:44:26 -07:00
gsxdsm
a91388198b FN-6899: make right dock persistent
Make the right dock a persistent far-right surface with its own collapse control.

- Default the right dock to visible and preserve a collapsed rail instead of hiding it entirely.\n- Remove Header right-dock toggle props and routing so More views remains a menu and left-sidebar mode has no duplicate Header toggle.\n- Update docs, changeset, and regression tests for persistent dock behavior.\n\nFiles changed:\n .changeset/fn-6899-click-revealed-right-dock.md    |  5 ++\n docs/dashboard-guide.md                            |  6 +-\n packages/dashboard/app/App.tsx                     |  1 -\n .../mobile-feature-access-regression.test.tsx      | 32 ++------\n packages/dashboard/app/components/Header.tsx       | 57 +++-----------\n packages/dashboard/app/components/RightDock.css    | 18 +++++\n packages/dashboard/app/components/RightDock.tsx    | 86 ++++++++++++----------\n .../app/components/__tests__/Header.test.tsx       | 57 +++-----------\n .../app/components/__tests__/RightDock.test.tsx    | 31 ++++++--\n .../app/components/useRightDockController.tsx      |  4 +-\n 10 files changed, 132 insertions(+), 165 deletions(-)

Fusion-Task-Id: FN-6899

Fusion-Task-Lineage: 96c4ba70-eb73-4034-8254-6a192402d905
2026-06-21 23:37:25 -07:00
gsxdsm
8d815f00cf docs: refresh README with feature showcase and media
Shrink the wordmark and add a "See it in action" section showcasing
Command Center, selectable workflows, agent chat, multi-agent chat
rooms, and agent mail. Each feature pairs a looping GIF with value
copy; Command Center adds live fleet stats, graph highlights, and
split light/dark color-theme grids.

New screenshots and GIFs committed under demo/assets/ — Tokyo Night
plus Shadcn Light and Shadcn Dark Gray variants. Workflow GIFs show
the Stepwise coding graph with node-level zoom/pan.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 23:24:03 -07:00
gsxdsm
bb663a4705 FN-6906: improve non-coding workflow artifact prompts
Non-coding built-in workflows now guide agents toward structured, reviewable artifacts.

- Expand marketing and lead-generation prompts with explicit inputs, output structure, quality bars, and persisted task-document deliverables.
- Require design execution to persist a reviewable preview document and update design review guidance to inspect it.
- Document the new artifact-oriented behavior and cover prompt routing with regression tests while preserving coding workflow defaults.
- Add a patch changeset for the published Fusion package.

Files changed:
 .changeset/fn-6906-non-coding-workflow-prompts.md  |  5 +++++
 docs/workflow-steps.md                             | 11 +++++++----
 .../builtin-lead-generation-workflow-ir.test.ts    |  2 ++
 .../core/src/__tests__/builtin-workflows.test.ts   | 22 ++++++++++++++++++++++
 .../src/builtin-lead-generation-workflow-ir.ts     | 13 ++++++++-----
 packages/core/src/builtin-marketing-workflow-ir.ts |  9 ++++++---
 packages/core/src/builtin-workflows.ts             | 16 ++++++++++++++--
 7 files changed, 64 insertions(+), 14 deletions(-)

Fusion-Task-Id: FN-6906
Fusion-Task-Lineage: 76f39350-e441-4dde-8571-35a6fbf6fcda
2026-06-21 23:15:46 -07:00
gsxdsm
7fd14eb88c FN-6907: rename task documents to artifacts
Rename the task-modal Documents tab to Artifacts and include task-scoped media outputs alongside task documents.

- Add shared artifact media rendering for global and task-local artifact cards.
- Surface image, video, audio, document, and generic artifacts in the task Artifacts tab.
- Update tab labels, empty states, counts, translations, tests, docs, and release notes for the Artifacts wording.

Files changed:
 .changeset/fn-6907-task-artifacts-tab.md           |   5 +
 docs/dashboard-guide.md                            |   5 +-
 .../dashboard/app/components/ArtifactMedia.tsx     |  55 +++++++
 .../dashboard/app/components/DocumentsView.tsx     |  47 +-----
 .../dashboard/app/components/TaskDetailModal.tsx   |   3 +-
 .../dashboard/app/components/TaskDocumentsTab.css  |  33 +++++
 .../dashboard/app/components/TaskDocumentsTab.tsx  | 109 ++++++++++++--
 .../TaskDetailModal.attachments-and-tabs.test.tsx  |   4 +-
 .../TaskDetailModal.definition-actions.test.tsx    |  20 +--
 .../components/__tests__/TaskDocumentsTab.test.tsx | 160 ++++++++++++++++++++-
 packages/i18n/locales/en/app.json                  |  16 ++-
 packages/i18n/locales/es/app.json                  |  16 ++-
 packages/i18n/locales/fr/app.json                  |  16 ++-
 packages/i18n/locales/ko/app.json                  |  16 ++-
 packages/i18n/locales/zh-CN/app.json               |  16 ++-
 packages/i18n/locales/zh-TW/app.json               |  16 ++-
 16 files changed, 436 insertions(+), 101 deletions(-)

Fusion-Task-Id: FN-6907

Fusion-Task-Lineage: a1318ed5-4d47-42f8-8b6c-fe91506e11fb
2026-06-21 23:07:55 -07:00
gsxdsm
f4d2fa2ece FN-6910: hide subtask quick-add behind experiment
Hide the AI subtask-breakdown quick-add action unless the experimental flag is explicitly enabled.

- Gate Subtask Breakdown callbacks from App on the default-off subtaskBreakdown experiment.
- Remove Subtask quick-add buttons from inline create and quick entry surfaces when no callback is wired.
- Add settings, quick-add, documentation, and changeset coverage for the new experiment toggle.

Files changed:
 .changeset/fn-6910-subtask-breakdown-flag.md       |  5 ++++
 docs/dashboard-guide.md                            |  2 +-
 packages/dashboard/app/App.tsx                     |  8 ++++---
 .../dashboard/app/components/InlineCreateCard.tsx  | 27 ++++++++++++----------
 .../dashboard/app/components/QuickEntryBox.tsx     | 27 ++++++++++++----------
 .../dashboard/app/components/SettingsModal.tsx     |  2 ++
 .../components/__tests__/InlineCreateCard.test.tsx | 13 +++++++++++
 .../components/__tests__/QuickEntryBox.test.tsx    | 12 ++++++++++
 .../components/__tests__/SettingsModal.test.tsx    | 13 +++++++++++
 9 files changed, 81 insertions(+), 28 deletions(-)

Fusion-Task-Id: FN-6910

Fusion-Task-Lineage: a7738b1f-7b41-438d-bd94-79ef56928262
2026-06-21 23:02:16 -07:00
gsxdsm
c78b44ce4c FN-6909: allow narrower list sidebar
Lower the desktop list-view sidebar minimum width while keeping resize behavior covered.\n\n- Reduce the shared list sidebar clamp from 200px to 120px.\n- Update keyboard resize expectations for stored widths below the new minimum.\n\nFiles changed:\n packages/dashboard/app/components/ListView.tsx               |  2 +-\n .../dashboard/app/components/__tests__/ListView.test.tsx     | 12 ++++++------\n 2 files changed, 7 insertions(+), 7 deletions(-)

Fusion-Task-Id: FN-6909

Fusion-Task-Lineage: 0bf345af-c94d-4f73-bb03-e7e43a6bb398
2026-06-21 22:57:01 -07:00
gsxdsm
43421722a5 FN-6904: name CE slash commands in built-in workflow prompts
Built-in compound-engineering workflow prompts now point agents at the intended /ce- skill commands directly.

- Prefix each compound-engineering skill stage prompt with its matching /ce- slash command.
- Add workflow coverage that verifies every skill-node prompt names the expected command while the merge boundary stays generic.
- Add a patch changeset for the published Fusion package.

Files changed:
 .changeset/fn-6904-ce-workflow-prompt-skill-callout.md |  5 +++++
 packages/core/src/__tests__/builtin-workflows.test.ts  | 18 ++++++++++++++++++
 packages/core/src/builtin-workflows.ts                 | 16 ++++++++++------
 3 files changed, 33 insertions(+), 6 deletions(-)

Fusion-Task-Id: FN-6904
Fusion-Task-Lineage: c1d8c9cd-c0ae-49a0-a287-48721490f41f
2026-06-21 22:51:07 -07:00
gsxdsm
7034b55288 FN-6887: add footer terminal launcher
Move terminal access from the header into a footer launcher and resizable bottom panel.

- Add a TerminalLauncher footer control with dock, resize, collapse, and pop-out affordances.
- Extend TerminalModal to support bottom-panel layout, drag resizing, and persistent panel state.
- Remove terminal/script controls from header overflow while preserving compact Mailbox and tool ordering.
- Update executor footer spacing, dashboard docs, changeset, and focused terminal/header tests.

Files changed:
 .changeset/fn-6887-terminal-footer-panel.md        |   5 +
 docs/dashboard-guide.md                            |   2 +
 packages/dashboard/app/App.tsx                     |   6 +-
 .../app/__tests__/tablet-header-controls.test.tsx  |  95 +---
 .../dashboard/app/components/ExecutorStatusBar.css |   8 +
 .../dashboard/app/components/ExecutorStatusBar.tsx |  27 +-
 packages/dashboard/app/components/Header.css       |  27 -
 packages/dashboard/app/components/Header.tsx       | 549 +--------------------
 .../dashboard/app/components/TerminalLauncher.css  | 180 +++++++
 .../dashboard/app/components/TerminalLauncher.tsx  | 306 ++++++++++++
 .../dashboard/app/components/TerminalModal.css     | 117 +++++
 .../dashboard/app/components/TerminalModal.tsx     | 360 +++++++++++++-
 .../__tests__/ExecutorStatusBar.test.tsx           |  52 +-
 .../app/components/__tests__/Header.test.tsx       | 304 ++----------
 .../components/__tests__/TerminalLauncher.test.tsx |  57 +++
 .../components/__tests__/TerminalModal.test.tsx    | 111 +++++
 16 files changed, 1282 insertions(+), 924 deletions(-)

Fusion-Task-Id: FN-6887

Fusion-Task-Lineage: 755f28b1-1ba5-43f8-b13c-264e31507658
2026-06-21 22:43:34 -07:00
gsxdsm
8f4897d3aa FN-6905: add build preflight to velocity measurement
Add a non-measured build setup step so velocity baselines do not misclassify missing dist artifacts as lane time.

- Run a default `pnpm build` preflight before measured test velocity lanes, with an explicit skip flag for pre-built CI.
- Add injectable command-runner coverage for preflight ordering, failure reporting, and skip behavior.
- Document the preflight behavior in the generated baseline report and testing docs.

Files changed:
 docs/test-velocity-baseline.md                    |   2 +
 docs/testing.md                                   |   4 +-
 scripts/__tests__/test-velocity-baseline.test.mjs | 159 ++++++++++++++++++++++
 scripts/test-velocity-baseline.mjs                |  38 +++++-
 4 files changed, 195 insertions(+), 8 deletions(-)

Fusion-Task-Id: FN-6905

Fusion-Task-Lineage: 3016a542-4395-4d06-9f2e-1a91f4939e07
2026-06-21 22:29:13 -07:00
gsxdsm
cf6718f3c1 FN-6892: show default model for configured prompt nodes
Prompt workflow nodes with inline prompts or names now summarize their default model instead of appearing unconfigured.

- Return the localized Default model summary for model prompt nodes without pinned provider/model settings when prompt or name is present.
- Cover direct prompt summary cases and all built-in workflow prompt nodes to prevent Not configured regressions.
- Add localized summary text and workflow-step documentation for default-model prompt nodes.

Files changed:
 docs/workflow-steps.md                             |  2 +-
 .../nodes/__tests__/node-summary.test.ts           | 32 ++++++++++++++++++++++
 .../dashboard/app/components/nodes/node-summary.ts |  7 +++++
 packages/i18n/locales/en/common.json               |  1 +
 packages/i18n/locales/es/common.json               |  1 +
 packages/i18n/locales/fr/common.json               |  1 +
 packages/i18n/locales/ko/common.json               |  1 +
 packages/i18n/locales/zh-CN/common.json            |  1 +
 packages/i18n/locales/zh-TW/common.json            |  1 +
 9 files changed, 46 insertions(+), 1 deletion(-)

Fusion-Task-Id: FN-6892

Fusion-Task-Lineage: 5892429d-22ee-495e-bc40-06cbf81ee471
2026-06-21 22:14:15 -07:00
gsxdsm
c4c8961c1e FN-6903: preserve workflow quick-create visibility
Optimistically attach newly quick-created tasks to the active workflow lane until workflow metadata refetches.

- Update board and list quick-create paths to cache the selected workflow for created tasks immediately.\n- Refresh board-workflows metadata after optimistic assignment so authoritative state reconciles.\n- Cover board/list workflow-lane quick-create visibility with regression tests.\n- Document the workflow-filtered quick-create behavior and add a patch changeset.\n\nFiles changed:\n .../fn-6903-workflow-lane-create-visibility.md     |   5 +\n docs/dashboard-guide.md                            |   2 +-\n packages/dashboard/app/components/Board.tsx        |  34 ++-\n packages/dashboard/app/components/ListView.tsx     |  36 ++-\n ...d-quickcreate-workflow-lane-visibility.test.tsx | 319 +++++++++++++++++++++\n 5 files changed, 390 insertions(+), 6 deletions(-)

Fusion-Task-Id: FN-6903

Fusion-Task-Lineage: dd2c6fa1-f2e8-4777-aa3c-69d000efb1b1
2026-06-21 22:04:32 -07:00
gsxdsm
3817ada788 FN-6901: refresh weekly test velocity baseline
Refresh the weekly test velocity report with the latest captured baseline data.

- Advance the documented baseline from 2026-W25 to 2026-W26.
- Record the latest gate, changed-only test, quarantine, and boot-smoke measurement status.
- Append the new measurement row to the persisted test velocity history.

Files changed:
 docs/test-velocity-baseline.md     |  22 +++----
 scripts/test-velocity-history.json | 116 +++++++++++++++++++++++++++++++++++++
 2 files changed, 127 insertions(+), 11 deletions(-)

Fusion-Task-Id: FN-6901

Fusion-Task-Lineage: 06f42104-b3c5-4a26-86ee-fb2791f7006d
2026-06-21 21:48:40 -07:00
gsxdsm
d78b8a5c4c FN-6900: keep Git Manager tabs visible on mobile
Keep the Git Manager section tab strip usable in mobile modal layouts.

- Prevent the mobile Git Manager sidebar from shrinking away and preserve horizontal tab scrolling.
- Use token-sized tab touch targets and remove duplicate breakpoint rules that could override the canonical mobile layout.
- Cover mobile tab rendering, section switching, and CSS breakpoint invariants in dashboard tests.

Files changed:
 packages/dashboard/app/components/ScriptsModal.css |  53 ++-------
 .../components/__tests__/GitManagerModal.test.tsx  | 118 +++++++++++++++++++--
 .../__tests__/core-modals-mobile.test.tsx          |   7 +-
 3 files changed, 126 insertions(+), 52 deletions(-)

Fusion-Task-Id: FN-6900

Fusion-Task-Lineage: e9506053-c80d-49ea-bb80-34db51dd50f4
2026-06-21 21:41:19 -07:00
gsxdsm
26c8d960a2 FN-6893: add editable built-in workflow prompts
Enable project-scoped prompt overrides for built-in workflows without allowing structural edits.

- Add workflow prompt override storage, normalization, and IR overlay support for prompt and gate nodes.
- Expose dashboard API routes and Workflow Node Editor controls to edit or reset built-in prompts.
- Cover override persistence, route behavior, editor flows, and engine workflow resolution with tests.
- Document editable built-in prompts and reset-to-default behavior.

Files changed:
 docs/dashboard-guide.md                            |   2 +-
 docs/settings-reference.md                         |   2 +
 docs/workflow-steps.md                             |  20 ++-
 .../__tests__/workflow-definition-store.test.ts    |  25 +++
 .../workflow-prompt-overrides-store.test.ts        | 190 ++++++++++++++++++++
 .../__tests__/workflow-prompt-overrides.test.ts    |  58 +++++++
 packages/core/src/db.ts                            |  35 +++-
 packages/core/src/index.ts                         |   7 +
 packages/core/src/store.ts                         |  97 ++++++++++-
 packages/core/src/workflow-ir-resolver.ts          |  21 ++-
 packages/core/src/workflow-prompt-overrides.ts     |  65 +++++++
 packages/dashboard/app/api/legacy.ts               |  34 ++++
 .../app/components/WorkflowNodeEditor.css          |  35 ++++
 .../app/components/WorkflowNodeEditor.tsx          | 191 ++++++++++++++++++++-
 .../__tests__/WorkflowNodeEditor.test.tsx          | 136 ++++++++++++++-
 .../src/__tests__/workflow-routes.test.ts          |  59 +++++++
 .../src/routes/register-workflow-routes.ts         |  86 +++++++++-
 .../workflow-prompt-overrides-resolution.test.ts   |  61 +++++++
 packages/i18n/locales/en/app.json                  |  14 +-
 packages/i18n/locales/es/app.json                  |  14 +-
 packages/i18n/locales/fr/app.json                  |  14 +-
 packages/i18n/locales/ko/app.json                  |  14 +-
 packages/i18n/locales/zh-CN/app.json               |  14 +-
 packages/i18n/locales/zh-TW/app.json               |  14 +-
 24 files changed, 1168 insertions(+), 40 deletions(-)

Fusion-Task-Id: FN-6893

Fusion-Task-Lineage: 961eb119-32e1-44c3-9b51-6edd982fa565
2026-06-21 21:23:41 -07:00
gsxdsm
5b33da9268 FN-6882: move toolbar tools into right dock
Move desktop toolbar tools into the right dock while keeping Files as the inline dock view.

- Remove desktop toolbar buttons and overflow menu entries for Activity, Activity Log, GitHub Import, Git Manager, Files, and Automation.
- Convert right-dock registry entries into launcher actions for modal tools and keep Files/plugin entries as expandable inline views.
- Update right-dock selection, expansion, documentation, tests, and release notes for the new tools rail behavior.

Files changed:
 .changeset/fn-6882-toolbar-to-right-sidebar.md     |   5 +
 docs/dashboard-guide.md                            |  10 +-
 packages/dashboard/app/App.tsx                     |   2 +-
 .../app/__tests__/tablet-header-controls.test.tsx  |   6 +-
 packages/dashboard/app/components/Header.css       |   3 -
 packages/dashboard/app/components/Header.tsx       | 115 +-----------
 packages/dashboard/app/components/RightDock.tsx    |  50 +++--
 .../app/components/RightDockExpandModal.tsx        |  10 +-
 .../app/components/__tests__/Header.test.tsx       | 112 +++++------
 .../app/components/__tests__/RightDock.test.tsx    | 189 +++++++++++--------
 .../__tests__/overflowViewRegistry.test.tsx        |  73 +++++---
 .../app/components/overflowViewRegistry.tsx        | 204 ++++++---------------
 .../app/components/useRightDockController.tsx      |  10 +
 13 files changed, 323 insertions(+), 466 deletions(-)

Fusion-Task-Id: FN-6882

Fusion-Task-Lineage: 4b423b3e-ff82-41d4-83f9-7cff23361e81
2026-06-21 20:55:28 -07:00
gsxdsm
beaf52bb50 FN-6898: stabilize ci-status plugin tests
Rescue the ci-status plugin test suite by making CI polling deterministic and network-free.

- Stub global fetch for the full suite so refresh handlers and interval polls cannot reach ci.example.com.
- Share the mock task fixture across refresh and task-move tests.
- Cover tracked-branch and empty-branch refresh paths plus interval polling behavior.

Files changed:
 .../src/__tests__/index.test.ts                    | 145 ++++++++++++++++-----
 1 file changed, 115 insertions(+), 30 deletions(-)

Fusion-Task-Id: FN-6898

Fusion-Task-Lineage: 3758d995-bda9-4ab9-add7-e6a3f710dc6f
2026-06-21 20:40:59 -07:00
gsxdsm
4fec139927 FN-6881: move stash recovery into Git Manager
Move stash recovery into the Git Manager while retiring the standalone dashboard route.

- Add a Recovery section to Git Manager that hosts the existing StashRecoveryView.
- Remove stash recovery from top-level, overflow, mobile, and lazy-loaded view registries.
- Preserve orphaned-stash counts on Git Manager entry points and migrate saved stash-recovery routes back to Board.
- Update dashboard docs, lazy-load inventory, tests, and add a published package changeset.

Files changed:
 .changeset/fn-6881-stash-recovery-git-manager.md   |  5 +++
 AGENTS.md                                          |  3 +-
 docs/dashboard-guide.md                            |  9 ++--
 packages/dashboard/app/App.tsx                     | 13 ------
 .../app/__tests__/lazy-loaded-views-docs.test.ts   | 11 ++---
 .../dashboard/app/components/GitManagerModal.tsx   | 19 +++++++-
 packages/dashboard/app/components/Header.css       |  9 ++++
 packages/dashboard/app/components/Header.tsx       | 22 +++-------
 .../dashboard/app/components/LeftSidebarNav.tsx    |  4 --
 packages/dashboard/app/components/MobileNavBar.tsx | 16 +------
 .../components/__tests__/GitManagerModal.test.tsx  | 51 ++++++++++++++++++++++
 .../app/components/__tests__/Header.test.tsx       | 21 +++++++++
 .../components/__tests__/LeftSidebarNav.test.tsx   | 10 ++---
 .../app/components/__tests__/MobileNavBar.test.tsx | 10 +++++
 .../app/components/__tests__/RightDock.test.tsx    |  4 +-
 .../__tests__/overflowViewRegistry.test.tsx        |  3 +-
 .../app/components/overflowViewRegistry.tsx        | 10 -----
 packages/dashboard/app/hooks/__tests__/useViewState.test.ts       | 28 ++++++++++++
 packages/dashboard/app/hooks/useViewState.ts       | 19 +++++++-
 packages/dashboard/src/view-chunk-manifest.ts      |  1 -
 20 files changed, 184 insertions(+), 84 deletions(-)

Fusion-Task-Id: FN-6881

Fusion-Task-Lineage: 467d34ec-8a6a-46db-8eb8-cb0216c031da
2026-06-21 20:28:33 -07:00
gsxdsm
15d427bc11 FN-6886: move planning mode into sidebar view
Planning Mode now opens as a top-level embedded dashboard view instead of a header modal affordance.

- Add Planning to the left sidebar navigation and persisted task-view registry.
- Mount PlanningModeModal as an embedded main-content view while preserving initial-plan and resume-session payloads.
- Remove legacy desktop and compact header planning buttons so compact layouts have one canonical MobileNavBar planning entry.
- Update dashboard navigation tests and add a published package patch changeset.

Files changed:
 .changeset/fn-6886-planning-sidebar-view.md        |   5 +
 packages/dashboard/app/App.tsx                     |  47 ++++++--
 .../app/__tests__/tablet-header-controls.test.tsx  |  16 +--
 packages/dashboard/app/components/AppModals.tsx    |  20 ----
 packages/dashboard/app/components/Header.tsx       |  50 +-------
 .../dashboard/app/components/LeftSidebarNav.tsx    |  14 +++
 .../dashboard/app/components/PlanningModeModal.css |  23 ++++
 .../dashboard/app/components/PlanningModeModal.tsx |  29 +++--
 .../app/components/__tests__/App.test.tsx          |  57 ++++-----
 .../app/components/__tests__/Header.test.tsx       | 132 +++------------------
 .../components/__tests__/LeftSidebarNav.test.tsx   |  10 ++
 .../PlanningModeModal.planning-flow.test.tsx       |  25 ++++
 packages/dashboard/app/hooks/useModalManager.ts    |   5 +-
 packages/dashboard/app/hooks/useViewState.ts       |   7 +-
 14 files changed, 188 insertions(+), 252 deletions(-)

Fusion-Task-Id: FN-6886
Fusion-Task-Lineage: 18111cc7-ef2e-40a0-8272-220c01390ae2
2026-06-21 19:52:16 -07:00
gsxdsm
2db99ec6fd FN-6894: widen workflow switcher menus
Workflow switcher dropdowns now size open menus to fit long workflow names without widening the collapsed trigger.

- Add menu width calculation that combines measured workflow names, option decorations, trigger width, and viewport bounds.
- Measure option names with a canvas when opening/repositioning the dropdown.
- Cover long-name, viewport clamp, trigger sizing, and CSS overflow behavior in WorkflowSwitcher tests.
- Document the open-listbox sizing behavior in the dashboard guide.

Files changed:
 docs/dashboard-guide.md                            |  2 +-
 .../dashboard/app/components/WorkflowSwitcher.tsx  | 49 +++++++++++++-
 .../components/__tests__/WorkflowSwitcher.test.tsx | 78 +++++++++++++++++++++-
 3 files changed, 123 insertions(+), 6 deletions(-)

Fusion-Task-Id: FN-6894

Fusion-Task-Lineage: 3f2f8129-3f85-484d-9c0f-b6ebe673b6a9
2026-06-21 19:23:51 -07:00
gsxdsm
9ce9f74b5c FN-6880: add sidebar New Task action
Add a persistent New Task entry to the left sidebar so task creation is available from project views.

- Wire the left sidebar to the existing New Task dialog trigger from App.
- Render an accessible, token-styled New Task CTA above sidebar navigation with collapsed rail support.
- Cover the new sidebar affordance behavior and document it in the dashboard guide.

Files changed:
 docs/dashboard-guide.md                            |  2 +-
 packages/dashboard/app/App.tsx                     |  1 +
 .../dashboard/app/components/LeftSidebarNav.css    | 27 +++++++
 .../dashboard/app/components/LeftSidebarNav.tsx    | 18 +++++
 .../components/__tests__/LeftSidebarNav.test.tsx   | 83 ++++++++++++++++++++++
 5 files changed, 130 insertions(+), 1 deletion(-)

Fusion-Task-Id: FN-6880

Fusion-Task-Lineage: 7d9cffd4-c216-4250-9615-51e7c16438c2
2026-06-21 19:17:06 -07:00
gsxdsm
e77f785fbc FN-6890: rename documents navigation to artifacts
Rename the user-facing Documents destination to Artifacts across dashboard navigation.

- Update header, sidebar, mobile, right-dock, and view title labels to say Artifacts while preserving the existing documents route identifiers.
- Refresh localized app strings and generated i18n types for the renamed label.
- Adjust dashboard and i18n coverage tests to assert the Artifacts label across navigation surfaces.

Files changed:
 docs/dashboard-guide.md                            | 10 ++---
 .../app/__tests__/tablet-header-controls.test.tsx  | 12 +++---
 .../dashboard/app/components/DocumentsView.tsx     |  3 +-
 packages/dashboard/app/components/Header.tsx       | 10 +++--
 .../dashboard/app/components/LeftSidebarNav.tsx    |  6 ++-
 packages/dashboard/app/components/MobileNavBar.tsx |  3 +-
 .../components/__tests__/DocumentsView.test.tsx    |  1 +
 .../app/components/__tests__/Header.test.tsx       | 10 ++---
 .../components/__tests__/LeftSidebarNav.test.tsx   |  2 +
 .../app/components/__tests__/MobileNavBar.test.tsx | 11 ++++++
 .../app/components/__tests__/RightDock.test.tsx    |  3 +-
 .../__tests__/overflowViewRegistry.test.tsx        |  6 ++-
 .../app/components/overflowViewRegistry.tsx        |  6 ++-
 packages/i18n/locales/en/app.json                  |  6 +--
 packages/i18n/locales/es/app.json                  |  6 +--
 packages/i18n/locales/fr/app.json                  |  6 +--
 packages/i18n/locales/ko/app.json                  |  6 +--
 packages/i18n/locales/zh-CN/app.json               |  6 +--
 packages/i18n/locales/zh-TW/app.json               |  6 +--
 .../i18n/src/__tests__/i18n-gate-coverage.test.ts  | 24 ++++++++++++
 packages/i18n/src/resources.d.ts                   | 45 +++++++++++++++++++---
 21 files changed, 139 insertions(+), 49 deletions(-)

Fusion-Task-Id: FN-6890
Fusion-Task-Lineage: 7a50dc24-3278-4cdf-8e4c-fd8cc5c3c40d
2026-06-21 18:55:36 -07:00