feat(FN-991): add per-task planning model override for triage and dashboard

- Add planningModelProvider/planningModelId fields to task model and API batch-update endpoint
- Wire triage engine to use per-task planning model override with settings hierarchy fallback
- Add planning model selector to TaskDetailModal Model tab
- Add comprehensive tests for triage engine planning model resolution and dashboard API/routes
This commit is contained in:
gsxdsm
2026-04-07 13:46:25 -07:00
parent a716605747
commit 98ccdb94b0
7 changed files with 364 additions and 15 deletions

View File

@@ -501,13 +501,17 @@ export class TriageProcessor {
onThinking: agentLogger.onThinking,
onToolStart: agentLogger.onToolStart,
onToolEnd: agentLogger.onToolEnd,
// Use planning model settings if both provider and modelId are set, otherwise fall back to defaults
defaultProvider: settings.planningProvider && settings.planningModelId
? settings.planningProvider
: settings.defaultProvider,
defaultModelId: settings.planningProvider && settings.planningModelId
? settings.planningModelId
: settings.defaultModelId,
// Per-task planning model override takes precedence, then project settings, then global defaults
defaultProvider: task.planningModelProvider && task.planningModelId
? task.planningModelProvider
: (settings.planningProvider && settings.planningModelId
? settings.planningProvider
: settings.defaultProvider),
defaultModelId: task.planningModelProvider && task.planningModelId
? task.planningModelId
: (settings.planningProvider && settings.planningModelId
? settings.planningModelId
: settings.defaultModelId),
fallbackProvider: settings.planningFallbackProvider && settings.planningFallbackModelId
? settings.planningFallbackProvider
: settings.fallbackProvider,