gsxdsm
1a716f2f95
FN-6232: centralize triage planning prompt resolution
...
Route standard triage prompt construction through workflow IR while keeping custom and fast-mode overrides intact.
- Export the workflow planning prompt resolver and use it as the standard triage prompt source.
- Move duplicated triage policy text into the shared core prompt definition.
- Add regression coverage for workflow-sourced planning prompts, duplicate search guidance, and prompt override behavior.
- Add a patch changeset for the published CLI bundle.
Files changed:
.changeset/FN-6232-triage-prompt-single-source.md | 5 +
packages/core/src/__tests__/agent-prompts.test.ts | 58 ++--
packages/core/src/agent-prompts.ts | 111 +++++--
packages/core/src/index.ts | 2 +
packages/core/src/workflow-ir-resolver.ts | 28 ++
.../triage-duplicate-search-regression.test.ts | 19 +-
.../triage-planning-prompt-single-source.test.ts | 179 +++++++++++
packages/engine/src/__tests__/triage.test.ts | 91 +++---
packages/engine/src/triage.ts | 352 +--------------------
9 files changed, 413 insertions(+), 432 deletions(-)
Fusion-Task-Id: FN-6232
Fusion-Task-Lineage: c70c33ed-c61b-49d2-bcea-d860899c1512
2026-06-11 09:21:23 -07:00
gsxdsm
4ea9d66b4f
FN-6219: prefer fresh agent model settings for automatic runs
...
Automatic agent runs now resolve lane-specific task and settings models before falling back to durable runtime defaults.
- Prefer fresh execution, planning, heartbeat, merger, and validator model resolution over stale assigned-agent runtime config when complete settings are available.
- Centralize validator session model resolution and align mission validation with the shared helper.
- Add regression coverage for automatic run model precedence and test-mode handling.
- Add a patch changeset for the published CLI package.
Files changed:
.changeset/fuzzy-agents-run.md | 5 +
.../core/src/__tests__/model-resolution.test.ts | 40 +++++
.../agent-session-helpers-test-mode.test.ts | 35 ++--
.../src/__tests__/agent-session-helpers.test.ts | 199 ++++++++++++++++++---
.../src/__tests__/heartbeat-executor.test.ts | 10 +-
.../src/__tests__/mission-execution-loop.test.ts | 6 +-
packages/engine/src/__tests__/triage.test.ts | 4 +-
packages/engine/src/agent-session-helpers.ts | 111 +++++++-----
packages/engine/src/mission-execution-loop.ts | 33 +---
packages/engine/src/triage.ts | 6 +-
10 files changed, 326 insertions(+), 123 deletions(-)
Fusion-Task-Id: FN-6219
Fusion-Task-Lineage: c3ef6d91-234f-4ed1-97c7-9be8408cd86c
2026-06-11 09:21:23 -07:00
gsxdsm
07d5262a83
FN-6208: sync workflow settings across nodes
...
Synchronize workflow setting values through node settings sync.
- Include workflow settings in settings payloads, diffs, status responses, and API types.
- Apply inbound and pulled workflow settings through the TaskStore while ignoring rejected setting ids.
- Add core, route, hook, API, and Nodes view coverage for workflow settings sync behavior.
- Add a patch changeset for the published Fusion package.
Files changed:
.changeset/loud-nodes-sync.md | 5 +
packages/core/src/__tests__/central-core.test.ts | 37 ++++
packages/core/src/central-core.ts | 13 +-
packages/core/src/types.ts | 4 +
packages/dashboard/app/__tests__/api-node.test.ts | 4 +-
packages/dashboard/app/api-node.ts | 3 +
.../app/components/__tests__/NodesView.test.tsx | 8 +-
.../hooks/__tests__/useNodeSettingsSync.test.ts | 33 +++-
.../dashboard/app/hooks/useNodeSettingsSync.ts | 4 +-
.../__tests__/routes-nodes-sync-contract.test.ts | 18 +-
.../src/__tests__/routes-nodes-sync.test.ts | 191 ++++++++++++++++++++-
.../src/routes/register-settings-memory-routes.ts | 7 +-
.../register-settings-sync-inbound-routes.ts | 73 +++++++-
.../src/routes/register-settings-sync-routes.ts | 128 ++++++++++++--
14 files changed, 488 insertions(+), 40 deletions(-)
Fusion-Task-Id: FN-6208
Fusion-Task-Lineage: 9b5e7e56-6287-4bc5-966a-2bcc2ba292a7
2026-06-11 09:21:23 -07:00
gsxdsm
82b89bd695
Merge pull request #1577 from Runfusion/feature/workflow-owned-merge-s04-builtin-ir-regions
...
refactor(workflow): S04 built-in merge retry recovery IR regions
2026-06-11 07:55:41 -07:00
gsxdsm
6261f99184
Merge pull request #1575 from Runfusion/feature/workflow-owned-merge-s02-merge-request-projection
...
refactor(workflow): S02 merge request projection onto work items
2026-06-11 07:51:58 -07:00
gsxdsm
46db9a7759
Merge pull request #1571 from Runfusion/feature/workflow-owned-merge-retry-scheduling-plan
...
refactor(workflow): add workflow-owned merge migration slice
2026-06-11 07:50:32 -07:00
gsxdsm
045a74d249
chore(release): v0.41.0
...
Version bump via changesets.
2026-06-10 19:05:55 -07:00
gsxdsm
f0d6d70a32
chore(release): v0.40.1
...
Version bump via changesets.
2026-06-10 18:08:04 -07:00
gsxdsm
9f38b0d090
chore(release): v0.40.0
...
Version bump via changesets.
2026-06-10 17:58:39 -07:00
gsxdsm
d9d67fb7ff
FN-6196: gate compound engineering built-in workflow on plugin install
...
Hide the compound engineering built-in workflow unless its plugin is installed.
- mark builtin:compound-engineering as plugin-gated and exclude it from default enabled built-ins
- filter workflow listing and lookup through plugin installation state, clearing cached definitions on plugin register/unregister
- add coverage for plugin-gated workflow helpers, workflow visibility, and task workflow selection behavior
Files changed:
.../fn-6196-compound-workflow-plugin-gate.md | 5 ++
.../core/src/__tests__/builtin-workflows.test.ts | 53 +++++++++++++++++++---
packages/core/src/builtin-workflows.ts | 16 ++++++-
packages/core/src/index.ts | 2 +
packages/core/src/store.ts | 45 ++++++++++++++++--
5 files changed, 108 insertions(+), 13 deletions(-)
Fusion-Task-Id: FN-6196
Fusion-Task-Lineage: aa8fec55-941c-47b8-a203-13799e547d8e
2026-06-10 09:00:24 -07:00
gsxdsm
9b88c0e307
FN-6176: update workflow-definition-store tests for builtin PR fragment
...
Adjust workflow-definition-store expectations to include the built-in PR fragment.
- expect builtin:pr-workflow in fragment-filtered workflow definition results
- allow built-in workflow entries to be either workflow or fragment kinds
- verify fragment filtering and cache regression coverage include the PR lifecycle built-in
Files changed:
packages/core/src/__tests__/workflow-definition-store.test.ts | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
Fusion-Task-Id: FN-6176
Fusion-Task-Lineage: fca73dec-060c-4935-9f03-67299d99983f
2026-06-09 23:43:24 -07:00
gsxdsm
4d7c51d526
FN-6164: route agent task title summarization through the store
...
Ensure agent-created tasks use store-managed title summarization before creation hooks fire.
- resolve a store-managed summarizer when task creation explicitly requests summarization
- defer the task-created hook until store summarization finishes and persists the generated title
- stop agent tools from wiring ad hoc summarizer callbacks and pass resolved settings through to createTask
- update core and engine tests to cover store-managed summarization, hook deferral, and inherited settings expectations
Files changed:
packages/core/src/__tests__/store-create.test.ts | 83 +++++++++++++++++++++++
packages/core/src/store.ts | 7 +-
packages/engine/src/__tests__/agent-tools.test.ts | 70 +++++++++----------
packages/engine/src/__tests__/triage.test.ts | 12 +++-
packages/engine/src/agent-tools.ts | 10 +--
5 files changed, 136 insertions(+), 46 deletions(-)
Fusion-Task-Id: FN-6164
Fusion-Task-Lineage: f8da7bd7-b5d4-4505-98ed-60c19d82904c
2026-06-09 22:18:48 -07:00
gsxdsm
5a353317c4
Readme update and settings cleanup
2026-06-09 21:43:45 -07:00
gsxdsm
265496d0b6
feat(FN-000): model merge policy in builtin workflow IR
...
Fusion-Task-Id: FN-000
2026-06-09 20:44:45 -07:00
gsxdsm
5a36ac1cd6
feat(FN-000): project merge requests to workflow work
...
Fusion-Task-Id: FN-000
2026-06-09 20:44:36 -07:00
gsxdsm
fbc2c37d40
FN-6137: convert PR lifecycle built-in to fragment
...
Convert the built-in PR lifecycle into a reusable fragment instead of a selectable task workflow.
- mark builtin:pr-workflow as a fragment and exclude fragments from default-enabled built-ins
- hide built-in fragments from the General settings workflow toggles
- update core and dashboard tests to assert fragment behavior and reject task selection of the PR lifecycle fragment
- add a changeset for the published CLI package
Files changed:
.changeset/pr-lifecycle-fragment.md | 5 +++++
.../core/src/__tests__/builtin-workflows.test.ts | 24 ++++++++++++++++------
packages/core/src/builtin-workflows.ts | 7 ++++---
packages/core/src/store.ts | 2 +-
.../__tests__/WorkflowNodeEditor.test.tsx | 3 ++-
.../settings/sections/GeneralSection.tsx | 4 +++-
6 files changed, 33 insertions(+), 12 deletions(-)
Fusion-Task-Id: FN-6137
Fusion-Task-Lineage: d959ba3b-2e50-4c9b-a1fa-161776939403
2026-06-09 15:19:26 -07:00
gsxdsm
0b7549a534
FN-6126: enable workflow experimental flags by default
...
Turn on the workflow rollout flags by default and update docs/tests for the new opt-out behavior.
- default workflowColumns, workflowGraphExecutor, workflowInterpreterDualObserve, and workflowInterpreterAuthoritative to enabled in global settings
- update workflow docs and concepts to describe explicit flag-off overrides instead of default-off rollout gating
- remove redundant demo/test setup that manually enabled workflow columns and keep characterization coverage for both enabled and disabled states
- add a changeset for the published CLI package documenting the default-on workflow rollout
Files changed:
.changeset/fn-6126-workflow-flags-default-on.md | 5 +++++
CONCEPTS.md | 4 ++--
demo/seed.ts | 1 -
docs/workflow-steps.md | 10 +++++-----
packages/core/src/__tests__/move-task-characterization.test.ts | 4 +---
packages/core/src/settings-schema.ts | 7 ++++++-
packages/core/src/types.ts | 4 +++-
packages/core/src/workflow-columns-settings.ts | 4 ++--
8 files changed, 24 insertions(+), 15 deletions(-)
Fusion-Task-Id: FN-6126
Fusion-Task-Lineage: 334283a6-e80a-42d0-bf66-68f88a12e287
2026-06-09 14:10:01 -07:00
gsxdsm
cdd86fc3f6
fix(review): address workflow work item feedback
2026-06-09 13:37:46 -07:00
gsxdsm
320b153c45
FN-6113: fail fast on terminal provider errors
...
Fail fast on non-retryable provider failures in the in-review stall recovery flow.
- classify failed-task provider errors as non-retryable, retryable, or unknown in core stall detection
- surface terminal provider errors with dedicated dashboard copy and exported stall signal metadata
- pause in-review tasks immediately on non-retryable provider failures and record a dedicated run-audit mutation
- add regression coverage for provider error classification, self-healing disposition, and dashboard badge behavior
Files changed:
.../core/src/__tests__/in-review-stall.test.ts | 70 ++++++++++
packages/core/src/in-review-stall.ts | 53 ++++++-
packages/core/src/index.ts | 4 +-
.../app/utils/__tests__/inReviewStallCopy.test.ts | 5 +-
packages/dashboard/app/utils/inReviewStallCopy.ts | 8 ++
.../in-review-stall-deadlock-disposition.test.ts | 153 +++++++++++++++++++++
packages/engine/src/run-audit.ts | 1 +
packages/engine/src/self-healing.ts | 30 +++-
8 files changed, 320 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-6113
Fusion-Task-Lineage: 5e89adb4-6b59-4deb-8811-5c75d6fa19cc
2026-06-09 12:51:20 -07:00
gsxdsm
94b7cf01bd
FN-6102: guard spawnSync lookup in pi extensions
...
Avoid crashing when partial child_process mocks omit spawnSync.
- lazily load spawnSync from node:child_process via createRequire
- return null from Git linked worktree detection when spawnSync is unavailable
- add a regression test covering partial child_process mocks that only stub execSync
Files changed:
packages/core/src/__tests__/pi-extensions.test.ts | 22 +++++++++++++++++++++-
packages/core/src/pi-extensions.ts | 18 +++++++++++++++++-
2 files changed, 38 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6102
Fusion-Task-Lineage: 22f98a1c-d296-4aa4-ac3d-7beead127dac
2026-06-09 12:51:20 -07:00
gsxdsm
0b0186a22e
fix(FN-6088): suppress queued merge stalled badges
...
Suppress legacy stalledReview hydration for tasks already owned by the merge queue and avoid repeated mergeable-review re-enqueue churn for queued tasks.
Fusion-Task-Id: FN-6088
2026-06-09 12:50:26 -07:00
gsxdsm
f16b038fab
refactor(workflow): add workflow work-item store slice
2026-06-09 12:41:29 -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
85c3420f93
fix(FN-6079): resolve task tools from merge worktrees
2026-06-09 08:19:41 -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
9c43e3f30e
Merge pull request #1539 from Runfusion/feature/workflow-mapping
...
fix(FN-6035): align workflow dispatch and broad suite
2026-06-08 23:06:53 -07:00
gsxdsm
1029a1b8b4
test(FN-6035): fix broad workflow suite expectations
2026-06-08 22:35:04 -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
8d3b869ec1
fix(FN-6035): model pre-merge workflow steps in builtin coding
2026-06-08 22:02:26 -07:00
gsxdsm
b6800e8622
fix(FN-6035): address workflow primitive review feedback
2026-06-08 21:16:32 -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
f0fa75b270
fix(FN-6043): address stuck task PR feedback
...
- align triage prompt templates on impacted-first verification
- guard verification max lifetime when timeout is disabled
- share idle semaphore leak recovery across scheduler and triage
Fusion-Task-Id: FN-6043
2026-06-08 20:29:37 -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
7d8ae5333e
FN-6028: add retries to builtin execute node
...
Ensure the built-in coding workflow keeps an explicit retry budget on execute.
- set `maxRetries: 2` on the built-in coding workflow execute prompt node
- add IR-level tests that assert only the execute seam carries the retry budget
- add built-in workflow registry tests that preserve the execute retry setting through parse/serialize round-trips
Files changed:
.../__tests__/builtin-coding-workflow-ir.test.ts | 31 ++++++++++++++++++++++
.../core/src/__tests__/builtin-workflows.test.ts | 27 +++++++++++++++++++
packages/core/src/builtin-coding-workflow-ir.ts | 7 ++++-
3 files changed, 64 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-6028
Fusion-Task-Lineage: cd9fb5ac-c593-438d-aeff-423b4a95fc31
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
e623340e71
FN-5994: restore project summarization model settings
...
Keep summarization and PR metadata model selection on project settings while leaving workflow lanes on the workflow.
- restore the project summarization model lane in Project Models and replace per-phase workflow lanes with a workflow-settings redirect stub
- remove moved workflow model keys from project settings defaults/save paths and update settings docs/tests for the restored project lane behavior
- make PR metadata generation resolve its model from the title summarizer settings lane instead of task planning settings
Files changed:
docs/settings-reference.md | 4 +-
.../core/src/__tests__/settings-migration.test.ts | 18 +-
.../core/src/__tests__/settings-parity.test.ts | 17 +-
packages/core/src/__tests__/store-settings.test.ts | 54 ++--
.../core/src/__tests__/task-creation-hook.test.ts | 10 +-
packages/core/src/builtin-workflow-settings.ts | 24 --
packages/core/src/settings-schema.ts | 13 +-
.../components/__tests__/SettingsModal.test.tsx | 11 +-
.../app/components/settings/save-split.ts | 11 +-
.../settings/sections/ProjectModelsSection.tsx | 330 +++------------------
.../src/__tests__/pr-metadata-generator.test.ts | 25 +-
packages/dashboard/src/pr-metadata-generator.ts | 4 +-
12 files changed, 140 insertions(+), 381 deletions(-)
Fusion-Task-Id: FN-5994
Fusion-Task-Lineage: f7f6f1ff-5d06-4d16-b46d-644eb219e7c1
2026-06-08 13:32:58 -07:00
gsxdsm
ce4d0a899f
FN-6008: document FTS migration defer evidence and align workflow IDs
...
Refresh the FTS migration guidance with fresh evidence and reconcile workflow interpreter naming.
- document post-FN-5943 production evidence showing the single-file tasks_fts index remains bounded and rebuild-free
- keep the storage guidance explicitly deferred until recurring corruption or sustained bloat is observed
- relax the foreach parser test to accept the current nested loop/foreach error wording
- align the authoritative workflow driver ID with the task branch change during conflict resolution
Files changed:
docs/storage.md | 7 ++++++-
packages/core/src/__tests__/workflow-ir-foreach.test.ts | 2 +-
packages/engine/src/workflow-authoritative-driver.ts | 2 +-
3 files changed, 8 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-6008
Fusion-Task-Lineage: d8c7c05c-f003-453d-bbd1-d9f0dda62f7c
2026-06-08 13:32:58 -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
2fd214b4f2
FN-5975: extend archive FTS maintenance coverage
...
Add archive-database FTS maintenance and document the expanded compaction policy.
- add archive FTS maintenance helpers for optimize, rebuild, size measurement, and row counts
- extend self-healing maintenance to compact and rebuild archived_tasks_fts on a slower archive-specific cadence
- cover archive FTS maintenance with new core and engine tests and update architecture/storage docs
Files changed:
docs/architecture.md | 2 +-
docs/storage.md | 12 +-
.../__tests__/archive-db-fts-maintenance.test.ts | 221 +++++++++++++++++++++
packages/core/src/archive-db.ts | 61 +++++-
packages/core/src/db.ts | 21 +-
packages/core/src/store.ts | 20 ++
.../src/__tests__/fts-maintenance-archive.test.ts | 207 +++++++++++++++++++
packages/engine/src/self-healing.ts | 80 ++++++++
8 files changed, 608 insertions(+), 16 deletions(-)
Fusion-Task-Id: FN-5975
Fusion-Task-Lineage: 13645c8c-3126-4d1b-af23-7cab1a8bb276
2026-06-08 10:33:16 -07:00
gsxdsm
0c8674c37c
fix(FN-5994): prevent verification hangs
...
Normalize package file-filter verification to direct Vitest execution, kill timed-out process groups, and bound loop-recovery compaction so stuck tasks cannot spin indefinitely.
Fusion-Task-Id: FN-5994
2026-06-08 09:44:00 -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