From fb509b1ed33f5c5312f4864fdd73a743d5ac0525 Mon Sep 17 00:00:00 2001 From: gsxdsm Date: Sun, 28 Jun 2026 08:19:01 -0700 Subject: [PATCH] FN-7190: fix linear built-in workflow dispatch Ensure selectable linear built-in workflows carry the default queue traits needed for Todo release. - Convert linear built-in workflow IR to v2 with cloned canonical coding workflow columns. - Guard synthesized linear built-ins so todo retains hold-capacity dispatch traits. - Cover quick-fix, review-heavy, design, and compound-engineering Todo release behavior with regression tests. - Document that selectable built-ins dispatch through capacity-released queue columns. - Add a patch changeset for the published CLI package. Files changed: .changeset/fn-7190-linear-builtin-todo-hold.md | 7 ++ docs/workflow-editor.md | 2 +- docs/workflow-steps.md | 5 + .../core/src/__tests__/builtin-workflows.test.ts | 110 +++++++++++++++++++++ packages/core/src/builtin-workflows.ts | 46 ++++++--- packages/engine/src/__tests__/hold-release.test.ts | 28 ++++++ 6 files changed, 181 insertions(+), 17 deletions(-) Fusion-Task-Id: FN-7190 Fusion-Task-Lineage: a0a40365-4bd5-49a8-8ae4-5e313cf1d4e0 Co-authored-by: Fusion (runfusion.ai) --- .../fn-7190-linear-builtin-todo-hold.md | 7 ++ docs/workflow-editor.md | 2 +- docs/workflow-steps.md | 5 + .../src/__tests__/builtin-workflows.test.ts | 110 ++++++++++++++++++ packages/core/src/builtin-workflows.ts | 46 +++++--- .../engine/src/__tests__/hold-release.test.ts | 28 +++++ 6 files changed, 181 insertions(+), 17 deletions(-) create mode 100644 .changeset/fn-7190-linear-builtin-todo-hold.md diff --git a/.changeset/fn-7190-linear-builtin-todo-hold.md b/.changeset/fn-7190-linear-builtin-todo-hold.md new file mode 100644 index 0000000000..ab0520bf76 --- /dev/null +++ b/.changeset/fn-7190-linear-builtin-todo-hold.md @@ -0,0 +1,7 @@ +--- +"@runfusion/fusion": patch +--- + +summary: Fix Compound Engineering, Quick fix, and Review-heavy workflow tasks getting stuck in Todo. +category: fix +dev: linear() built-in workflows now synthesize the canonical default column traits (hold(capacity) on todo, wip on in-progress, merge on in-review) matching BUILTIN_CODING_WORKFLOW_IR, so the hold/release sweep dispatches their todo cards. Fixes FN-7190. diff --git a/docs/workflow-editor.md b/docs/workflow-editor.md index a69adb3bfe..2fdc28d68b 100644 --- a/docs/workflow-editor.md +++ b/docs/workflow-editor.md @@ -138,7 +138,7 @@ Fusion ships built-in workflows as read-only references: - `builtin:stepwise-coding` — a graph variant that models per-step parse, execute, review, and rework structure. - `builtin:design` — a UI-heavy work path with a gated design/UX review before standard review and merge. -Built-ins can be viewed, exported, and used as templates, but their graph, columns, field declarations, and setting declarations are not editable. Their per-project setting **values** are editable from the Settings panel's Values tab. +Built-ins can be viewed, exported, and used as templates, but their graph, columns, field declarations, and setting declarations are not editable. Their per-project setting **values** are editable from the Settings panel's Values tab. Selectable built-ins all use a capacity-released queue column (`todo` or a workflow-specific backlog) that dispatches to the active WIP column through the standard hold/release sweep. To customize behavior, create a workflow from **Blank** or copy a built-in/custom workflow with **Duplicate to customize**. Tasks select a workflow by workflow id. Agents and automation can discover workflows with `fn_workflow_list`, assign one to an existing task with `fn_workflow_select`, or pass `workflow_id` when creating tasks through `fn_task_create` / delegation tools. diff --git a/docs/workflow-steps.md b/docs/workflow-steps.md index 9dc35a13b8..5801dbbe71 100644 --- a/docs/workflow-steps.md +++ b/docs/workflow-steps.md @@ -21,6 +21,9 @@ Agents may select or change a workflow only when the user explicitly requested t FNXC:Docs 2026-06-21-12:00: FN-6906 makes non-coding built-in prompts artifact-oriented: marketing drafts, lead enrichment/outreach, and design previews are persisted with fn_task_document_write, while fn_artifact_register remains conditional until the artifact tool is available. + +FNXC:WorkflowRuntime 2026-06-28-08:10: +Selectable built-in workflows must share the canonical dispatch traits: their held work enters through a capacity-released `todo`/backlog column and moves to the first WIP execution column via the hold/release sweep, so non-default built-ins do not need a separate dispatcher. --> Fusion workflows define the task lifecycle policy that moves work from an idea to delivery. The default coding path is **Plan/Triage → Execute → Workflow steps → Review → Merge**, but that path is now represented as a workflow selection rather than only as fixed engine behavior. A task with no explicit workflow resolves to `builtin:coding`; an explicit missing/corrupt custom workflow fails closed instead of silently falling back. @@ -51,6 +54,8 @@ Decision-only or investigation tasks can also declare `noCommitsExpected` / `**N | PR lifecycle | `builtin:pr-workflow` | Reusable PR lifecycle graph fragment (create PR → await review → respond → gate → merge); it is a fragment, not directly selectable as a task workflow. | | Lead generation | `builtin:lead-generation` | Selectable business workflow for sourcing, qualifying, enriching, and contacting leads with custom lead fields, stage columns, and reviewable enrichment/outreach task documents; requires the workflow graph executor for custom board columns. | +Every selectable built-in workflow uses a capacity-released hold column (`todo` or a workflow-specific backlog) for queued work and a WIP execution column for active work, so the hold/release sweep performs the normal `todo`/backlog → in-progress dispatch across the catalog. + ### Skill-backed workflow steps