chore(FN-6880): changeset + record deferred legacy-retirement scope
Add the minor changeset for the optional-group feature (U1-U6) and document in the plan why the full legacy optional-steps retirement (U7) is deferred: the workflow-step seam is shared engine infrastructure across ~9 files and the dashboard still carries the prior declaration authoring surface (~10 files), so removing the core type without that cleanup breaks the build. The new model is the live path; the legacy declaration surface is inert pending a focused follow-up. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
5
.changeset/workflow-optional-group-subgraphs.md
Normal file
5
.changeset/workflow-optional-group-subgraphs.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
"@runfusion/fusion": minor
|
||||||
|
---
|
||||||
|
|
||||||
|
Workflow editor: optional steps are now graph-native. A new `optional-group` container node (foreach/loop-style) holds a subgraph the executor runs once when the group is enabled for a task (per-task `enabledWorkflowSteps` + workflow `defaultOn`) and bypasses when disabled. All seven built-in add-ons (documentation-review, qa-check, security-audit, performance-review, accessibility-check, browser-verification, frontend-ux-design) are insertable from the node-editor palette as a node or wrapped in an optional-group. The built-in coding and stepwise-coding workflows now express `browser-verification` as an optional-group. The legacy declaration-based optional-steps surface remains for back-compat; its full removal is a follow-up.
|
||||||
@@ -540,6 +540,18 @@ surfaces are enumerated:
|
|||||||
- Step→node projection (`workflow-steps-to-ir.ts`) reused to project add-ons (U5).
|
- Step→node projection (`workflow-steps-to-ir.ts`) reused to project add-ons (U5).
|
||||||
|
|
||||||
### Deferred to Follow-Up Work
|
### Deferred to Follow-Up Work
|
||||||
|
- **Full legacy-path retirement (U7) — deferred after execution-time scope discovery.** U1–U6 shipped and
|
||||||
|
the new model is the live path (built-ins migrated, resolver + executor on optional-group nodes). The
|
||||||
|
legacy declaration surface is now inert but **not removed**, because U7 turned out far larger than scoped:
|
||||||
|
(a) `workflow-step` is a shared `WorkflowSeam` union member woven through ~9 engine runtime files
|
||||||
|
(`runtime-primitives`, `step-session-executor`, `workflow-node-handlers`, `active-session-registry`,
|
||||||
|
`workflow-graph-task-runner`, `executor.runWorkflowSteps`, the compiler seam-anchor), not an
|
||||||
|
optional-steps-only node — excising it is its own refactor; and (b) the dashboard still carries the prior
|
||||||
|
declaration **authoring** surface (`WorkflowOptionalStepsPanel`/`WorkflowOptionalStepsDropdown`, the
|
||||||
|
`flowToIr` `optionalSteps` threading, `optionalStepsOf`) across ~10 files. Removing the core
|
||||||
|
`WorkflowOptionalStep` type without that dashboard cleanup breaks the build. Retire both surfaces in a
|
||||||
|
focused follow-up; until then the `WorkflowOptionalStepsPanel` authors declarations the resolver no longer
|
||||||
|
reads (a known dead-authoring UI to remove with it).
|
||||||
- **Nested/conditional groups** (an optional-group inside a split/foreach, or gated by a workflow field
|
- **Nested/conditional groups** (an optional-group inside a split/foreach, or gated by a workflow field
|
||||||
rather than the per-task toggle) — single-level, per-task-toggle only for now.
|
rather than the per-task toggle) — single-level, per-task-toggle only for now.
|
||||||
- **Plugin-contributed add-ons as optional-group presets** beyond inserting them as flat nodes.
|
- **Plugin-contributed add-ons as optional-group presets** beyond inserting them as flat nodes.
|
||||||
|
|||||||
Reference in New Issue
Block a user