Restore Pi-upgraded workspaces to keep Fusion resources accessible and recover title generation when configured models go stale.
- Mark read-only Fusion/Pi provider settings views as project-trusted so extension loading keeps working after Pi upgrades.
- Retry task title summarization with automatic model resolution when the configured provider model is missing from the Pi registry.
- Cover provider settings trust behavior and stale summarizer fallback paths with regression tests.
- Document the read-only settings trust contract and add a patch changeset.
Files changed:
.changeset/fn-6218-pi-upgrade-regressions.md | 5 +
docs/settings-reference.md | 2 +
docs/task-management.md | 2 +
.../commands/__tests__/provider-settings.test.ts | 16 ++++
packages/cli/src/commands/provider-settings.ts | 5 +
packages/core/src/__tests__/ai-summarize.test.ts | 102 +++++++++++++++++++++
packages/core/src/ai-summarize.ts | 85 ++++++++++++-----
.../src/__tests__/pi-create-fn-agent.test.ts | 32 +++++++
packages/engine/src/pi.ts | 7 +-
9 files changed, 233 insertions(+), 23 deletions(-)
Fusion-Task-Id: FN-6218
Fusion-Task-Lineage: 3d6aca32-a56a-43a0-a57b-8e6abc839ce9
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
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
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
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
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
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
- 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
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
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
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
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