- 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>
- 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>
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
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
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
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
Expose execution-mode selection when creating tasks from the New Task dialog.
- Add Fast/standard execution-mode state to the New Task modal and pass Fast through create payloads.
- Treat Fast as dirty state and reset the selector after create or discard flows.
- Cover the More options affordance, Fast payload inclusion, Standard payload omission, and reset behavior.
Files changed:
packages/dashboard/app/components/NewTaskModal.tsx | 15 ++++-
.../app/components/__tests__/NewTaskModal.test.tsx | 69 ++++++++++++++++++++++
2 files changed, 82 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6895
Fusion-Task-Lineage: f52dc78f-7ea0-4539-b256-4354f7b35c25
Expose the board quick-add planning handoffs from the New Task dialog.
- Wire New Task modal actions through AppModals to open Planning Mode and Subtask Breakdown.
- Reset and close the dialog without discard confirmation when handing off the typed description.
- Cover the dialog affordance parity, trimmed handoff payloads, and disabled empty-description state.
- Document the Plan and Subtask quick-add buttons in the dashboard guide.
Files changed:
docs/dashboard-guide.md | 2 +
packages/dashboard/app/App.tsx | 2 +
packages/dashboard/app/components/AppModals.tsx | 6 ++
packages/dashboard/app/components/NewTaskModal.tsx | 41 ++++++++----
.../app/components/__tests__/NewTaskModal.test.tsx | 77 +++++++++++++++++++++-
5 files changed, 113 insertions(+), 15 deletions(-)
Fusion-Task-Id: FN-6879
Fusion-Task-Lineage: 9e4b499d-8175-4172-afeb-fe70845241c0
Keep auxiliary Secrets and Todos navigation anchored to the right dock instead of the left sidebar.\n\n- Remove Secrets and Todos entries and unused icons from LeftSidebarNav.\n- Update sidebar tests to assert those shortcuts are omitted while other routes still work.\n- Refresh dashboard navigation docs for right-dock Todos and Secrets placement.\n\nFiles changed:\n docs/dashboard-guide.md | 6 +++---\n packages/dashboard/app/components/LeftSidebarNav.tsx | 11 ++++-------\n .../app/components/__tests__/LeftSidebarNav.test.tsx | 8 +++-----\n 3 files changed, 10 insertions(+), 15 deletions(-)
Fusion-Task-Id: FN-6889
Fusion-Task-Lineage: de135281-a9a8-4583-8251-e78a6b28122e
Restore Command Center Activity line charts so their plotted geometry fills the rendered chart box without distorting point markers.
- Measure the rendered SVG dimensions and use them as the line chart viewBox so paths span wide desktop and mobile layouts.
- Preserve safe bounded geometry for zero, single-point, NaN, and resized chart states.
- Update Command Center chart tests and dashboard rendering guidance for the fill-width/circular-marker invariant.
Files changed:
docs/dashboard-guide.md | 2 +-
.../command-center/__tests__/charts.test.tsx | 71 ++++++++++++++---
.../command-center/areas/__tests__/areas.test.tsx | 35 ++++++---
.../components/command-center/charts/LineChart.tsx | 89 ++++++++++++++++++----
.../components/command-center/charts/charts.css | 4 +-
5 files changed, 164 insertions(+), 37 deletions(-)
Fusion-Task-Id: FN-6883
Fusion-Task-Lineage: 71c19a62-1a76-455d-92cb-9c22d0613881
Document the Command Center pricing contract for maintainers and users.
- Explain that estimated token costs are derived at read time from the maintained pricing table and are not persisted billing truth.\n- Document pricingAsOf, stale low-confidence, unknown-model unavailable, and provider coverage maintenance expectations.\n- Add a documentation contract test to keep the dashboard and architecture guides aligned.
Files changed:\n docs/architecture.md | 2 ++\n docs/dashboard-guide.md | 3 +-\n .../__tests__/command-center-pricing-docs.test.ts | 35 ++++++++++++++++++++++\n 3 files changed, 39 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-6874
Fusion-Task-Lineage: 04606ae1-4870-479a-afb6-8a24675fe66b
Add a tablet and desktop right dock for overflow dashboard views while preserving mobile navigation behavior.
- Route the non-mobile More views affordance into a resizable right dock with expand-to-modal support.
- Add an overflow view registry and controller to render auxiliary dashboard views in the dock.
- Make the right dock default-on in settings alongside the default left sidebar, with explicit opt-outs for legacy tests.
- Cover right dock behavior, navigation fallbacks, and overflow registry entries with focused tests and docs.
Files changed:
docs/dashboard-guide.md | 10 +
packages/dashboard/app/App.tsx | 15 +-
.../mobile-feature-access-regression.test.tsx | 78 +++++
packages/dashboard/app/components/Header.tsx | 66 ++++-
packages/dashboard/app/components/RightDock.css | 165 +++++++++++
packages/dashboard/app/components/RightDock.tsx | 234 +++++++++++++++
.../app/components/RightDockExpandModal.tsx | 70 +++++
.../dashboard/app/components/SettingsModal.tsx | 17 +-
.../app/components/__tests__/Header.test.tsx | 70 +++++
.../app/components/__tests__/RightDock.test.tsx | 202 +++++++++++++
.../__tests__/navigation-history.test.tsx | 2 +-
.../__tests__/overflowViewRegistry.test.tsx | 67 +++++
.../app/components/overflowViewRegistry.tsx | 314 +++++++++++++++++++++
.../app/components/useRightDockController.tsx | 126 +++++++++
14 files changed, 1408 insertions(+), 28 deletions(-)
Fusion-Task-Id: FN-6845
Fusion-Task-Lineage: 3cb04264-cf7a-43e1-b774-678ff3cb325b
Prevent task chat from showing idle guidance while planner sessions are actively working.
- Treat triage/planning task states as active steering sessions when they are not queued, paused, or blocked.\n- Keep queued, awaiting, failed, and paused states on idle guidance even in active columns.\n- Cover inline and expanded planning chat surfaces across empty, populated, and loading transcripts.\n- Update the dashboard guide to document planning and live session bridge steering behavior.\n\nFiles changed:\n docs/dashboard-guide.md | 2 +-\n packages/dashboard/app/components/TaskChatTab.tsx | 24 +++++++---\n .../app/components/__tests__/TaskChatTab.test.tsx | 51 +++++++++++++++++++---\n 3 files changed, 66 insertions(+), 11 deletions(-)
Fusion-Task-Id: FN-6866
Fusion-Task-Lineage: 48c57515-40fa-40c1-ae3b-fec0690bba75
Clarify that desktop CLI launches with the local AI engine by default.\n\n- Document fn desktop as engine-on by default, matching dashboard startup behavior.\n- Clarify --paused keeps the engine process running with automation disabled.\n- Note that desktop has no --no-engine mode and update desktop README launch steps.\n\nFiles changed:\n docs/cli-reference.md | 12 ++++++++++--\n packages/desktop/README.md | 15 +++++++++++----\n 2 files changed, 21 insertions(+), 6 deletions(-)
Fusion-Task-Id: FN-6852
Fusion-Task-Lineage: 3ae2ea10-ede1-4cc5-a3b5-71f692b2a9ac
Add explicit OpenAI Codex pricing so token analytics can estimate Codex run costs.
- Add openai-codex pricing entries for GPT-5 Codex variants and codex-mini-latest.
- Bump the pricing verification date and document why Codex keys must use the openai-codex provider.
- Cover Codex pricing and lookup behavior in model-pricing tests.
- Add a changeset for the published Fusion package.
Files changed:
.changeset/fn-6869-codex-pricing.md | 7 ++++
packages/core/src/__tests__/model-pricing.test.ts | 37 ++++++++++++++++++-
packages/core/src/model-pricing.ts | 44 ++++++++++++++++++++++-
3 files changed, 86 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6869
Fusion-Task-Lineage: 4bf119db-0401-4b18-b389-4a762e665cfc
Raise the footer engine control sliders to support higher concurrency without hiding persisted values.
- Increase max tasks, max triage, and max worktree slider baselines to 50.
- Preserve value-aware slider maxima for persisted settings above the new baseline.
- Add coverage for in-range 50 limits, above-range persisted values, and saving a value of 50.
Files changed:
.../dashboard/app/components/EngineControlMenu.tsx | 9 ++--
.../__tests__/EngineControlMenu.test.tsx | 50 +++++++++++++++++++---
2 files changed, 49 insertions(+), 10 deletions(-)
Fusion-Task-Id: FN-6863
Fusion-Task-Lineage: f42373fc-322b-4d20-9b8b-2d0c63254e79
Make dashboard toast status text readable across themed dark and light modes.
- Add toast text tokens and Shadcn-specific success/info color overrides that preserve contrast.
- Cover success, error, and info toast contrast across all Shadcn variants and mobile toast styling.
- Add a patch changeset for the published Fusion package.
Files changed:
.changeset/fn-6858-toast-contrast.md | 5 +
.../app/__tests__/toast-theme-contrast.test.ts | 320 +++++++++++++++++++++
packages/dashboard/app/styles.css | 44 ++-
3 files changed, 368 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-6858
Fusion-Task-Lineage: 1c06e346-9269-4965-a3ae-4ac02b43188e
Restores touch-friendly horizontal scrolling for the Git Manager mobile section toolbar.
- Opt the Git Manager mobile sidebar back into horizontal touch panning and momentum scrolling.
- Prevent Git Manager mobile nav items from shrinking so every section remains reachable.
- Add mobile CSS coverage for the Git Manager toolbar scroll contract.
Files changed:
packages/dashboard/app/components/ScriptsModal.css | 12 ++++++++++++
.../components/__tests__/core-modals-mobile.test.tsx | 19 +++++++++++++++++++
2 files changed, 31 insertions(+)
Fusion-Task-Id: FN-6857
Fusion-Task-Lineage: 8967bdd2-e830-4f2d-8cde-c96ccc80d67a
Command Center scheduler controls now expose a default slider ceiling of 50 without hiding higher persisted values.
- Set max concurrent tasks, max triage concurrency, and max worktrees sliders to default to a maximum of 50.
- Preserve dynamic slider maxima for persisted settings above 50 so existing out-of-range values remain visible.
- Add regression coverage for persisting 50, in-range slider maxima, and above-range readouts.
Files changed:
.../command-center/CommandCenterControls.tsx | 9 ++-
.../__tests__/CommandCenterControls.test.tsx | 71 +++++++++++++++++++---
2 files changed, 67 insertions(+), 13 deletions(-)
Fusion-Task-Id: FN-6855
Fusion-Task-Lineage: 780d5322-5f3c-4503-9ec7-17716e966961
Update the pi SDK dependency family across Fusion packages and record a patch changeset.
- Bump @earendil-works/pi-ai and @earendil-works/pi-coding-agent to ^0.79.9 where used by CLI, dashboard, and engine packages.
- Refresh pnpm-lock.yaml to resolve the updated pi SDK dependency graph.
- Add a patch changeset for the published @runfusion/fusion package.
Files changed:
.changeset/fn-6853-pi-sdk-bump.md | 5 +
packages/cli/package.json | 4 +-
packages/dashboard/package.json | 2 +-
packages/engine/package.json | 4 +-
pnpm-lock.yaml | 285 +++++++++++++++++++++++++++-----------
5 files changed, 214 insertions(+), 86 deletions(-)
Fusion-Task-Id: FN-6853
Fusion-Task-Lineage: bc2dba95-b8c2-48d1-855d-847e6eec9606