- 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
1.6 KiB
1.6 KiB
@runfusion/fusion, runfusion.ai, @fusion/core, @fusion/dashboard, @fusion/desktop, @fusion/engine, @fusion/mobile, @fusion/pi-claude-cli, @fusion/plugin-sdk
| @runfusion/fusion | runfusion.ai | @fusion/core | @fusion/dashboard | @fusion/desktop | @fusion/engine | @fusion/mobile | @fusion/pi-claude-cli | @fusion/plugin-sdk |
|---|---|---|---|---|---|---|---|---|
| minor | minor | minor | minor | minor | minor | minor | minor | 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, andProjectSettings.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 infn task show. - Schema updates: Includes tasks table migration adding the
nodeIdcolumn.