feat(FN-2731): merge fusion/fn-2731
- feat(FN-2731): add changeset for multi-node routing feature - feat(FN-2730): merge fusion/fn-2730 - feat(FN-2729): merge fusion/fn-2729 - chore(release): v0.8.4 - chore(dashboard): tidy stray workspace artifacts - refactor(core,merger): consolidate AI commit-body summarization into ai-summarize.ts - feat(merger,dashboard): use title-summarization model for commit body AI + reword settings - fix(engine): guarantee non-empty merge commit body via AI fallback cascade - fix(FN-XXX): sync workspace version on release - feat(FN-2729): unify node status indicator with NodeHealthDot - fix(FN-0000): harden sqlite startup validation - fix(FN-XXX): align tui startup update check - fix(FN-XXX): harden windows path handling - fix(engine): tighten Layer 3 — pass safety constraint into AI prompt + harden Layer 2 restore - feat(FN-2944): merge fusion/fn-2944 - fix(engine): auto-recover from squash-merge orphan rebase failures - feat(FN-2948): merge fusion/fn-2948 - feat(FN-2939): merge fusion/fn-2939 - feat(FN-2946): merge fusion/fn-2946 - feat(FN-2941): merge fusion/fn-2941 - feat(FN-2938): merge fusion/fn-2938 - feat(FN-2929): merge fusion/fn-2929 - feat(FN-2934): merge fusion/fn-2934 - feat(FN-2930): merge fusion/fn-2930 - feat(FN-2928): merge fusion/fn-2928 - feat(FN-2927): merge fusion/fn-2927 - feat(FN-2916): streamline Cloudflare quick tunnel settings UX - feat(FN-2913): merge fusion/fn-2913 - feat(FN-2911): merge fusion/fn-2911 - feat(FN-2901): merge fusion/fn-2901 - feat(FN-2729): merge fusion/fn-2729 Fusion-Task-Id: FN-2731
This commit is contained in:
21
.changeset/multi-node-routing.md
Normal file
21
.changeset/multi-node-routing.md
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
"@runfusion/fusion": minor
|
||||
"runfusion.ai": minor
|
||||
"@fusion/core": minor
|
||||
"@fusion/dashboard": minor
|
||||
"@fusion/desktop": minor
|
||||
"@fusion/engine": minor
|
||||
"@fusion/mobile": minor
|
||||
"@fusion/pi-claude-cli": minor
|
||||
"@fusion/plugin-sdk": minor
|
||||
---
|
||||
|
||||
Add unified multi-node task routing across CLI, dashboard, core, and engine flows.
|
||||
|
||||
- **Routing model:** Tasks can set a per-task node override with project-level pinned default node fallback. `resolveEffectiveNode()` computes the effective routing target per task.
|
||||
- **Core types:** Adds `Task.nodeId`, `UnavailableNodePolicy` (`"block" | "fallback-local"`), `ProjectSettings.defaultNodeId`, and `ProjectSettings.unavailableNodePolicy`.
|
||||
- **Engine behavior:** Adds effective-node resolution (per-task override → project default → local), unavailable-node policy enforcement, and routing activity event logging.
|
||||
- **Active-task guard:** Blocks node override changes for in-progress tasks via `validateNodeOverrideChange()`.
|
||||
- **Dashboard updates:** Adds project settings controls for default node and unavailable-node policy, task detail routing summary (effective node, routing source, fallback policy, blocking reason), quick task creation node picker, bulk node override actions, and node health/status indicators in selectors.
|
||||
- **CLI updates:** Adds `fn settings set defaultNodeId <node-id>`, `fn settings set unavailableNodePolicy <block|fallback-local>`, `fn task set-node <id> <node>`, `fn task clear-node <id>`, `fn task create --node <name>`, and routing details in `fn task show`.
|
||||
- **Schema updates:** Includes tasks table migration adding the `nodeId` column.
|
||||
Reference in New Issue
Block a user