gsxdsm
f16b038fab
refactor(workflow): add workflow work-item store slice
2026-06-09 12:41:29 -07:00
gsxdsm
8d7fc1a6c5
Merge pull request #1562 from Runfusion/feature/mobile-workflow
...
feat: redesign mobile workflow editor
2026-06-09 10:32:08 -07:00
gsxdsm
7a9d2b0f30
fix(FN-6086): preserve merge-queued review tasks
...
Treat persisted merge queue ownership as an active merge-lane owner when hydrating in-review stall state and when self-healing scans for ghost, stalled, or completion-handoff-limbo tasks.
Also clear false completion-handoff exhaustion for tasks that are still owned by the merge queue so previously poisoned review tasks can continue merging.
Fusion-Task-Id: FN-6086
2026-06-09 09:41:28 -07:00
gsxdsm
8d24fa9b72
fix: address mobile workflow PR feedback
2026-06-09 09:16:59 -07:00
gsxdsm
ccd44b77fe
fix(FN-6085): canonicalize merge worktree boundaries
2026-06-09 08:51:48 -07:00
gsxdsm
5f5852db8f
fix(FN-6085): accept canonical merge worktree paths
2026-06-09 08:43:20 -07:00
gsxdsm
c1a723134e
feat: redesign mobile workflow editor
2026-06-09 08:30:35 -07:00
gsxdsm
85c3420f93
fix(FN-6079): resolve task tools from merge worktrees
2026-06-09 08:19:41 -07:00
gsxdsm
a2f4bb14c0
FN-6080: remove workflow selector collapse controls
...
Always render the workflow selector expanded across the dashboard.
- remove collapsible workflow selector props, state, icons, and toggle styles
- stop InlineCreateCard from passing collapse persistence options
- delete project storage support and tests for collapsed workflow selector state
- add a patch changeset for the published CLI package
Files changed:
.changeset/fn-6080-removal.md | 5 ++
.../dashboard/app/components/InlineCreateCard.tsx | 3 -
.../dashboard/app/components/WorkflowSelector.css | 14 +----
.../dashboard/app/components/WorkflowSelector.tsx | 65 +--------------------
.../components/__tests__/InlineCreateCard.test.tsx | 50 ----------------
.../components/__tests__/WorkflowSelector.test.tsx | 68 ----------------------
.../app/utils/__tests__/projectStorage.test.ts | 3 +-
packages/dashboard/app/utils/projectStorage.ts | 1 -
8 files changed, 8 insertions(+), 201 deletions(-)
Fusion-Task-Id: FN-6080
Fusion-Task-Lineage: cca26111-9e20-47d0-8473-d18a3b488ae1
2026-06-09 08:14:16 -07:00
gsxdsm
a53330786e
fix(FN-6082): restore workflow overlap blocking
...
Workflow-column hold releases now participate in active file-scope leases before moving tasks into in-progress, preserving overlapBlockedBy card badges and scheduler blocking.
Fusion-Task-Id: FN-6082
2026-06-09 08:02:56 -07:00
gsxdsm
cd8126d6a4
fix(FN-6084): honor worktree limit for hold releases
...
Workflow-column hold releases now reserve against the active worktree count before moving tasks into in-progress, preventing restart bursts from exceeding maxWorktrees.
Fusion-Task-Id: FN-6084
2026-06-09 07:55:45 -07:00
gsxdsm
4b4c32dc18
FN-6063: enforce workflow scheduling capacity after hold release
...
Keep scheduler capacity checks aligned with fresh task state during workflow dispatch.
- bypass the startup slim-list memo when scheduling and after workflow hold release sweeps
- clear the startup slim-list memo when task.json writes move tasks between columns
- treat capacity-exhausted moveTask rejections as queued dispatches, log the reason, and cover the behavior with scheduler/store tests
- add a patch changeset for the published CLI package
Files changed:
.changeset/workflow-capacity-scheduler.md | 5 +++
packages/core/src/__tests__/store-movement.test.ts | 15 ++++++++
packages/core/src/store.ts | 1 +
packages/engine/src/__tests__/scheduler.test.ts | 40 ++++++++++++++++++++--
packages/engine/src/scheduler.ts | 25 ++++++++++----
5 files changed, 77 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-6063
Fusion-Task-Lineage: 80ddc0e7-f78d-483c-886a-27c4c07bde7a
2026-06-09 02:03:22 -07:00
gsxdsm
13c6d96fe1
FN-6031: add workflow notification nodes
...
Add workflow notify nodes with templated notification dispatch support.
- add notify node support to workflow IR, engine handlers, and executor wiring
- expose notify node configuration and summaries in the dashboard editor and node metadata
- add regression tests and a published changeset, plus workflow/settings documentation updates
Files changed:
.changeset/fn-6031-notification-node.md | 5 +
docs/settings-reference.md | 6 +-
docs/workflow-steps.md | 10 +-
packages/core/src/__tests__/workflow-ir.test.ts | 59 ++++++++++
packages/core/src/types.ts | 4 +-
packages/core/src/workflow-ir-types.ts | 4 +-
packages/core/src/workflow-ir.ts | 19 +++
packages/dashboard/app/components/WorkflowNodeEditor.tsx | 76 +++++++++++-
packages/dashboard/app/components/__tests__/WorkflowNodeEditor.test.tsx | 61 ++++++++++
packages/dashboard/app/components/__tests__/node-summary.test.ts | 29 +++++
packages/dashboard/app/components/__tests__/workflow-flow-mapping.test.ts | 37 ++++++
packages/dashboard/app/components/nodes/WorkflowNodeTypes.tsx | 7 +-
packages/dashboard/app/components/nodes/node-summary.ts | 5 +
packages/engine/src/__tests__/workflow-node-handlers-notify.test.ts | 131 +++++++++++++++++++++
packages/engine/src/executor.ts | 2 +
packages/engine/src/notification/ntfy-provider.ts | 11 ++
packages/engine/src/notification/webhook-provider.ts | 6 +-
packages/engine/src/workflow-graph-executor.ts | 4 +
packages/engine/src/workflow-graph-task-runner.ts | 4 +
packages/engine/src/workflow-node-handlers.ts | 93 ++++++++++++++-
20 files changed, 560 insertions(+), 13 deletions(-)
Fusion-Task-Id: FN-6031
Fusion-Task-Lineage: ff5c91e2-3872-4264-9c18-5d9e11628f13
2026-06-09 01:57:16 -07:00
gsxdsm
40d05c8139
fix(FN-6035): address workflow projection review feedback
2026-06-09 00:01:00 -07:00
gsxdsm
83565a535a
fix(FN-6035): project workflow dispatch metadata
2026-06-08 23:38:32 -07:00
gsxdsm
f7f8b86989
Merge pull request #1536 from Runfusion/feature/workflow-mapping
...
feat(FN-6035): route execution through workflow primitives
2026-06-08 22:26:42 -07:00
gsxdsm
3ed9b6ef24
Merge pull request #1535 from Runfusion/feature/stuck-tasks
...
fix(FN-6043): recover stuck task processing
2026-06-08 20:48:36 -07:00
gsxdsm
8f42098cc3
feat(FN-6035): route execution through workflow primitives
...
Fusion-Task-Id: FN-6035
2026-06-08 19:13:14 -07:00
gsxdsm
aa8bd3dc92
fix(FN-6043): recover stuck task processing
...
Fusion-Task-Id: FN-6043
2026-06-08 18:14:48 -07:00
gsxdsm
8bc3d7b0a5
FN-6042: raise dependency security floors
...
Harden dependency floors and update the Vitest toolchain to patched releases.
- upgrade workspace vitest and @vitest/coverage-v8 dependencies to the 4.1 line across packages and plugins
- pin transitive protobufjs via pnpm overrides and lockfile updates to patched versions
- adapt Vitest configs, engine test helpers, and security-floor coverage for the new dependency baselines
- add the published CLI changeset and related workspace/package metadata updates included in the task branch
Files changed:
.changeset/fn-6042-security-dependencies.md | 5 +
AGENTS.md | 4 +
Dockerfile | 3 +
docs/PLUGIN_AUTHORING.md | 2 -
package.json | 3 +-
packages/cli/package.json | 4 +-
packages/cli/vitest.config.ts | 2 +-
packages/core/package.json | 4 +-
packages/core/vitest.config.ts | 2 +-
packages/dashboard/app/test/mockApi.ts | 4 +-
packages/dashboard/package.json | 4 +-
packages/dashboard/vitest.config.ts | 2 +-
packages/desktop/package.json | 4 +-
packages/desktop/vitest.config.ts | 2 +-
packages/droid-cli/package.json | 2 +-
packages/droid-cli/vitest.config.ts | 2 +-
packages/engine/package.json | 4 +-
.../engine/src/__tests__/executor-test-helpers.ts | 29 +-
.../engine/src/__tests__/gridlock-detector.test.ts | 5 +-
.../src/__tests__/heartbeat-scheduler.test.ts | 3 +-
packages/engine/src/__tests__/scheduler.test.ts | 24 +-
packages/engine/src/__tests__/self-healing.test.ts | 5 +
packages/engine/tsconfig.json | 3 +-
packages/engine/vitest.config.ts | 10 +-
packages/i18n/package.json | 2 +-
packages/i18n/vitest.config.ts | 7 +
packages/mobile/package.json | 2 +-
packages/mobile/vitest.config.ts | 2 +-
packages/pi-claude-cli/package.json | 2 +-
packages/pi-claude-cli/vitest.config.ts | 2 +-
packages/pi-llama-cpp/package.json | 2 +-
packages/pi-llama-cpp/vitest.config.ts | 2 +-
packages/plugin-sdk/package.json | 2 +-
packages/plugin-sdk/vitest.config.ts | 2 +-
.../examples/fusion-plugin-auto-label/package.json | 2 +-
.../fusion-plugin-auto-label/vitest.config.ts | 2 +-
.../examples/fusion-plugin-ci-status/package.json | 2 +-
.../fusion-plugin-ci-status/vitest.config.ts | 2 +-
.../fusion-plugin-notification/package.json | 2 +-
.../fusion-plugin-notification/vitest.config.ts | 2 +-
.../fusion-plugin-settings-demo/package.json | 2 +-
.../fusion-plugin-settings-demo/vitest.config.ts | 2 +-
plugins/fusion-plugin-acp-runtime/package.json | 2 +-
plugins/fusion-plugin-acp-runtime/vitest.config.ts | 2 +-
plugins/fusion-plugin-agent-browser/package.json | 2 +-
.../fusion-plugin-agent-browser/vitest.config.ts | 2 +-
.../fusion-plugin-cli-printing-press/package.json | 2 +-
.../vitest.config.ts | 2 +-
.../package.json | 2 +-
.../src/__tests__/orchestrator-live-output.test.ts | 4 +-
.../vitest.config.ts | 2 +-
plugins/fusion-plugin-cursor-runtime/package.json | 4 +-
.../fusion-plugin-dependency-graph/package.json | 4 +-
.../vitest.config.ts | 2 +-
plugins/fusion-plugin-droid-runtime/package.json | 2 +-
.../fusion-plugin-droid-runtime/vitest.config.ts | 2 +-
plugins/fusion-plugin-even-cards/package.json | 2 +-
plugins/fusion-plugin-even-cards/vitest.config.ts | 2 +-
.../package.json | 2 +-
.../vitest.config.ts | 2 +-
plugins/fusion-plugin-hermes-runtime/package.json | 2 +-
.../fusion-plugin-hermes-runtime/vitest.config.ts | 2 +-
.../fusion-plugin-openclaw-runtime/package.json | 2 +-
.../vitest.config.ts | 2 +-
.../fusion-plugin-paperclip-runtime/package.json | 2 +-
.../vitest.config.ts | 2 +-
plugins/fusion-plugin-reports/package.json | 2 +-
.../src/__tests__/review-panel.test.ts | 6 +-
plugins/fusion-plugin-reports/vitest.config.ts | 2 +-
plugins/fusion-plugin-roadmap/package.json | 2 +-
plugins/fusion-plugin-roadmap/vitest.config.ts | 2 +-
plugins/fusion-plugin-whatsapp-chat/package.json | 2 +-
.../fusion-plugin-whatsapp-chat/vitest.config.ts | 2 +-
pnpm-lock.yaml | 626 ++++++++-------------
.../__tests__/dependency-security-floor.test.mjs | 95 ++++
75 files changed, 475 insertions(+), 491 deletions(-)
Fusion-Task-Id: FN-6042
Fusion-Task-Lineage: fff6a1cb-8937-435c-9a91-b7c7a59cc80e
2026-06-08 15:19:27 -07:00
gsxdsm
4ffd0a2dde
FN-6030: fix workflow terminal notifications
...
Ensure merged workflow tasks still emit the expected terminal notifications.
- emit task:merged when PR-driven workflow merges move tasks to done
- send merged notifications for merge-backed done transitions and suppress duplicates
- add regression coverage, a published changeset, and reconcile overlapping docs/test updates
Files changed:
.../fn-6030-workflow-terminal-notifications.md | 5 +
docs/storage.md | 8 +-
.../core/src/__tests__/builtin-workflows.test.ts | 1 -
.../__tests__/store-pr-merged-transition.test.ts | 14 ++-
.../src/__tests__/workflow-ir-resolver.test.ts | 1 -
packages/core/src/store.ts | 14 ++-
.../settings/sections/ProjectModelsSection.tsx | 3 +-
.../engine/src/__tests__/merger-post-merge.test.ts | 9 +-
.../src/__tests__/notification-service.test.ts | 129 ++++++++++++++++++++-
.../__tests__/workflow-graph-task-runner.test.ts | 57 +++++++++
.../src/notification/notification-service.ts | 36 ++++--
11 files changed, 257 insertions(+), 20 deletions(-)
Fusion-Task-Id: FN-6030
Fusion-Task-Lineage: a991f765-0986-4541-ab38-ff476cf88d16
2026-06-08 13:54:17 -07:00
gsxdsm
9c84ba2e9f
FN-6035: align builtin coding workflow registry with canonical IR
...
Keep builtin:coding anchored to the canonical coding workflow IR across registry, resolver, and docs.
- add regression coverage that builtin:coding reuses BUILTIN_CODING_WORKFLOW_IR and preserves canonical columns, traits, settings, and enabled ordering
- extend workflow IR resolver/settings tests to pin canonical builtin fallback behavior for explicit and missing built-in selections
- document builtin:coding as the canonical default/fallback workflow and add a patch changeset for @runfusion/fusion
Files changed:
.../FN-6035-builtin-coding-workflow-parity.md | 5 ++
docs/workflow-steps.md | 4 +-
.../core/src/__tests__/builtin-workflows.test.ts | 65 +++++++++++++++++++++-
.../src/__tests__/workflow-ir-resolver.test.ts | 18 +++++-
.../src/__tests__/workflow-ir-settings.test.ts | 3 +
5 files changed, 92 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-6035
Fusion-Task-Lineage: ece0c8c6-810f-44b1-afb3-6545d3156459
2026-06-08 13:32:58 -07:00
gsxdsm
f77aa073c1
FN-6025: fix builtin coding auto-merge review flags
...
Restore the built-in coding workflow's in-review auto-merge metadata.
- switch builtin:coding to the authored v2 workflow IR so in-review retains merge-blocker and human-review traits
- add core regression coverage for builtin workflow resolution and column flag propagation
- extend dashboard board workflow route/payload tests to assert the in-review flags and payload contents
Files changed:
.changeset/fn-6025-auto-merge-toggle-flags.md | 5 +++++
packages/core/src/__tests__/builtin-workflows.test.ts | 19 +++++++++++++++++++
packages/core/src/__tests__/workflow-ir-resolver.test.ts | 14 ++++++++++++++
packages/core/src/builtin-workflows.ts | 21 ++++++++++++++-------
packages/dashboard/src/routes/__tests__/board-workflows-route.test.ts | 12 ++++++++++--
packages/dashboard/src/routes/__tests__/board-workflows.test.ts | 4 ++++
6 files changed, 66 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-6025
Fusion-Task-Lineage: 838ced1f-0fdf-413b-94a0-52ddb21d75c9
2026-06-08 13:32:58 -07:00
gsxdsm
40c0048f72
FN-6024: fix built-in workflow graph edges
...
Ensure built-in workflow editor graphs render connected, clickable edges above swimlane backgrounds.
- add explicit React Flow z-index layering so built-in workflow edges render above column bands while nodes stay interactive
- keep swimlane band backgrounds translucent and preserve failure/rework edge styling for read-only built-in workflows
- expand workflow editor tests to cover built-in/custom edge projection, handle rendering, and CSS edge visibility contracts
- document the built-in workflow editor edge behavior and add a patch changeset for @runfusion/fusion
Files changed:
.changeset/FN-6024-built-in-workflow-edges.md | 5 +
docs/dashboard-guide.md | 1 +
packages/dashboard/app/components/WorkflowNodeEditor.css | 2 +-
packages/dashboard/app/components/__tests__/WorkflowNodeEditor.css.test.ts | 25 ++++ -
packages/dashboard/app/components/__tests__/WorkflowNodeEditor.test.tsx | 106 ++++++++++++++++++++-
packages/dashboard/app/components/workflow-flow-mapping.ts | 15 ++-
6 files changed, 145 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-6024
Fusion-Task-Lineage: 7151d59b-b591-4642-95ca-93cc35198d41
2026-06-08 13:32:58 -07:00
gsxdsm
be0140c1b4
FN-6019: make dependency graph fill full dashboard width
...
Ensure the bundled dependency graph stretches to the full available dashboard width.
- add flex sizing and min-width rules so the dependency graph fills its parent container
- cover empty-state and populated mobile-width layouts with CSS-backed flex sizing assertions
- add a patch changeset for the published CLI bundle
Files changed:
.changeset/sharp-graphs-stretch.md | 5 +++
plugins/fusion-plugin-dependency-graph/src/DependencyGraph.css | 3 ++
plugins/fusion-plugin-dependency-graph/src/__tests__/DependencyGraph.test.tsx | 44 ++++++++++++++++++++++
3 files changed, 52 insertions(+)
Fusion-Task-Id: FN-6019
Fusion-Task-Lineage: a34b2bdd-d489-4e84-9604-e6265bce733a
2026-06-08 13:32:58 -07:00
gsxdsm
7d417a1f9c
fix(FN-0000): include compound engineering dashboard css
2026-06-08 12:55:52 -07:00
gsxdsm
60eb2ec995
FN-6018: allow stopping and deleting failed agents
...
Let failed agents be stopped and deleted consistently across the dashboard and agent lifecycle.
- allow agents in the error state to transition to paused and cover the new lifecycle path in core tests
- expose delete controls for failed agents in the agents list and mobile detail view with dashboard regression coverage
- update CLI stop-tool guidance and add a patch changeset for the published package
Files changed:
.changeset/fn-6018-agent-error-stop-delete.md | 7 ++++
packages/cli/src/__tests__/extension.test.ts | 16 ++++++++
packages/cli/src/extension.ts | 4 +-
packages/core/src/__tests__/agent-store.test.ts | 16 ++++++++
packages/core/src/types.ts | 2 +-
.../dashboard/app/components/AgentDetailView.tsx | 4 ++
packages/dashboard/app/components/AgentsView.tsx | 2 +-
.../__tests__/AgentDetailView.core.test.tsx | 24 +++++++++++-
.../app/components/__tests__/AgentsView.test.tsx | 44 +++++++++++++++++++++-
9 files changed, 112 insertions(+), 7 deletions(-)
Fusion-Task-Id: FN-6018
Fusion-Task-Lineage: 40159b9b-4d14-4f1e-9bd9-d018e54db7ee
2026-06-08 10:33:17 -07:00
gsxdsm
035946272d
Merge pull request #1509 from Runfusion/feature/workflow-loop-nodes
...
Show auto-merge toggle on workflow review columns
2026-06-08 08:15:41 -07:00
gsxdsm
c0fb923527
fix(FN-0000): address auto-merge review feedback
2026-06-08 07:57:11 -07:00
gsxdsm
bd5315fd4d
feat: allow disabling built-in workflows
2026-06-08 07:53:42 -07:00
gsxdsm
d8a015e22c
fix(FN-0000): show auto-merge on workflow review columns
2026-06-08 00:49:44 -07:00
gsxdsm
c9b780217b
Merge pull request #1508 from Runfusion/feature/workflow-loop-nodes
...
Add bounded workflow loop nodes
2026-06-08 00:33:25 -07:00
gsxdsm
a504238d26
feat(FN-0000): add workflow loop nodes
2026-06-07 23:56:25 -07:00
gsxdsm
e138971030
fix: stabilize workflow board and loop recovery
2026-06-07 23:30:16 -07:00
gsxdsm
340b2efa39
Merge pull request #1467 from buihongduc132/upstream-pr/project-selector-enhancements
...
feat(dashboard): scrollable, autocomplete, bookmarkable project selector
2026-06-07 23:18:30 -07:00
gsxdsm
55a8e14d5d
Merge pull request #1502 from Runfusion/feature/workflow-settings
...
feat(workflow-settings): simplify workflow model lanes
2026-06-07 23:10:55 -07:00
gsxdsm
a27921a276
fix: address PR review feedback ( #1467 )
...
- guard optional project selection callbacks and keep bookmarked search matches visible
- use structured timeout/rate-limit handling in retry backoff
- add focused regressions for selector and retry behavior
Note: pnpm test passed the merge gate but hit pre-existing non-blocking engine mock failures in changed-package tests.
2026-06-07 23:03:38 -07:00
gsxdsm
de254858f2
Merge pull request #1498 from Runfusion/feature/engine-plugin
...
[codex] Add workflow extension plugin seams
2026-06-07 22:57:04 -07:00
gsxdsm
7850b08a18
Address PR review feedback ( #1502 )
...
- Bump workflow model lane changeset to minor
- Clear pending workflow model edits after value reload failures
- Exclude Vite source module requests with query strings from API proxy
2026-06-07 22:56:35 -07:00
gsxdsm
61ae1bf706
feat(workflow-settings): simplify workflow model lanes
2026-06-07 22:07:47 -07:00
gsxdsm
01523a6581
fix(engine): address workflow extension PR feedback
2026-06-07 21:19:10 -07:00
gsxdsm
71822f26db
feat(engine): add workflow extension plugin seams
2026-06-07 20:43:44 -07:00
gsxdsm
2d81a95ad9
FN-5985: align mission goal link errors
...
Align mission goal link write paths on the documented GOAL_NOT_FOUND contract.
- return 400 GOAL_NOT_FOUND from linkable goal validation instead of 404 when a goal is missing
- update mission goal route tests to assert the new error payload across create, patch, set, and add flows
- document the link-vs-unlink missing-goal behavior and add a patch changeset for the published CLI package
Files changed:
.../FN-5985-mission-goal-not-found-contract.md | 5 ++++
docs/missions.md | 2 +-
.../__tests__/mission-goal-links-routes.test.ts | 32 +++++++++++++++++-----
packages/dashboard/src/mission-routes.ts | 9 +++++-
4 files changed, 39 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-5985
Fusion-Task-Lineage: 5649266e-5813-41b4-8a54-c7c46df61a35
2026-06-07 20:23:07 -07:00
gsxdsm
e84410e520
FN-6007: prevent duplicate GitHub issue imports and tracking issues
...
Prevent duplicate GitHub issue/task linkage from creating redundant imports and tracking issues.
- add shared duplicate-detection helpers that match imported GitHub issues by source metadata as well as source URLs
- switch CLI and dashboard GitHub import flows to inspect full task records and reuse the helper during single and batch imports
- remove redundant duplicate/refine tracking-issue creation calls from task workflow routes and add a patch changeset with regression coverage
Files changed:
.changeset/fn-6007-fix-duplicate-github-issues.md | 5 ++
packages/cli/src/__tests__/extension.test.ts | 68 ++++++++++++++++
packages/cli/src/extension.ts | 24 ++++--
.../src/__tests__/github-tracking-hook.test.ts | 68 ++++++++++++++++
.../dashboard/src/__tests__/routes-github.test.ts | 73 ++++++++++++++++++
.../src/__tests__/routes-tasks-ops.test.ts | 90 +---------------------
.../dashboard/src/routes/register-git-github.ts | 24 ++++--
.../src/routes/register-task-workflow-routes.ts | 16 ----
8 files changed, 254 insertions(+), 114 deletions(-)
Fusion-Task-Id: FN-6007
Fusion-Task-Lineage: a32ebb1d-efe4-4a52-be9a-fa3d3b5954bf
2026-06-07 18:54:24 -07:00
gsxdsm
fa23782dbb
FN-5972: fix mobile auto-merge blank dashboard
...
Restore mobile auto-merge dashboard stability and broaden regression coverage.
- share the mobile media query between viewport detection and board stabilization so landscape phones stay on the mobile path
- add an integration regression suite for toggling auto-merge across mobile, tablet, desktop, rollback, and task review surfaces
- expand dashboard and CLI tests, keep the new published changeset, and preserve related vitest coverage lists and safety comments
Files changed:
$(git diff --cached --stat)
Fusion-Task-Id: FN-5972
Fusion-Task-Lineage: f3a3bbae-21c2-451b-b24f-848cc12d0542
2026-06-07 18:51:46 -07:00
gsxdsm
fab8a62b55
FN-5977: expose goal retrieval tools across engine agents
...
Make goal lookup tools available and citable throughout engine-driven agent sessions.
- add shared engine goal list/show tools with concise list snippets, full detail lookup, and retrieval audit coverage
- expose fn_goal_list and fn_goal_show in executor, heartbeat, and triage tool surfaces and classify them as readonly coordination-exempt tools
- extend CLI and engine regression coverage, refresh tool reference docs, and add a published changeset for the CLI package
Files changed:
.changeset/FN-5977-goal-retrieval-engine-tools.md | 7 +
packages/cli/skill/fusion/references/engine-tools.md | 2 +
packages/cli/src/__tests__/extension-goal-tools-audit.test.ts | 8 +-
packages/cli/src/__tests__/extension-goal-tools.test.ts | 118 +++++++++++-
packages/cli/src/__tests__/goal-store-resolution.test.ts | 2 +-
packages/cli/src/extension.ts | 38 +++-
packages/engine/src/__tests__/agent-tools-goal.test.ts | 213 +++++++++++++++++++++
packages/engine/src/__tests__/gating-classifications.test.ts | 4 +
packages/engine/src/__tests__/heartbeat-executor.test.ts | 22 ++-
packages/engine/src/__tests__/heartbeat-session-prompt.test.ts | 8 +-
packages/engine/src/agent-heartbeat.ts | 4 +-
packages/engine/src/agent-tools.ts | 180 ++++++++++++++++-
packages/engine/src/executor.ts | 8 +
packages/engine/src/gating-classifications.ts | 2 +
packages/engine/src/triage.ts | 26 ++-
15 files changed, 600 insertions(+), 42 deletions(-)
Fusion-Task-Id: FN-5977
Fusion-Task-Lineage: 46f7e777-da4d-4e9c-b014-329a5cb1e3da
2026-06-07 18:51:46 -07:00
gsxdsm
61d687440b
FN-5770: promote workflow interpreter to guarded lifecycle driver
...
Route default coding tasks through the workflow interpreter only when parity readiness checks pass.
- add a core cutover-readiness evaluator and exports for the workflowInterpreterAuthoritative flag
- wire a WorkflowAuthoritativeDriver into runtime dispatch and reuse authoritative lifecycle seams with legacy fallback behavior
- cover the cutover with reliability tests, docs updates, and a published CLI changeset
Files changed:
.../FN-5770-workflow-interpreter-authoritative.md | 5 +
docs/architecture.md | 1 +
docs/settings-reference.md | 5 +-
docs/workflow-steps.md | 22 +-
.../core/src/__tests__/workflow-cutover.test.ts | 68 +++++
packages/core/src/index.ts | 8 +
packages/core/src/workflow-cutover.ts | 81 ++++++
.../src/__tests__/openclaw-runtime-e2e.test.ts | 1 +
.../engine/src/__tests__/pi-layers-wiring.test.ts | 2 +-
.../branch-recovery-live-zero-commits.test.ts | 2 +-
.../branch-recovery-stale-cached-base.test.ts | 2 +-
.../workflow-interpreter-cutover.test.ts | 306 +++++++++++++++++++++
.../self-healing-completion-fanout.test.ts | 2 +-
.../self-healing-ghost-branch-recovery.test.ts | 2 +-
.../self-healing-orphan-only-scope.test.ts | 2 +-
.../self-healing-reclaim-live-zero-commits.test.ts | 2 +-
.../self-healing-stale-merger-status.test.ts | 2 +-
.../src/__tests__/step-session-executor.test.ts | 2 +-
.../__tests__/worktree-admin-entry-prune.test.ts | 8 +-
packages/engine/src/executor.ts | 13 +-
packages/engine/src/index.ts | 6 +
packages/engine/src/runtimes/in-process-runtime.ts | 8 +
.../engine/src/workflow-authoritative-driver.ts | 154 +++++++++++
23 files changed, 686 insertions(+), 18 deletions(-)
Fusion-Task-Id: FN-5770
Fusion-Task-Lineage: dee668b5-10e0-4a3c-b025-9cc43a26286a
2026-06-07 18:51:46 -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
ba16805ce6
Merge pull request #1466 from Runfusion/gsxdsm/issue-1454-manage-projet-bug
...
fix: empty folder selection reverts in DirectoryPicker + add create-folder button
2026-06-06 09:24:31 -07:00
gsxdsm
ee5f5e84ac
Address PR review feedback ( #1466 )
...
- routes.ts: use isAbsolute() before resolve() for proper path validation
- routes.ts: wrap mkdir() in try/catch to map EEXIST/ENOENT/ENOTDIR to 4xx
- DirectoryPicker.tsx: use !browser.currentPath guard to prevent re-fetch loop
- DirectoryPicker.tsx: disable Create button during in-flight requests
- DirectoryPicker.tsx: add fetchEntries to useEffect dependency array
- DirectoryPicker.tsx: client-side validation for folder names
- Add changeset for the new create-folder feature
2026-06-06 06:31:44 -07:00