gsxdsm
5f14a58d3b
FN-7770: add per-lane thinking-level overrides for project & global model settings
...
Adds an optional thinking-effort/reasoning override per model lane in Settings (project and global), resolved with precedence task > lane > global default, and reconciles this work with the already-landed FN-7768 inline thinking-level control on CustomModelDropdown (kept the shared shouldShowThinking/thinkingBadgeLabel implementation to avoid duplicating the selector/badge UI).
- Add lane thinking-level settings schema fields and runtime precedence (task > lane > global default) in @fusion/core
- Wire per-lane thinking selectors into GlobalModelsSection and ProjectModelsSection via CustomModelDropdown's existing showThinkingLevel/thinkingLevel/onThinkingLevelChange/defaultThinkingLevel props
- Resolve merger thinking level from the default lane rather than the title-summarizer lane in engine session helpers/executor/merger/triage
- Update settings-reference docs and add a minor changeset for the new lane thinking overrides
- Add/expand test coverage: settings-parity, store-settings, settings-sections, agent-session-helpers
- Add new i18n key models.options.defaultWithLevel across locales
Files changed:
.changeset/fn-7770-lane-thinking.md | 7 ++
docs/settings-reference.md | 8 ++
.../core/src/__tests__/settings-parity.test.ts | 17 ++++
packages/core/src/__tests__/store-settings.test.ts | 42 +++++++++
packages/core/src/settings-schema.ts | 14 +++
packages/core/src/types.ts | 16 ++++
.../app/__tests__/settings-sections.test.tsx | 100 ++++++++++++++++++---
.../app/components/CustomModelDropdown.css | 1 +
.../dashboard/app/components/SettingsModal.tsx | 37 ++++++++
.../settings/sections/GlobalModelsSection.tsx | 9 +-
.../settings/sections/ProjectModelsSection.tsx | 12 ++-
.../app/components/settings/sections/context.ts | 2 +
.../src/__tests__/agent-session-helpers.test.ts | 36 ++++++++
packages/engine/src/agent-session-helpers.ts | 60 +++++++++++++
packages/engine/src/executor.ts | 14 +--
packages/engine/src/merger-ai.ts | 12 ++-
packages/engine/src/merger.ts | 12 +--
packages/engine/src/pr-response-run-ops.ts | 4 +-
packages/engine/src/step-session-executor.ts | 3 +-
packages/engine/src/triage.ts | 5 +-
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 | 3 +
27 files changed, 390 insertions(+), 42 deletions(-)
Fusion-Task-Id: FN-7770
Fusion-Task-Lineage: 3418c621-ac99-4cd4-a435-9348da03972f
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-10 01:15:40 -07:00
gsxdsm
64d831576d
FN-6225: persist workflow model lanes on Settings save
...
Persist default workflow model lane edits through the Settings modal's primary save path.
- Register a Project Models section save handler so workflow lane overrides flush before closing Settings.
- Surface typed workflow setting rejections without closing the modal or showing a success toast.
- Remove the separate workflow-model save button and update coverage/docs for the unified save behavior.
Files changed:
docs/dashboard-guide.md | 2 +-
docs/settings-reference.md | 17 +++++---
.../dashboard/app/components/SettingsModal.tsx | 11 ++++-
.../components/__tests__/SettingsModal.test.tsx | 50 ++++++++++++++++------
.../settings/sections/ProjectModelsSection.tsx | 42 ++++++++++--------
.../app/components/settings/sections/context.ts | 3 ++
6 files changed, 83 insertions(+), 42 deletions(-)
Fusion-Task-Id: FN-6225
Fusion-Task-Lineage: 98338f85-c742-46c2-8bdf-f676a6f7e32e
2026-06-11 20:21:30 -07:00