gsxdsm
39d20be05f
FN-7129: add per-step optional revision budgets
...
Add optional workflow-step revision budgets that can cap or unbound remediation loops.
- Add optional-group maxRevisions parsing, validation, exports, and docs.
- Expose numeric and unbounded revision budget controls in the workflow node editor.
- Apply per-step budgets in executor and self-healing fix loops with regression coverage.
Files changed:
.changeset/fn-7129-per-step-revision-budget.md | 7 ++
docs/dashboard-guide.md | 1 +
docs/settings-reference.md | 2 +-
docs/workflow-steps.md | 10 ++-
.../__tests__/workflow-ir-optional-group.test.ts | 29 ++++++-
packages/core/src/index.ts | 2 +
packages/core/src/workflow-ir-types.ts | 37 +++++++++
packages/core/src/workflow-ir.ts | 15 ++++
.../app/components/WorkflowNodeEditor.tsx | 87 ++++++++++++++++----
.../__tests__/WorkflowNodeEditor.test.tsx | 95 ++++++++++++++++++++++
packages/engine/src/__tests__/self-healing.test.ts | 63 ++++++++++++++
.../workflow-graph-optional-group.test.ts | 30 ++++++-
.../workflow-graph-optional-step-fix.test.ts | 53 ++++++++++++
packages/engine/src/executor.ts | 15 ++--
packages/engine/src/self-healing.ts | 64 +++++++++++----
packages/engine/src/workflow-graph-executor.ts | 6 +-
16 files changed, 469 insertions(+), 47 deletions(-)
Fusion-Task-Id: FN-7129
Fusion-Task-Lineage: dbde94e5-3c99-4f67-aed9-458563e845ae
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 13:05:50 -07:00
gsxdsm
59803c243d
FN-7123: use workflow settings for task models
...
Task model displays now resolve task-scoped workflow settings consistently with execution.
- Add a shared workflow settings overlay helper for stored workflow values and declaration defaults.
- Expose task effective settings through the dashboard API and consume them in TaskDetail model surfaces.
- Cover core overlay behavior, route output, and Workflow tab model rendering with regression tests.
- Document workflow model lane precedence and add a published package changeset.
Files changed:
.changeset/fn-7123-workflow-tab-project-model.md | 7 ++
docs/settings-reference.md | 14 ++-
.../__tests__/effective-settings-overlay.test.ts | 70 ++++++++++++++
packages/core/src/effective-settings-overlay.ts | 27 ++++++
packages/core/src/index.ts | 4 +
packages/dashboard/app/api/legacy.ts | 5 +
.../dashboard/app/components/TaskDetailModal.tsx | 13 ++-
...skDetailModal.models-progress-workflow.test.tsx | 46 +++++++++
.../__tests__/TaskDetailModal.test-helpers.ts | 1 +
.../__tests__/WorkflowResultsTab.test.tsx | 33 +++++++
packages/dashboard/app/test/mockApi.ts | 9 ++
.../task-effective-settings-route.test.ts | 107 +++++++++++++++++++++
.../src/routes/register-task-workflow-routes.ts | 21 ++++
packages/engine/src/effective-settings.ts | 25 ++---
14 files changed, 355 insertions(+), 27 deletions(-)
Fusion-Task-Id: FN-7123
Fusion-Task-Lineage: 5fa9d338-c886-44aa-bdba-0d361b3602d5
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 12:20:42 -07:00
gsxdsm
68282769e6
FN-7128: raise optional-step fix cycle budget
...
Code Review and Browser Verification now rerun through bounded fix passes until they pass.
- Raise the shared maxPostReviewFixes default and fallbacks from 1 to 3.
- Document the built-in optional-step fix cycle and release-note the operator-facing behavior.
- Update workflow graph, settings, and fallback tests for repeated optional-step remediation.
Files changed:
.changeset/fn-7128-optional-step-cycle-default.md | 7 ++
docs/settings-reference.md | 2 +-
docs/workflow-steps.md | 2 +-
.../src/__tests__/workflow-ir-settings.test.ts | 2 +-
packages/core/src/builtin-workflow-settings.ts | 8 +-
packages/core/src/types.ts | 8 +-
.../workflow-graph-optional-group.test.ts | 112 +++++++++++++++++----
.../workflow-graph-optional-step-fix.test.ts | 35 +++++++
.../workflow-settings-fallback-alignment.test.ts | 2 +-
packages/engine/src/executor.ts | 2 +-
packages/engine/src/self-healing.ts | 4 +-
11 files changed, 152 insertions(+), 32 deletions(-)
Fusion-Task-Id: FN-7128
Fusion-Task-Lineage: 8165f746-3828-453a-8ca4-8134c8d33c8f
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 11:42:01 -07:00
gsxdsm
c17d745665
FN-7109: notify operators when CLI agents await input
...
Notify external providers when terminal-backed CLI agents pause for tool permission or user input.
- Add a dedicated cli-agent-awaiting-input notification event to settings, schema defaults, dashboard options, and provider tests.
- Dispatch CLI-agent waiting-on-input notifications from the in-process runtime with task context and prompt-scoped dedupe keys.
- Document the operator behavior and add a published package changeset for the new notification surface.
Files changed:
.changeset/fn-7109-cli-agent-notification.md | 7 ++
docs/agents.md | 4 +
docs/settings-reference.md | 4 +-
.../cli-agent-permission-notifications.md | 13 +++
.../core/src/__tests__/global-settings.test.ts | 1 +
packages/core/src/settings-schema.ts | 1 +
packages/core/src/types.ts | 6 ++
.../SettingsModal.remote-notifications.test.tsx | 1 +
.../components/__tests__/settings-mobile.test.tsx | 2 +-
.../settings/sections/NotificationsSection.tsx | 3 +
.../src/__tests__/in-process-runtime.test.ts | 56 ++++++++++-
packages/engine/src/__tests__/notifier.test.ts | 6 +-
.../engine/src/__tests__/ntfy-provider.test.ts | 4 +
.../engine/src/__tests__/webhook-provider.test.ts | 2 +
.../engine/src/cli-agent/__tests__/runtime.test.ts | 39 +++++++-
.../__tests__/notification-service.test.ts | 56 ++++++++++-
.../src/notification/notification-service.ts | 9 +-
packages/engine/src/notification/ntfy-provider.ts | 7 ++
.../engine/src/notification/webhook-provider.ts | 2 +
packages/engine/src/notifier.ts | 1 +
packages/engine/src/runtimes/in-process-runtime.ts | 111 +++++++++++++++++++++
21 files changed, 326 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-7109
Fusion-Task-Lineage: 636c1875-92a2-46a7-847e-1f4955c0822f
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 09:28:31 -07:00
gsxdsm
28cdd1c215
FN-7099: add project plan approval mode
...
Add a project-wide plan approval mode that can override workflow approval gates.
- Add core plan approval resolution for workflow, auto-approve-all, and require-all modes.
- Apply the resolved approval mode in triage recovery and planning finalization.
- Expose the mode in settings UI with translations, docs, tests, and a changeset.
Files changed:
.changeset/fn-7099-plan-approval-mode.md | 7 +++
docs/settings-reference.md | 3 +-
docs/storage.md | 5 +-
packages/core/src/__tests__/plan-approval.test.ts | 37 ++++++++++++++
packages/core/src/index.ts | 2 +
packages/core/src/plan-approval.ts | 21 ++++++++
packages/core/src/settings-schema.ts | 3 +-
packages/core/src/types.ts | 5 ++
.../dashboard/app/components/SettingsModal.tsx | 1 +
.../SettingsModal.scheduling-merge.test.tsx | 17 +++++++
.../__tests__/SettingsModal.test-harness.tsx | 1 +
.../components/settings/sections/MergeSection.tsx | 19 +++++++
.../MergeSection.legacy-automerge-cleanup.test.tsx | 23 ++++++++-
packages/engine/src/__tests__/triage.test.ts | 58 ++++++++++++++++++++++
packages/engine/src/triage.ts | 10 +++-
packages/i18n/locales/en/app.json | 5 ++
packages/i18n/src/resources.d.ts | 5 ++
17 files changed, 215 insertions(+), 7 deletions(-)
Fusion-Task-Id: FN-7099
Fusion-Task-Lineage: 8b276000-1df3-41e4-a94d-724aac559954
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 09:28:30 -07:00
gsxdsm
a8f51e9423
FN-7098: clarify prompt settings ownership
...
Clarify where Settings and Workflow Editor prompt editing responsibilities live.
- Add explanatory Prompts settings copy and a Workflow Editor navigation affordance.
- Thread the workflow settings opener into the Prompts section while keeping agent prompt tabs available.
- Document prompt ownership and add regression coverage for the new Prompts section behavior.
- Add a patch changeset for the published CLI package.
Files changed:
.changeset/fn-7098-prompts-workflow-alignment.md | 7 ++
docs/settings-reference.md | 11 +-
.../dashboard/app/components/SettingsModal.tsx | 9 +-
.../__tests__/SettingsModal.prompts.test.tsx | 118 +++++++++++++++++++++
.../settings/sections/PromptsSection.tsx | 23 +++-
5 files changed, 164 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-7098
Fusion-Task-Lineage: 57ac1f1b-77f8-4180-abe9-f6752768b17b
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 09:28:29 -07:00
gsxdsm
8b22dd2ffe
FN-7090: link imported GitHub issues as tracked tasks
...
Link GitHub issue imports to existing source issues when tracking defaults are enabled.
- Resolve project/global GitHub tracking defaults before CLI, extension, and dashboard issue imports.
- Mark imported issue tasks as tracking-enabled so the post-create hook adopts the source issue instead of creating duplicates.
- Cover tracked and untracked import behavior across CLI tools, task commands, and dashboard GitHub routes.
- Document the import tracking behavior and add a minor changeset for the published CLI.
Files changed:
.changeset/fn-7090-import-github-tracked.md | 7 ++
docs/cli-reference.md | 2 +
docs/settings-reference.md | 2 +-
.../__tests__/extension-github-tracking.test.ts | 63 +++++++++++
packages/cli/src/__tests__/extension.test.ts | 125 ++++++++++++++++++++-
.../task-command-github-import-tracking.test.ts | 119 ++++++++++++++++++++
packages/cli/src/commands/__tests__/task.test.ts | 64 ++++++++++-
packages/cli/src/commands/task.ts | 30 ++++-
packages/cli/src/extension.ts | 27 +++++
.../dashboard/src/__tests__/routes-github.test.ts | 74 ++++++++++++
.../dashboard/src/routes/register-git-github.ts | 21 +++-
11 files changed, 524 insertions(+), 10 deletions(-)
Fusion-Task-Id: FN-7090
Fusion-Task-Lineage: 1e5510c3-7a98-4ff2-a109-e465ff58b9c2
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-06-27 09:28:29 -07:00
gsxdsm
ad3149093a
FN-7077: inject configured MCP servers across agent surfaces
...
Configured MCP servers now follow every agent-work lane that launches model-backed tools.
- Thread MCP server forwarding through chat, task execution, tools, PR response, cron, memory, research, and planning surfaces.
- Add regression coverage for dashboard and engine lanes that previously omitted MCP server configuration.
- Document all covered MCP surfaces and add a published package changeset.
Files changed:
.changeset/fn-7077-mcp-all-surfaces.md | 7 +
docs/mcp.md | 3 +
docs/settings-reference.md | 2 +-
packages/cli/src/commands/__tests__/serve.test.ts | 3 +-
packages/core/src/memory-compaction.ts | 4 +
.../src/__tests__/mcp-lane-forwarding.test.ts | 62 +++++++++
packages/dashboard/src/agent-generation.ts | 4 +
packages/dashboard/src/ai-refine.ts | 8 ++
.../dashboard/src/milestone-slice-interview.ts | 11 +-
packages/dashboard/src/mission-interview.ts | 9 +-
packages/dashboard/src/pr-conflict-resolver.ts | 12 +-
packages/dashboard/src/routes.ts | 10 ++
packages/dashboard/src/subtask-breakdown.ts | 8 ++
packages/engine/src/__tests__/cron-runner.test.ts | 61 +++++++++
.../src/__tests__/mcp-lane-forwarding.test.ts | 3 +-
.../__tests__/mcp-pr-response-forwarding.test.ts | 110 ++++++++++++++++
.../src/__tests__/mcp-surface-coverage.test.ts | 141 +++++++++++++++++++++
packages/engine/src/agent-heartbeat.ts | 18 +++
packages/engine/src/cli-agent-ask.ts | 4 +
packages/engine/src/cron-runner.ts | 9 +-
packages/engine/src/pr-nodes.ts | 2 +-
packages/engine/src/pr-response-run-ops.ts | 10 +-
packages/engine/src/project-engine.ts | 2 +-
.../research/providers/llm-synthesis-provider.ts | 4 +
.../src/research/providers/web-search-provider.ts | 4 +
25 files changed, 497 insertions(+), 14 deletions(-)
Fusion-Task-Id: FN-7077
Fusion-Task-Lineage: 00d36357-c3d8-4954-b647-d3aea24a967b
2026-06-26 16:14:44 -07:00
gsxdsm
31d3f21e18
FN-7065: add deterministic Fusion co-author trailers
...
Fusion now applies co-author attribution through merge and worktree plumbing instead of relying on prompt-written commit messages.
- Add commit-msg hook support for deterministic Co-authored-by trailers with configured Fusion identity.
- Propagate commit attribution settings through native and worktrunk worktree backends.
- Backfill AI squash merge trailers with Fusion task metadata and co-author attribution.
- Document the settings behavior and add a patch changeset for published CLI behavior.
- Cover hook, executor, AI merge, and real-git trailer behavior with tests.
Files changed:
.changeset/fn-7065-co-author-trailer.md | 7 +++
docs/settings-reference.md | 6 +--
packages/engine/src/__tests__/merger-ai.test.ts | 43 +++++++++++++++++++
.../real-git/commit-msg-trailer.real-git.test.ts | 50 ++++++++++++++++++++++
.../engine/src/__tests__/worktree-hooks.test.ts | 15 +++++++
packages/engine/src/executor.ts | 4 ++
packages/engine/src/merger-ai.ts | 22 ++++++++--
packages/engine/src/step-session-executor.ts | 3 ++
packages/engine/src/worktree-acquisition.ts | 3 ++
packages/engine/src/worktree-backend.ts | 13 +++++-
packages/engine/src/worktree-hooks.ts | 33 +++++++++++++-
11 files changed, 190 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-7065
Fusion-Task-Lineage: 4f5cd0ff-7193-4f97-bdcd-4cd78c7669b9
2026-06-26 13:13:46 -07:00
gsxdsm
f685518a93
FN-7064: discover MCP servers in settings
...
Add read-only MCP discovery with settings UI controls that keep discovered secrets bound to Fusion secret references.
- Add core MCP discovery source resolution and parsing for supported global and project tool configs.
- Expose discovered MCP server candidates through the dashboard API and engine discovery service.
- Surface discovered servers in global and project MCP settings with explicit add flows and configured-state handling.
- Require discovered sensitive env/header/token descriptors to stay locked until bound or created as Fusion secret references.
- Document discovery behavior and add a published package changeset.
Files changed:
.changeset/fn-7064-mcp-auto-discovery.md | 7 ++
docs/dashboard-guide.md | 3 +-
docs/mcp.md | 53 ++++++++-
docs/settings-reference.md | 4 +-
packages/core/src/__tests__/mcp-discovery.test.ts | 74 ++++++++++++
packages/core/src/index.ts | 7 ++
packages/core/src/mcp-discovery.ts | 125 ++++++++++++++++++++
.../__tests__/SettingsModal.mcp.test.tsx | 76 +++++++++++-
.../settings/sections/McpServersCard.css | 34 +++++-
.../settings/sections/McpServersCard.tsx | 130 ++++++++++++++++++++-
.../src/__tests__/mcp-discovered-route.test.ts | 109 +++++++++++++++++
packages/dashboard/src/routes.ts | 46 ++++++++
.../src/__tests__/mcp-discovery-service.test.ts | 60 ++++++++++
packages/engine/src/index.ts | 1 +
packages/engine/src/mcp-discovery-service.ts | 65 +++++++++++
15 files changed, 782 insertions(+), 12 deletions(-)
Fusion-Task-Id: FN-7064
Fusion-Task-Lineage: ef5dc53f-f8d1-4cc8-bdaf-e98d63ee8406
2026-06-26 11:56:12 -07:00
gsxdsm
2442032382
FN-7061: Graduate Remote Access settings
...
Remote Access settings are now always available while tunnel prerequisites remain gated.
- Remove Remote Access from experimental feature toggles and section visibility gates.
- Keep legacy remoteAccess experimental flags hidden so upgrades cannot disable the section.
- Update settings and remote access docs plus release notes for the graduated UI.
- Cover always-visible Remote Access behavior across missing and legacy experimental flag states.
Files changed:
.changeset/fn-7061-remote-access-graduation.md | 7 +++
docs/remote-access.md | 2 +-
docs/settings-reference.md | 1 +
.../dashboard/app/components/SettingsModal.tsx | 17 ++----
.../SettingsModal.remote-notifications.test.tsx | 13 +++++
.../SettingsModal.scheduling-merge.test.tsx | 60 ++++++++++++----------
6 files changed, 60 insertions(+), 40 deletions(-)
Fusion-Task-Id: FN-7061
Fusion-Task-Lineage: 2e6a6977-b43b-4c7b-8100-0f2f2f018fcf
2026-06-26 10:18:04 -07:00
gsxdsm
3ee47dec86
merge: integrate origin/main into feature/workflow-steps (FN-7039)
...
Resolve conflicts from 56 upstream commits:
- db.ts: renumber my migrations around main's new migration 130 (columnDwellMs) —
enable-id normalization 130→131, drop-table 131→132, SCHEMA_VERSION→132.
- index.ts / routes.ts: take main's new MCP exports/imports; keep WORKFLOW_STEP_TEMPLATES
array removed (kept the WorkflowStepTemplate type).
- merger.ts: keep the legacy post-merge execution path removed (U7c) over main's version.
- ci-workflow.test.ts (from main): add port-4040/process-supervisor allowlist markers to
the gate-script assertions that reference the checker filenames (pre-existing self-match).
Gate green (engine-core 299, ci-shape 62); boot smoke PASS; migration tests + typecheck clean.
2026-06-26 08:50:22 -07:00
gsxdsm
3bfdb16650
FN-7033: document MCP operator workflows
...
Add a canonical MCP guide with operator workflows and contract coverage.
- Add docs/mcp.md covering MCP settings resolution, transports, secret references, validation, dashboard management, CLI commands, import/export, and AI lane forwarding.
- Link the MCP guide from the docs index, CLI reference, settings reference, secrets docs, and dashboard guide.
- Add a documentation contract test that checks required guide sections and source-aligned MCP surfaces.
Files changed:
docs/README.md | 1 +
docs/cli-reference.md | 2 +-
docs/dashboard-guide.md | 2 +-
docs/mcp.md | 221 +++++++++++++++++++++
docs/secrets.md | 2 +-
docs/settings-reference.md | 2 +
.../src/__tests__/mcp-documentation.test.ts | 65 ++++++
7 files changed, 292 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-7033
Fusion-Task-Lineage: 530abc69-0247-49ee-9487-54d8e2a1b988
2026-06-26 02:52:51 -07:00
gsxdsm
c0f9f2b4a9
docs(FN-7039): rewrite workflow-steps docs to the graph-native model
...
Reflect the completed cutover: quality gates are optional-group IR nodes (pre- and
post-merge), results live on task.workflowStepResults (graph-written), custom gates are
authored in the Workflow Editor, plugin templates are the palette. Removed docs for the
deleted runWorkflowSteps path, WORKFLOW_STEP_TEMPLATES catalog, /api/workflow-steps CRUD,
Settings → Workflow Steps manager, and the workflow_steps table. Documented
experimentalFeatures.graphNativePostMerge (default-ON) and the FN-4343 per-step scope-gate
follow-up. settings-reference: add graphNativePostMerge, annotate workflowStepScopeEnforcement.
Plan U8.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 02:38:31 -07:00
gsxdsm
d739223de2
FN-7049: collapse model pricing behind modal editor
...
Collapse the Global Models pricing editor into a compact summary with a modal table for detailed edits.
- Add a View pricing table modal with escape, overlay, and close-button dismissal.
- Keep add, edit, delete, and LiteLLM fetch workflows available while showing override counts in the collapsed settings view.
- Update model pricing tests, styling, and documentation for the collapsed summary and modal editor.
Files changed:
docs/dashboard-guide.md | 2 +-
docs/settings-reference.md | 4 +-
.../settings/sections/ModelPricingSection.css | 36 +++++-
.../settings/sections/ModelPricingSection.test.tsx | 62 ++++++++-
.../settings/sections/ModelPricingSection.tsx | 144 +++++++++++++++------
5 files changed, 198 insertions(+), 50 deletions(-)
Fusion-Task-Id: FN-7049
Fusion-Task-Lineage: 9ba63354-28e7-4717-81e6-805f1f05fd97
2026-06-26 01:04:03 -07:00
gsxdsm
6c94ee069c
FN-7023: forward MCP runtime config to AI lanes
...
Forward enabled MCP server configuration through AI session creation and validation paths.
- Resolve and materialize effective MCP servers with secret values at runtime for triage, execution, review, merge, evaluation, reflection, mission validation, and dashboard chat/planning lanes.
- Add runtime support guards, Claude CLI MCP config generation, and a dashboard validation route for MCP server reachability probes.
- Cover MCP forwarding, provider support behavior, settings resolution, validation, and pi extension config generation with targeted tests and docs.
Files changed:
.changeset/fn-7023-mcp-runtime-forwarding.md | 7 +
docs/agents.md | 2 +
docs/secrets.md | 1 +
docs/settings-reference.md | 6 +-
.../src/__tests__/mcp-lane-forwarding.test.ts | 79 +++++++++++
.../src/__tests__/mcp-validate-route.test.ts | 111 ++++++++++++++++
packages/dashboard/src/chat.ts | 3 +
packages/dashboard/src/planning.ts | 5 +
packages/dashboard/src/routes.ts | 90 ++++++++++++-
.../src/__tests__/mcp-lane-forwarding.test.ts | 95 ++++++++++++++
.../engine/src/__tests__/mcp-resolution.test.ts | 104 +++++++++++++++
.../src/__tests__/mcp-runtime-support.test.ts | 44 +++++++
.../src/__tests__/mcp-validation-service.test.ts | 69 ++++++++++
packages/engine/src/__tests__/pi.test.ts | 65 +++++++++
packages/engine/src/agent-reflection.ts | 3 +
packages/engine/src/agent-runtime.ts | 36 ++++-
packages/engine/src/agent-session-helpers.ts | 2 +
packages/engine/src/evaluator.ts | 3 +
packages/engine/src/executor.ts | 14 ++
packages/engine/src/index.ts | 3 +
packages/engine/src/mcp-resolution.ts | 81 ++++++++++++
packages/engine/src/mcp-runtime-support.ts | 41 ++++++
packages/engine/src/mcp-validation-service.ts | 146 +++++++++++++++++++++
packages/engine/src/merger-ai.ts | 5 +
packages/engine/src/merger.ts | 14 ++
packages/engine/src/mission-execution-loop.ts | 3 +
packages/engine/src/pi.ts | 44 +++++--
packages/engine/src/reviewer.ts | 3 +
packages/engine/src/runtime-resolution.ts | 8 +-
packages/engine/src/step-session-executor.ts | 6 +-
packages/engine/src/triage.ts | 5 +
packages/pi-claude-cli/index.ts | 20 ++-
packages/pi-claude-cli/src/mcp-config.ts | 65 ++++++++-
33 files changed, 1150 insertions(+), 33 deletions(-)
Fusion-Task-Id: FN-7023
Fusion-Task-Lineage: ea09c6c7-b3c3-4af6-9ca6-0ebbfec17139
2026-06-26 00:57:32 -07:00
gsxdsm
98a5052b65
FN-6706: add signal connector incident ingestion
...
Connect external signal ingestion routes to Command Center incident analytics.\n\n- Add connector status reporting and incident upsert/resolution support for webhook, Sentry, Datadog, and PagerDuty sources.\n- Move signal aggregation through shared activity analytics and expose connector-aware empty states in Command Center.\n- Document connector setup, settings, and dashboard behavior with a published changeset.\n- Extend route, analytics, and Command Center UI tests for scoped signal data and configured-but-quiet connectors.\n\nFiles changed:\n .changeset/fn-6706-signal-connectors.md | 7 +\n AGENTS.md | 1 +\n docs/dashboard-guide.md | 4 +-\n docs/settings-reference.md | 16 +\n docs/signals-connectors.md | 140 ++++++++\n .../core/src/__tests__/signals-analytics.test.ts | 37 ++-\n packages/core/src/activity-analytics.ts | 185 ++++++++++-\n packages/core/src/index.ts | 11 +-\n packages/core/src/signals-analytics.ts | 209 +-----------\n .../command-center/areas/SignalsArea.tsx | 47 ++-\n .../areas/__tests__/areas.github-signals.test.tsx | 120 +++++--\n .../command-center/areas/__tests__/areas.test.tsx | 3 +-\n .../register-command-center-routes.test.ts | 72 +++-\n .../src/__tests__/register-signal-routes.test.ts | 369 ++++++++++++++++++++-\n .../src/routes/register-command-center-routes.ts | 29 +-\n .../dashboard/src/routes/register-signal-routes.ts | 55 +++\n packages/dashboard/src/signal-source.ts | 8 +\n packages/dashboard/src/signal-sources/datadog.ts | 8 +\n packages/dashboard/src/signal-sources/pagerduty.ts | 14 +-\n packages/dashboard/src/signal-sources/sentry.ts | 19 +-\n packages/dashboard/src/signal-sources/webhook.ts | 8 +\n 21 files changed, 1094 insertions(+), 268 deletions(-)
Fusion-Task-Id: FN-6706
Fusion-Task-Lineage: 09003e9b-481b-4393-926b-44907d13bcf9
2026-06-26 00:28:31 -07:00
gsxdsm
b6b5583f01
FN-7039: apply execution-lane models to workflow steps
...
Route workflow and automation prompt steps through the execution-lane model hierarchy.
- Use executor session model resolution for task workflow prompt steps while preserving per-step overrides.
- Use execution settings model resolution for scheduled and manual AI-prompt automation runs.
- Document the model precedence and add regression coverage plus a patch changeset.
Files changed:
.changeset/fn-7039-workflow-execution-model.md | 7 +
docs/settings-reference.md | 2 +
.../core/src/__tests__/model-resolution.test.ts | 12 ++
packages/dashboard/src/routes.ts | 6 +-
.../engine/src/__tests__/executor-test-helpers.ts | 11 +-
.../__tests__/executor-workflow-step-model.test.ts | 234 +++++++++++++++++++++
packages/engine/src/cron-runner.ts | 7 +-
packages/engine/src/executor.ts | 23 +-
8 files changed, 285 insertions(+), 17 deletions(-)
Fusion-Task-Id: FN-7039
Fusion-Task-Lineage: f27c4be8-7793-4212-b9ee-679f50193406
2026-06-25 21:05:33 -07:00
gsxdsm
79c602d9d4
FN-7022: add MCP server configuration foundation
...
Add core MCP configuration primitives for secure server declarations and resolution.
- Add MCP server setting types, schema entries, validation, and project-over-global resolution.
- Add secret-reference materialization seams plus Claude Desktop import/export helpers.
- Cover MCP config behavior with core unit tests and document settings and secret handling.
- Add a changeset for the published CLI package.
Files changed:
.changeset/fn-7022-mcp-core-foundation.md | 7 +
docs/secrets.md | 3 +-
docs/settings-reference.md | 23 ++
packages/core/src/__tests__/mcp-config.test.ts | 199 ++++++++++++++
packages/core/src/index.ts | 30 +-
packages/core/src/mcp-config.ts | 366 +++++++++++++++++++++++++
packages/core/src/settings-schema.ts | 90 +++++-
packages/core/src/settings-validation.ts | 172 +++++++++++-
packages/core/src/types.ts | 62 +++++
9 files changed, 947 insertions(+), 5 deletions(-)
Fusion-Task-Id: FN-7022
Fusion-Task-Lineage: 7bafd0b8-e4a5-4bc2-9a2a-43bfb934845c
2026-06-25 21:01:15 -07:00
gsxdsm
9fabc9d750
FN-6962: ignore hidden overlap paths by default
...
Hidden dot paths no longer create file-overlap blockers unless operators opt back into legacy behavior.
- Add the ignoreHiddenOverlapPaths project setting, schema default, API sanitization, and Settings UI toggle.
- Filter hidden dot segments from scheduler, gridlock, and self-healing overlap checks by default while preserving explicit ignore paths.
- Cover default and opt-out behavior across core parity, dashboard settings routes, scheduler, gridlock, and self-healing tests.
- Document the setting and add a patch changeset for the published CLI package.
Files changed:
.changeset/fn-6962-hidden-overlap-paths.md | 7 ++
docs/settings-reference.md | 1 +
.../core/src/__tests__/settings-parity.test.ts | 7 ++
packages/core/src/settings-schema.ts | 1 +
packages/core/src/types.ts | 7 ++
.../dashboard/app/components/SettingsModal.tsx | 4 +-
.../components/__tests__/SettingsModal.test.tsx | 69 ++++++++++++++
.../settings/sections/SchedulingSection.tsx | 10 ++
.../src/__tests__/routes-settings.test.ts | 30 ++++++
packages/dashboard/src/routes.ts | 9 ++
.../src/routes/register-settings-memory-routes.ts | 6 +-
.../engine/src/__tests__/gridlock-detector.test.ts | 32 +++++++
.../__tests__/scheduler-overlap-starvation.test.ts | 102 ++++++++++++++++++++-
packages/engine/src/__tests__/self-healing.test.ts | 24 +++++
packages/engine/src/gridlock-detector.ts | 5 +-
packages/engine/src/scheduler.ts | 40 +++++---
packages/engine/src/self-healing.ts | 2 +-
packages/i18n/locales/en/app.json | 2 +
packages/i18n/locales/es/app.json | 11 ++-
packages/i18n/locales/fr/app.json | 11 ++-
packages/i18n/locales/ko/app.json | 11 ++-
packages/i18n/locales/zh-CN/app.json | 11 ++-
packages/i18n/locales/zh-TW/app.json | 11 ++-
packages/i18n/src/resources.d.ts | 2 +
24 files changed, 379 insertions(+), 36 deletions(-)
Fusion-Task-Id: FN-6962
Fusion-Task-Lineage: c79120d3-fd9e-439d-b2cf-439f9e2e6952
2026-06-25 08:35:44 -07:00
gsxdsm
f5e1b966ab
FN-6943: add worktree file copy settings
...
Add configurable file-copy seeding for new task worktrees.
- Add the worktreeCopyFiles setting to project settings, schema validation, and dashboard settings UI.
- Copy selected files into acquired worktrees after checkout and record audit events for copied/skipped files.
- Document the new Worktrees setting and cover it with core, dashboard, and engine tests.
Files changed:
.changeset/fn-6943-worktree-copy-files.md | 7 +
docs/dashboard-guide.md | 4 +
docs/settings-reference.md | 1 +
packages/core/src/__tests__/store-settings.test.ts | 24 ++++
packages/core/src/settings-schema.ts | 5 +
packages/core/src/types.ts | 7 +
.../app/__tests__/settings-sections.test.tsx | 66 +++++++++
.../dashboard/app/components/SettingsModal.tsx | 146 ++++++++++++++++++++
.../components/__tests__/SettingsModal.test.tsx | 91 +++++++++++++
.../settings/sections/WorktreesSection.tsx | 51 ++++++-
.../src/__tests__/worktree-acquisition.test.ts | 69 +++++++++-
.../src/__tests__/worktree-copy-files.test.ts | 112 ++++++++++++++++
packages/engine/src/run-audit.ts | 6 +
packages/engine/src/worktree-acquisition.ts | 32 ++++-
packages/engine/src/worktree-copy-files.ts | 147 +++++++++++++++++++++
15 files changed, 765 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-6943
Fusion-Task-Lineage: fd1ded06-25f9-4496-8f50-6416446d2f29
2026-06-25 08:34:44 -07:00
gsxdsm
eb3833a542
FN-6971: retire dual-observe cutover gating
...
Remove stale dual-observe prerequisites from workflow-authoritative readiness while preserving parity-summary safeguards.
- Require the authoritative flag plus clean populated parity summaries for interpreter cutover readiness.
- Keep persisted workflowInterpreterDualObserve values inert in runtime tests and documentation.
- Update cutover, parity, and graph-executor tests to reflect retired shadow observation behavior.
- Add a formatted patch changeset for the operator-facing cutover readiness fix.
Files changed:
.changeset/fn-6971-workflow-cutover-readiness.md | 7 ++
docs/architecture.md | 2 +-
docs/settings-reference.md | 4 +-
docs/workflow-steps.md | 19 +++--
.../core/src/__tests__/workflow-cutover.test.ts | 19 +++--
packages/core/src/workflow-cutover.ts | 9 +--
.../workflow-interpreter-cutover.test.ts | 87 +++++++++++++++++++---
.../workflow-interpreter-dual-observe.test.ts | 76 ++++++-------------
.../src/__tests__/stepwise-workflow-parity.test.ts | 25 ++++---
.../engine/src/workflow-authoritative-driver.ts | 10 +--
10 files changed, 152 insertions(+), 106 deletions(-)
Fusion-Task-Id: FN-6971
Fusion-Task-Lineage: 363a441d-62e5-403c-9389-75fcf788352a
2026-06-24 23:32:52 -07:00
gsxdsm
038ac3060b
FN-6963: disable tool output log details by default
...
Agent logs now keep tool timeline rows while requiring an explicit opt-in to persist verbose tool payloads.
- Default persistAgentToolOutput to false in global settings and direct AgentLogger construction.
- Update the settings UI, API expectations, documentation, and changeset to describe opt-in tool payload persistence.
- Adjust engine and dashboard tests for the new default-off behavior while preserving explicit opt-in coverage.
Files changed:
.changeset/FN-6963-tool-output-default-off.md | 5 ++++
docs/settings-reference.md | 2 +-
packages/core/src/settings-schema.ts | 6 ++++-
.../components/__tests__/SettingsModal.test.tsx | 22 +++++++++++++---
.../settings/sections/GlobalGeneralSection.tsx | 2 +-
.../src/__tests__/routes-settings.test.ts | 4 +--
packages/engine/src/__tests__/agent-logger.test.ts | 30 ++++++++++++++++++----
.../src/__tests__/heartbeat-executor.test.ts | 4 +--
.../src/__tests__/merger-merge-details.test.ts | 2 +-
.../src/__tests__/merger-verification.test.ts | 2 +-
.../src/__tests__/step-session-executor.test.ts | 4 +--
packages/engine/src/__tests__/triage.test.ts | 2 +-
packages/engine/src/agent-logger.ts | 8 ++++--
13 files changed, 71 insertions(+), 22 deletions(-)
Fusion-Task-Id: FN-6963
Fusion-Task-Lineage: 7db32871-f539-4a27-a324-02c55ce5bd04
2026-06-23 23:35:33 -07:00
gsxdsm
efb94c8623
FN-6876: add editable model pricing refresh
...
Add editable model pricing overrides and a LiteLLM refresh path for usage cost analytics.
- Add persisted model pricing override settings and apply them to token and team analytics cost calculations.
- Add a Command Center pricing fetch endpoint that imports chat pricing from LiteLLM and invalidates settings caches.
- Add a Global Models pricing editor with manual rows, removal, and one-click fetch support.
- Cover override lookup, settings parity, analytics, route behavior, and UI editing with tests and docs.
Files changed:
.changeset/model-pricing-overrides.md | 5 +
docs/architecture.md | 3 +-
docs/dashboard-guide.md | 5 +-
docs/settings-reference.md | 3 +
packages/core/src/__tests__/model-pricing.test.ts | 101 +++++++++++
.../core/src/__tests__/settings-parity.test.ts | 4 +
packages/core/src/__tests__/store-settings.test.ts | 25 +++
.../core/src/__tests__/token-analytics.test.ts | 39 +++++
packages/core/src/index.ts | 4 +
packages/core/src/model-pricing.ts | 118 +++++++++++--
packages/core/src/settings-schema.ts | 3 +
packages/core/src/team-analytics.ts | 17 +-
packages/core/src/token-analytics.ts | 19 +-
packages/core/src/types.ts | 12 ++
.../dashboard/app/components/SettingsModal.tsx | 2 +
.../settings/sections/GlobalModelsSection.tsx | 8 +-
.../settings/sections/ModelPricingSection.css | 82 +++++++++
.../settings/sections/ModelPricingSection.test.tsx | 126 ++++++++++++++
.../settings/sections/ModelPricingSection.tsx | 193 +++++++++++++++++++++
.../register-command-center-routes.test.ts | 172 +++++++++++++++++-
.../src/routes/register-command-center-routes.ts | 58 +++++++
21 files changed, 967 insertions(+), 32 deletions(-)
Fusion-Task-Id: FN-6876
Fusion-Task-Lineage: 4d4e3b9d-bec4-4e14-b7bc-88f846465566
2026-06-23 01:14:11 -07:00
gsxdsm
c229a15e20
FN-6934: restrict agent workflow reassignment
...
Clarify agent workflow-routing prompts so agents do not reassign tasks they did not create unless directed.
- Add executor guardrails against changing the current task workflow without explicit user instruction.
- Update triage workflow-routing guidance to distinguish existing tasks from agent-created tasks.
- Cover workflow ownership policy in prompt and engine tests, docs, and a patch changeset.
Files changed:
.changeset/fn-6934-workflow-movement-policy.md | 5 +++++
docs/agents.md | 6 ++++++
docs/custom-workflow-reliability-acceptance-map.md | 7 +++++--
docs/settings-reference.md | 9 +++++++--
docs/workflow-steps.md | 9 +++++++--
packages/core/src/__tests__/agent-prompts.test.ts | 15 ++++++++++++++
packages/core/src/agent-prompts.ts | 23 ++++++++++++++++------
.../src/__tests__/executor-review-verdicts.test.ts | 3 +++
.../__tests__/triage-threshold-settings.test.ts | 3 +++
packages/engine/src/__tests__/triage.test.ts | 2 +-
packages/engine/src/executor.ts | 5 +++++
11 files changed, 74 insertions(+), 13 deletions(-)
Fusion-Task-Id: FN-6934
Fusion-Task-Lineage: cc583806-b160-4a08-b1a7-e798a575dbd5
2026-06-22 17:58:27 -07:00
gsxdsm
26c8d960a2
FN-6893: add editable built-in workflow prompts
...
Enable project-scoped prompt overrides for built-in workflows without allowing structural edits.
- Add workflow prompt override storage, normalization, and IR overlay support for prompt and gate nodes.
- Expose dashboard API routes and Workflow Node Editor controls to edit or reset built-in prompts.
- Cover override persistence, route behavior, editor flows, and engine workflow resolution with tests.
- Document editable built-in prompts and reset-to-default behavior.
Files changed:
docs/dashboard-guide.md | 2 +-
docs/settings-reference.md | 2 +
docs/workflow-steps.md | 20 ++-
.../__tests__/workflow-definition-store.test.ts | 25 +++
.../workflow-prompt-overrides-store.test.ts | 190 ++++++++++++++++++++
.../__tests__/workflow-prompt-overrides.test.ts | 58 +++++++
packages/core/src/db.ts | 35 +++-
packages/core/src/index.ts | 7 +
packages/core/src/store.ts | 97 ++++++++++-
packages/core/src/workflow-ir-resolver.ts | 21 ++-
packages/core/src/workflow-prompt-overrides.ts | 65 +++++++
packages/dashboard/app/api/legacy.ts | 34 ++++
.../app/components/WorkflowNodeEditor.css | 35 ++++
.../app/components/WorkflowNodeEditor.tsx | 191 ++++++++++++++++++++-
.../__tests__/WorkflowNodeEditor.test.tsx | 136 ++++++++++++++-
.../src/__tests__/workflow-routes.test.ts | 59 +++++++
.../src/routes/register-workflow-routes.ts | 86 +++++++++-
.../workflow-prompt-overrides-resolution.test.ts | 61 +++++++
packages/i18n/locales/en/app.json | 14 +-
packages/i18n/locales/es/app.json | 14 +-
packages/i18n/locales/fr/app.json | 14 +-
packages/i18n/locales/ko/app.json | 14 +-
packages/i18n/locales/zh-CN/app.json | 14 +-
packages/i18n/locales/zh-TW/app.json | 14 +-
24 files changed, 1168 insertions(+), 40 deletions(-)
Fusion-Task-Id: FN-6893
Fusion-Task-Lineage: 961eb119-32e1-44c3-9b51-6edd982fa565
2026-06-21 21:23:41 -07:00
gsxdsm
58f758842b
FN-6816: add shadcn custom color picker
...
Add a Shadcn Custom theme flow for editing and applying sanitized dashboard color tokens.
- Add a lazy-loaded Shadcn color picker modal with token defaults, reset controls, and validation tests.
- Persist sanitized custom color overrides through settings, pre-hydration theme bootstrapping, and Command Center/theme dropdown surfaces.
- Register the Shadcn Custom theme option in core types, schema, docs, theme CSS, and release notes.
Files changed:
.changeset/fn-6816-shadcn-custom-colors.md | 5 +
docs/dashboard-guide.md | 2 +-
docs/settings-reference.md | 3 +-
packages/core/src/settings-schema.ts | 1 +
packages/core/src/types.ts | 4 +
packages/dashboard/app/App.tsx | 7 +-
packages/dashboard/app/components/AppModals.tsx | 6 +
.../dashboard/app/components/SettingsModal.tsx | 12 ++
.../dashboard/app/components/ShadcnColorPicker.css | 101 ++++++++++++++
.../dashboard/app/components/ShadcnColorPicker.tsx | 95 +++++++++++++
.../dashboard/app/components/ThemeDropdown.tsx | 23 +++-
.../dashboard/app/components/ThemeSelector.css | 14 ++
.../dashboard/app/components/ThemeSelector.tsx | 19 ++-
.../__tests__/ShadcnColorPicker.test.tsx | 50 +++++++
.../components/__tests__/ThemeDropdown.test.tsx | 19 +++
.../components/__tests__/ThemeSelector.test.tsx | 64 +++++++++
.../__tests__/shadcnCustomColors.test.ts | 52 ++++++++
.../components/command-center/CommandCenter.tsx | 15 +++
.../command-center/CommandCenterControls.tsx | 8 +-
.../settings/sections/AppearanceSection.tsx | 8 +-
.../dashboard/app/components/shadcnCustomColors.ts | 80 +++++++++++
packages/dashboard/app/components/themeOptions.ts | 1 +
.../dashboard/app/hooks/__tests__/useTheme.test.ts | 108 +++++++++++++++
packages/dashboard/app/hooks/useTheme.ts | 91 ++++++++++++-
packages/dashboard/app/index.html | 19 ++-
packages/dashboard/app/public/theme-data.css | 148 ++++++++++++++++++++-
26 files changed, 938 insertions(+), 17 deletions(-)
Fusion-Task-Id: FN-6816
Fusion-Task-Lineage: f16baaa9-16f5-4526-8159-9a1ceff4f807
2026-06-21 16:13:54 -07:00
gsxdsm
c158dda8a6
FN-6745: add xhigh thinking level support
...
Adds the xhigh reasoning option across settings, task flows, APIs, and model adapter tests.
- Extend the shared thinking-level enum, validation paths, generated resource types, and settings documentation for `xhigh`.
- Surface `xhigh` in task, agent, and global model selectors with localized labels.
- Cover task route handling, task form rendering, and Pi adapter mapping behavior with regression tests.
- Add a patch changeset for the published Fusion package.
Files changed:
.changeset/fn-6745-xhigh-thinking-level.md | 5 +
docs/settings-reference.md | 2 +-
.../core/src/__tests__/thinking-levels.test.ts | 9 ++
packages/core/src/types.ts | 10 +-
packages/dashboard/app/api/legacy.ts | 6 +-
.../dashboard/app/components/AgentDetailView.tsx | 2 +-
.../dashboard/app/components/ModelSelectorTab.tsx | 1 +
.../dashboard/app/components/NewAgentDialog.tsx | 3 +-
packages/dashboard/app/components/NewTaskModal.tsx | 2 +-
.../dashboard/app/components/TaskDetailModal.tsx | 2 +-
packages/dashboard/app/components/TaskForm.tsx | 2 +
.../app/components/__tests__/TaskForm.test.tsx | 14 +++
.../settings/sections/GlobalModelsSection.tsx | 1 +
.../src/__tests__/routes-tasks-ops.test.ts | 8 +-
.../dashboard/src/__tests__/routes-tasks.test.ts | 8 +-
packages/dashboard/src/agent-generation.ts | 4 +-
packages/dashboard/src/agent-onboarding.ts | 4 +-
.../src/routes/register-task-workflow-routes.ts | 5 +-
packages/engine/src/__tests__/pi.test.ts | 25 ++++
packages/i18n/locales/en/app.json | 3 +
packages/i18n/locales/es/app.json | 3 +
packages/i18n/locales/fr/app.json | 3 +
packages/i18n/locales/ko/app.json | 3 +
packages/i18n/locales/zh-CN/app.json | 3 +
packages/i18n/locales/zh-TW/app.json | 3 +
packages/i18n/src/resources.d.ts | 126 ++++++++++++++++++++-
26 files changed, 229 insertions(+), 28 deletions(-)
Fusion-Task-Id: FN-6745
Fusion-Task-Lineage: 779e1517-607b-482b-83a1-0f2bb94ae736
2026-06-19 16:47:34 -07:00
gsxdsm
5145e609cc
FN-6727: add Command Center operator controls
...
Add operator controls to the Command Center overview and reuse a shared theme dropdown.
- Add Command Center controls for org chart status, pause toggles, heartbeat, concurrency settings, and theme selection.
- Extract theme option metadata and a reusable ThemeDropdown for app-level and Command Center theme controls.
- Update localization, documentation, and dashboard tests for the new controls and mobile layout behavior.
Files changed:
docs/dashboard-guide.md | 1 +
docs/settings-reference.md | 6 +-
packages/dashboard/app/App.tsx | 8 +-
.../dashboard/app/components/ThemeDropdown.css | 96 +++++
.../dashboard/app/components/ThemeDropdown.tsx | 175 +++++++++
.../dashboard/app/components/ThemeSelector.tsx | 65 +---
.../components/__tests__/ThemeDropdown.test.tsx | 76 ++++
.../components/__tests__/ThemeSelector.test.tsx | 18 +
.../components/command-center/CommandCenter.tsx | 52 ++-
.../command-center/CommandCenterControls.css | 193 ++++++++++
.../command-center/CommandCenterControls.tsx | 424 +++++++++++++++++++++
.../__tests__/CommandCenter.mobile-scroll.test.tsx | 17 +
.../__tests__/CommandCenter.test.tsx | 26 +-
.../__tests__/CommandCenterControls.test.tsx | 241 ++++++++++++
packages/dashboard/app/components/themeOptions.ts | 70 ++++
packages/i18n/locales/en/app.json | 47 +++
16 files changed, 1442 insertions(+), 73 deletions(-)
Fusion-Task-Id: FN-6727
Fusion-Task-Lineage: bd7752cf-9f6e-4359-a5bc-d2a4b68d086b
2026-06-19 16:47:33 -07:00
gsxdsm
b6ac5f2e51
FN-6608: bound engine verification runs
...
Add durable engine-level guardrails for verification command timeouts.
- Add project-level verificationCommandTimeoutMs settings plumbing and docs.
- Enforce configured verification budgets and hard caps in executor and merger verification paths.
- Detect marathon verification commands, soft-cap them by default, and require allowFullSuite for explicit full-suite runs.
- Cover timeout defaults, marathon detection, and guidance updates with engine/core tests.
Files changed:
.changeset/fn-6608-verification-bound.md | 5 +
docs/settings-reference.md | 1 +
docs/testing.md | 2 +
.../src/__tests__/settings-consistency.test.ts | 5 +
packages/core/src/agent-prompts.ts | 6 +-
packages/core/src/settings-schema.ts | 7 +-
packages/core/src/types.ts | 6 +
.../engine/src/__tests__/executor-core.test.ts | 3 +
.../src/__tests__/run-verification-command.test.ts | 176 ++++++++++++++++++++-
packages/engine/src/executor.ts | 11 +-
packages/engine/src/merger.ts | 9 +-
packages/engine/src/run-verification-tool.ts | 142 +++++++++++++++--
packages/engine/src/verification-utils.ts | 13 +-
13 files changed, 360 insertions(+), 26 deletions(-)
Fusion-Task-Id: FN-6608
Fusion-Task-Lineage: c593a96d-eb8b-492c-82c7-8943c239f588
2026-06-18 01:27:09 -07:00
gsxdsm
7f4f611367
FN-6611: clarify engineer backlog auto-claim routing
...
Clarifies why engineer agents see but do not auto-claim backlog tasks without opt-in.
- Surface actionable project and per-agent opt-in guidance in no-task heartbeat prompts.
- Include eligible backlog candidates in the blocked engineer guidance so routing remains visible.
- Cover disabled engineer auto-claim scenarios with prompt assertions.
- Update agent and settings docs with the visible configuration paths.
Files changed:
docs/agents.md | 2 +-
docs/settings-reference.md | 2 +-
.../engine/src/__tests__/heartbeat-executor.test.ts | 11 +++++++++--
packages/engine/src/agent-heartbeat.ts | 19 ++++++++++++++++---
4 files changed, 27 insertions(+), 7 deletions(-)
Fusion-Task-Id: FN-6611
Fusion-Task-Lineage: ffcafc50-1664-4807-826c-cccf68d31012
2026-06-17 19:11:31 -07:00
gsxdsm
c94fb194c4
FN-6584: keep title summarizer out of workflow lanes
...
Clarify that title summarization remains project/global-scoped instead of a workflow model lane.
- Remove title summarizer entries from the workflow model lane catalog and display grouping.
- Add regression coverage for dashboard workflow settings and core built-in workflow setting parity.
- Update settings documentation to point title summarizer configuration at Project Models.
Files changed:
docs/settings-reference.md | 29 +++++++++++++--------
.../core/src/__tests__/settings-parity.test.ts | 6 +++++
.../app/components/WorkflowSettingsPanel.tsx | 22 +++++-----------
.../__tests__/WorkflowSettingsPanel.test.tsx | 30 +++++++++++++++++++++-
.../__tests__/workflow-setting-display.test.ts | 24 +++++++++++++++++
.../app/components/workflow-setting-display.ts | 12 +++------
6 files changed, 87 insertions(+), 36 deletions(-)
Fusion-Task-Id: FN-6584
Fusion-Task-Lineage: 2246213d-8775-4074-ae8e-04b9afe28f96
2026-06-17 14:52:56 -07:00
gsxdsm
e2a3a37b26
FN-6569: make auto-merge retry cap configurable
...
Adds a project setting that controls how many auto-merge conflict retries run before recovery paths give up.
- Add maxAutoMergeRetries to project settings defaults, schema, types, and dashboard controls.
- Resolve the retry cap in engine merge handling, self-healing recovery, stall detection, and blocker fanout logic.
- Cover custom retry caps with core, dashboard, and engine regression tests.
Files changed:
.changeset/fn-6569-max-auto-merge-retries.md | 5 ++
docs/architecture.md | 2 +-
docs/settings-reference.md | 1 +
.../core/src/__tests__/settings-defaults.test.ts | 12 ++++
packages/core/src/in-review-stall.ts | 16 ++++-
packages/core/src/index.ts | 1 +
packages/core/src/settings-schema.ts | 6 ++
packages/core/src/task-priority.ts | 4 +-
packages/core/src/types.ts | 8 +++
.../dashboard/app/components/SettingsModal.tsx | 8 +++
.../components/settings/sections/MergeSection.tsx | 26 +++++++
.../app/hooks/__tests__/useBlockerFanout.test.ts | 5 +-
packages/dashboard/app/hooks/useBlockerFanout.ts | 3 +-
.../auto-merge-retry-cap-settings.test.ts | 79 ++++++++++++++++++++++
packages/engine/src/project-engine.ts | 77 +++++++++++++--------
packages/engine/src/self-healing.ts | 30 +++++---
16 files changed, 236 insertions(+), 47 deletions(-)
Fusion-Task-Id: FN-6569
Fusion-Task-Lineage: 42242d6a-68bc-41f1-b2d9-af2e6f168eed
2026-06-17 04:51:31 -07:00
gsxdsm
cc5c5eb7bd
FN-6520: document workflow editor
...
Add a canonical dashboard workflow editor guide and connect it from related docs.
- Add a new Workflow Editor guide covering entry points, canvas anatomy, authoring panels, settings values, templates, AI design, import/export, and mobile behavior.
- Link the guide from the docs index, settings reference, and Workflow IR overview.
- Require the workflow editor guide in the docs README index coverage test.
Files changed:
docs/README.md | 1 +
docs/settings-reference.md | 2 +-
docs/workflow-editor.md | 158 +++++++++++++++++++++
docs/workflow-steps.md | 2 +-
.../cli/src/__tests__/docs-readme-index.test.ts | 1 +
5 files changed, 162 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6520
Fusion-Task-Lineage: 9a2525a5-6ff8-48de-ae13-a7c7c5844f99
2026-06-16 22:52:00 -07:00
gsxdsm
a89804ec5f
FN-6508: expose fallback workflow model lanes
...
Expose declared fallback model lanes in project Settings while preserving workflow-scoped persistence.
- Load the default workflow definition before rendering Project Models lane controls.\n- Show fallback model dropdowns only when the workflow declares matching provider/model settings.\n- Persist and reset fallback lane edits through the Settings modal primary Save action.\n- Update settings documentation for default-workflow and global fallback model placement.
Files changed:\n docs/settings-reference.md | 40 +++---\n .../components/__tests__/SettingsModal.test.tsx | 135 ++++++++++++++++++++-\n .../settings/sections/ProjectModelsSection.tsx | 52 +++++++-\n 3 files changed, 204 insertions(+), 23 deletions(-)
Fusion-Task-Id: FN-6508
Fusion-Task-Lineage: 18dba2f9-658a-4b82-850f-3bbeb70341d3
2026-06-16 20:59:30 -07:00
gsxdsm
da44392fea
FN-6462: document OAuth refresh behavior
...
Document Claude OAuth refresh behavior across user-facing docs.
- Explain that auth status polling can refresh expired Anthropic OAuth credentials automatically.
- Clarify when OAuth expiry banners and notifications remain visible after refresh attempts.
- Update onboarding guidance to set expectations for Claude re-login frequency.
Files changed:
docs/dashboard-guide.md | 6 +++++-
docs/getting-started.md | 2 +-
docs/settings-reference.md | 10 ++++++++--
3 files changed, 14 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-6462
Fusion-Task-Lineage: 06a73655-483d-4379-aeba-ac6bf9bb8df9
2026-06-15 02:29:08 -07:00
gsxdsm
b1ba87e599
FN-6414: preserve built-in Z.ai models after extensions
...
Keep GLM-5.2 visible when user Z.ai extensions replace the provider registration.
- Add shared helpers to clone and register the built-in Z.ai provider safely.
- Re-merge missing built-in Z.ai models after extension provider registration in daemon, serve, dashboard, and pi flows.
- Cover provider replacement behavior in core and dashboard model route tests, and document the extension-preserving behavior.
Files changed:
.changeset/FN-6414-glm-5-2-visible.md | 5 ++
docs/settings-reference.md | 2 +-
packages/cli/src/commands/daemon.ts | 12 +--
packages/cli/src/commands/dashboard.ts | 12 +--
packages/cli/src/commands/serve.ts | 12 +--
packages/core/src/__tests__/zai-provider.test.ts | 33 +++++++-
packages/core/src/index.ts | 7 +-
packages/core/src/zai-provider.ts | 93 +++++++++++++++++++++
...register-model-routes-zai-real-registry.test.ts | 97 ++++++++++++++++++++++
packages/engine/src/pi.ts | 12 +--
10 files changed, 250 insertions(+), 35 deletions(-)
Fusion-Task-Id: FN-6414
Fusion-Task-Lineage: f0990da2-968d-4782-8c00-fbc350d6954f
2026-06-13 21:17:20 -07:00
gsxdsm
7b839069b5
FN-6420: run dependency sync in AI merge worktrees
...
Run configured or inferred dependency installs before AI merge verification uses the clean-room worktree.
- Add shared dependency-sync helpers with install marker caching for inferred lockfile installs.
- Run dependency sync during AI clean-room merges and audit/log the command, skip reason, and duration.
- Reuse the helper from merger paths while documenting the new behavior and covering install success/failure cases.
Files changed:
.changeset/fn-6420-ai-merge-dependency-sync.md | 5 +
docs/architecture.md | 2 +-
docs/settings-reference.md | 2 +-
.../src/__tests__/executor-step-session.test.ts | 5 +-
.../merger-ai-dependency-install.slow.test.ts | 269 +++++++++++++++++++++
packages/engine/src/merge-dependency-sync.ts | 144 +++++++++++
packages/engine/src/merger-ai.ts | 31 +++
packages/engine/src/merger.ts | 120 +++------
packages/engine/src/run-audit.ts | 1 +
9 files changed, 484 insertions(+), 95 deletions(-)
Fusion-Task-Id: FN-6420
Fusion-Task-Lineage: 49353cb6-4953-4670-b620-a90331f048dc
2026-06-13 21:09:12 -07:00
gsxdsm
9149121bb6
FN-6401: add built-in Z.ai GLM-5.2 support
...
Add Z.ai's built-in provider registration so GLM-5.2 is selectable across Fusion model settings.
- Define and export a shared Z.ai provider registration with existing GLM models plus GLM-5.2.
- Register the built-in provider for CLI server and engine pi model registries.
- Cover provider availability and CLI auth-provider wrapping with focused tests.
- Document Z.ai model selection and add a minor changeset.
Files changed:
.changeset/FN-6401-glm-5-2.md | 5 +
docs/settings-reference.md | 2 +
packages/cli/src/commands/__tests__/daemon.test.ts | 11 ++
.../cli/src/commands/__tests__/dashboard.test.ts | 13 +++
packages/cli/src/commands/__tests__/serve.test.ts | 11 ++
packages/cli/src/commands/daemon.ts | 8 ++
packages/cli/src/commands/dashboard.ts | 8 ++
packages/cli/src/commands/serve.ts | 8 ++
packages/core/src/__tests__/zai-provider.test.ts | 48 ++++++++
packages/core/src/index.ts | 2 +
packages/core/src/zai-provider.ts | 125 +++++++++++++++++++++
.../src/__tests__/pi-create-fn-agent.test.ts | 5 +-
packages/engine/src/pi.ts | 20 +++-
13 files changed, 264 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-6401
Fusion-Task-Lineage: e1f7a90d-0614-4d9f-826f-015605a08baa
2026-06-13 16:30:29 -07:00
gsxdsm
e8c2d516af
FN-6386: add one-click update installation
...
Add a dashboard update action that installs available Fusion releases directly from the UI.
- Add an install-update API route backed by npm global install with bin-collision retry handling.
- Add Update now controls, loading/error/success states, and responsive styling to the update banner and settings modal.
- Extend localization, documentation, changeset coverage, and update-check tests for the new install flow.
Files changed:
.changeset/fn-6386-update-now-button.md | 5 +
docs/dashboard-guide.md | 4 +
docs/settings-reference.md | 2 +
packages/dashboard/app/api/legacy.ts | 13 ++
.../dashboard/app/components/SettingsModal.css | 38 +++++-
.../dashboard/app/components/SettingsModal.tsx | 96 ++++++++++++--
.../app/components/UpdateAvailableBanner.css | 46 +++++++
.../app/components/UpdateAvailableBanner.tsx | 103 ++++++++++++---
.../components/__tests__/SettingsModal.test.tsx | 79 +++++++++++
.../__tests__/UpdateAvailableBanner.test.tsx | 57 +++++++-
.../components/__tests__/settings-mobile.test.tsx | 19 +++
.../src/__tests__/update-check-route.test.ts | 78 ++++++++++-
.../dashboard/src/__tests__/update-check.test.ts | 45 +++++++
.../src/routes/register-update-check-routes.ts | 25 +++-
packages/dashboard/src/update-check.ts | 93 +++++++++++++
packages/i18n/locales/en/app.json | 14 +-
packages/i18n/src/resources.d.ts | 146 ++++++++++++++++++++-
17 files changed, 819 insertions(+), 44 deletions(-)
Fusion-Task-Id: FN-6386
Fusion-Task-Lineage: bcccf253-c0f1-493e-b849-b189a65d1479
2026-06-13 16:30:28 -07:00
gsxdsm
66591ec11c
FN-6333: add legacy auto-merge cleanup surfaces
...
Expose operator controls for auditing and clearing legacy auto-merge stamps.
- Add CLI dry-run, apply, and JSON modes for legacy auto-merge stamp cleanup.
- Add dashboard maintenance endpoints and a Settings → Merge cleanup panel.
- Document the cleanup workflow and cover CLI, route, and UI behavior with tests.
Files changed:
.changeset/fn-6333-legacy-automerge-cleanup.md | 5 +
docs/cli-reference.md | 4 +
docs/dashboard-guide.md | 6 ++
docs/settings-reference.md | 2 +-
packages/cli/src/__tests__/bin.test.ts | 10 ++
.../cli/src/__tests__/pr-automerge-cleanup.test.ts | 107 ++++++++++++++++++++
packages/cli/src/bin.ts | 14 ++-
packages/cli/src/commands/pr.ts | 41 ++++++++
.../components/settings/sections/MergeSection.tsx | 109 ++++++++++++++++++++
.../MergeSection.legacy-automerge-cleanup.test.tsx | 110 +++++++++++++++++++++
.../legacy-automerge-stamps-routes.test.ts | 76 ++++++++++++++
packages/dashboard/src/routes.ts | 36 +++++++
12 files changed, 517 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-6333
Fusion-Task-Lineage: 55a3fa22-e0ba-4996-bfce-cad31c71177d
2026-06-13 06:12:09 -07:00
gsxdsm
bffae81a98
FN-6277: track and reconcile legacy auto-merge stamps
...
Track legacy auto-merge stamp provenance and add safe operator cleanup.
- Add autoMergeProvenance storage and migration support so user overrides can be distinguished from legacy review-entry stamps.
- Mark existing ambiguous in-review autoMerge=true tasks as legacy stamps without changing behavior, and expose a dry-run/apply reconciliation API to clear them safely.
- Emit a non-mutating advisory when global auto-merge is disabled while legacy stamped review tasks remain.
- Cover migration, persistence, reconciliation, movement, merge resolution, and advisory behavior with regression tests and docs.
Files changed:
.../fn-6277-legacy-automerge-stamp-cleanup.md | 5 +
docs/architecture.md | 2 +-
docs/settings-reference.md | 2 +-
packages/core/src/__tests__/db-migrate.test.ts | 30 ++--
packages/core/src/__tests__/db.test.ts | 44 +++---
packages/core/src/__tests__/goals-schema.test.ts | 2 +-
packages/core/src/__tests__/insight-store.test.ts | 10 +-
.../legacy-automerge-stamp-reconcile.test.ts | 144 +++++++++++++++++++
.../src/__tests__/merge-request-record.test.ts | 2 +-
packages/core/src/__tests__/mission-store.test.ts | 2 +-
packages/core/src/__tests__/run-audit.test.ts | 4 +-
.../core/src/__tests__/store-merge-queue.test.ts | 2 +-
packages/core/src/__tests__/store-movement.test.ts | 14 ++
packages/core/src/__tests__/task-documents.test.ts | 2 +-
packages/core/src/__tests__/task-merge.test.ts | 16 ++-
packages/core/src/db.ts | 10 +-
packages/core/src/index.ts | 1 +
packages/core/src/store.ts | 157 ++++++++++++++++++++-
packages/core/src/task-merge.ts | 8 +-
packages/core/src/types.ts | 10 +-
.../automerge-toggle-legacy-advisory.test.ts | 128 +++++++++++++++++
packages/engine/src/project-engine.ts | 68 ++++++++-
22 files changed, 593 insertions(+), 70 deletions(-)
Fusion-Task-Id: FN-6277
Fusion-Task-Lineage: 22d36519-f2ba-4ca7-8a09-12fc803c9a5b
2026-06-13 05:06:05 -07:00
gsxdsm
1c4ec5f002
FN-6327: add engineer backlog auto-claim controls
...
Expose engineer backlog auto-claim configuration in dashboard settings and agent heartbeat settings.
- Add a project-level Scheduling & Capacity checkbox for engineer backlog auto-claim.
- Add a per-agent Heartbeat Settings checkbox that persists runtimeConfig.engineerBacklogAutoClaim.
- Cover the new settings UI with dashboard component tests.
- Document the project default and per-agent override locations and add a release changeset.
Files changed:
.../FN-6327-engineer-backlog-auto-claim-ui.md | 5 +
docs/settings-reference.md | 4 +-
.../dashboard/app/components/AgentDetailView.tsx | 25 ++++-
.../AgentDetailView.advanced-settings.test.tsx | 104 +++++++++++++++++++++
.../components/__tests__/SettingsModal.test.tsx | 66 +++++++++++++
.../settings/sections/SchedulingSection.tsx | 14 +++
6 files changed, 215 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-6327
Fusion-Task-Lineage: fddc39bc-f50e-42fa-ae67-7c3eca59cbeb
2026-06-12 22:55:01 -07:00
gsxdsm
167f9b0542
FN-6324: allow opted-in engineer backlog auto-claim
...
Engineer backlog auto-claim now respects an explicit opt-in while keeping the default executor-only behavior.
- Add engineerBacklogAutoClaim settings and runtime overrides for backlog pickup role checks.
- Update heartbeat auto-claim filtering, logs, and no-task prompt guidance for opted-in engineer agents.
- Cover executor/default engineer/opted-in engineer routing with core and heartbeat tests.
- Document the setting and record quarantined unrelated temp-root flakes seen during verification.
Files changed:
.changeset/FN-6324-engineer-backlog-auto-claim.md | 5 ++
docs/agents.md | 3 +
docs/settings-reference.md | 1 +
.../core/src/__tests__/agent-role-policy.test.ts | 33 +++++++++-
packages/core/src/agent-role-policy.ts | 11 +++-
packages/core/src/settings-schema.ts | 1 +
packages/core/src/types.ts | 4 ++
packages/core/vitest.config.ts | 6 ++
.../src/__tests__/heartbeat-executor.test.ts | 70 ++++++++++++++++++++++
packages/engine/src/agent-heartbeat.ts | 65 +++++++++++++++-----
scripts/lib/test-quarantine.json | 20 +++++++
11 files changed, 199 insertions(+), 20 deletions(-)
Fusion-Task-Id: FN-6324
Fusion-Task-Lineage: 4d124d98-4ad1-44ce-a76c-f1db3199b3c6
2026-06-12 19:45:37 -07:00
gsxdsm
1d190f37ed
FN-6322: validate settings scopes workflow payload
...
Clarify and cover the settings scopes response shape including workflow settings.
- Document that GET /api/settings/scopes returns workflowSettings with global and project scopes.
- Assert workflowSettings is always a non-null object for default and project-scoped route tests.
- Preserve exact workflow setting payload coverage when workflow overrides are present.
Files changed:
docs/settings-reference.md | 2 +-
packages/dashboard/src/__tests__/routes-settings.test.ts | 11 +++++++++++
2 files changed, 12 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-6322
Fusion-Task-Lineage: 08796f9d-be99-46a1-8326-251a8d79dda4
2026-06-12 19:17:25 -07:00
gsxdsm
039d3ce440
FN-6236: move fast triage into workflow settings
...
Move fast triage prompting into the workflow/settings prompt model.
- Add a core-owned fast triage prompt and expose the workflow prompt mode type.
- Add a fast-mode builtin workflow variant and route triage prompt selection through workflow settings.
- Remove the engine-local fast triage prompt constant and update triage tests for workflow-driven fast mode.
- Document the fast triage prompt mode setting and add a patch changeset.
Files changed:
.changeset/FN-6236-fast-mode-workflow-variant.md | 7 +
docs/settings-reference.md | 2 +
packages/core/src/__tests__/agent-prompts.test.ts | 16 +-
.../builtin-workflow-settings-triage.test.ts | 5 +
packages/core/src/agent-prompts.ts | 221 +++++++++++++++++++
packages/core/src/builtin-workflow-prompts.ts | 12 +-
packages/core/src/builtin-workflow-settings.ts | 18 +-
packages/core/src/index.ts | 5 +
packages/core/src/types.ts | 4 +
.../triage-duplicate-search-regression.test.ts | 18 +-
.../triage-fast-mode-workflow-variant.test.ts | 219 +++++++++++++++++++
.../triage-planning-prompt-single-source.test.ts | 8 +-
packages/engine/src/__tests__/triage.test.ts | 64 +++---
packages/engine/src/triage.ts | 235 ++-------------------
14 files changed, 565 insertions(+), 269 deletions(-)
Fusion-Task-Id: FN-6236
Fusion-Task-Lineage: 369954d8-41e7-4d88-aa6d-e6bbca077d50
2026-06-12 14:39:51 -07:00
gsxdsm
7ffea9f4a6
FN-6290: expose Google Generative AI custom providers
...
Expose Google Generative AI as a selectable custom-provider API type across settings UI and docs.
- Add Google Generative AI options to custom-provider add and edit dropdowns.
- Cover add, edit, and existing Google-provider selection behavior with dashboard tests.
- Document the supported API type and add localized provider labels.
- Add a changeset for the published Fusion package.
Files changed:
.changeset/fn-6290-expose-google-generative-ai.md | 5 ++
docs/dashboard-guide.md | 5 +-
docs/settings-reference.md | 2 +-
.../app/components/CustomProvidersSection.tsx | 2 +
.../__tests__/CustomProvidersSection.test.tsx | 62 ++++++++++++++++++++++
packages/i18n/locales/en/app.json | 1 +
packages/i18n/locales/es/app.json | 1 +
packages/i18n/locales/fr/app.json | 1 +
packages/i18n/locales/ko/app.json | 1 +
packages/i18n/locales/zh-CN/app.json | 1 +
packages/i18n/locales/zh-TW/app.json | 1 +
11 files changed, 79 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-6290
Fusion-Task-Lineage: 295cbba2-cae1-4998-9456-d6a306be6e34
2026-06-12 07:13:00 -07:00
gsxdsm
40b9d553dd
FN-6286: document custom provider model selection
...
Document how custom providers are configured and surfaced in model pickers.
- Add Custom Providers dashboard guide coverage for adding, editing, deleting, detecting models, and masked API key behavior.
- Explain that saved custom provider models appear in Project Models and workflow model dropdowns.
- Add a stable settings-reference anchor for the customProviders setting.
Files changed:
docs/dashboard-guide.md | 64 ++++++++++++++++++++++++++++++++++++++++++++++
docs/settings-reference.md | 2 +-
2 files changed, 65 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-6286
Fusion-Task-Lineage: 79520376-d448-4048-af43-a532fba68853
2026-06-12 05:26:08 -07:00
gsxdsm
e22afece56
FN-6233: add typed triage policy settings
...
Render triage planning thresholds from typed workflow settings instead of hard-coded prompt constants.
- Add typed triage threshold/default workflow settings, migration coverage, exports, and docs.
- Render built-in triage prompt placeholders before engine prompt execution and tests.
- Remove the duplicate standard triage prompt from engine in favor of the core workflow IR source.
- Add regression coverage for default and customized triage policy rendering.
Files changed:
.changeset/FN-6233-triage-threshold-settings.md | 7 +
docs/settings-reference.md | 19 ++
docs/workflow-steps.md | 2 +-
packages/core/src/__tests__/agent-prompts.test.ts | 16 +-
.../builtin-workflow-settings-triage.test.ts | 63 ++++
.../src/__tests__/settings-consistency.test.ts | 24 +-
.../core/src/__tests__/settings-migration.test.ts | 12 +-
.../src/__tests__/workflow-ir-settings.test.ts | 11 +-
packages/core/src/agent-prompts.ts | 20 +-
packages/core/src/builtin-workflow-settings.ts | 154 ++++++++-
packages/core/src/index.ts | 7 +-
packages/core/src/moved-settings.ts | 13 +-
.../triage-planning-prompt-single-source.test.ts | 9 +-
.../__tests__/triage-threshold-settings.test.ts | 84 +++++
packages/engine/src/__tests__/triage.test.ts | 17 +-
packages/engine/src/triage.ts | 343 +--------------------
packages/engine/vitest.config.ts | 5 +-
17 files changed, 423 insertions(+), 383 deletions(-)
Fusion-Task-Id: FN-6233
Fusion-Task-Lineage: b2a986df-fa37-4297-a359-84d8463b0867
2026-06-11 20:53:01 -07:00
gsxdsm
905d5bf849
FN-6228: prioritize project model overrides
...
Ensure saved project model settings outrank stale durable-agent runtime models across AI lanes.
- Document the updated task, heartbeat, validator, merger, and summarizer model precedence.
- Add model-resolution regression coverage for project lanes, globals, defaults, runtime fallback, and test-mode mock forcing.
- Route AI merge body summarization through the shared title-summarizer settings resolver.
- Preserve upstream triage prompt coverage for TRIAGE_POLICY_PROMPT while resolving conflicts.
Files changed:
docs/agents.md | 18 +--
docs/settings-reference.md | 32 ++--
.../core/src/__tests__/model-resolution.test.ts | 98 ++++++++++++
packages/core/vitest.config.ts | 1 +
.../src/__tests__/agent-session-helpers.test.ts | 173 +++++++++++++++++++++
.../src/__tests__/merger-ai-merge-body.test.ts | 85 +++++++++-
packages/engine/src/agent-session-helpers.ts | 4 +
packages/engine/src/merger.ts | 26 +---
8 files changed, 392 insertions(+), 45 deletions(-)
Fusion-Task-Id: FN-6228
Fusion-Task-Lineage: a6c03f2a-dde7-4037-bdcd-a1c92a8b7fae
2026-06-11 20:44:52 -07:00