feat(FN-3931): recover triage planning model session keys in triage engine

The merge fixes triage planning model session key recovery in the engine, enabling the triage agent to properly use default model keys when resuming planning sessions. Tests were added to `triage.test.ts` to assert the correct behavior.

Fusion-Task-Id: FN-3931
This commit is contained in:
Fusion
2026-05-10 10:22:11 -07:00
committed by gsxdsm
parent 140d5b97a5
commit b9cceb4f0f
2 changed files with 22 additions and 17 deletions

View File

@@ -1047,6 +1047,22 @@ export class TriageProcessor {
pluginRunner: this.options.pluginRunner,
});
// Resolve planning model using executor-style precedence:
// 1. Assigned durable agent runtime model pair when complete
// 2. Task planning override pair
// 3. Planning/project/global fallbacks
const planningModel = resolvePlanningSessionModel(
task.planningModelProvider,
task.planningModelId,
settings,
assignedAgent?.runtimeConfig,
);
const planningSessionModelOptions = {
defaultProvider: planningModel.provider,
defaultModelId: planningModel.modelId,
};
let { session } = await createResolvedAgentSession({
sessionPurpose: "triage",
runtimeHint: triageRuntimeHint,
@@ -1060,22 +1076,7 @@ export class TriageProcessor {
onThinking: agentLogger.onThinking,
onToolStart: agentLogger.onToolStart,
onToolEnd: agentLogger.onToolEnd,
// Resolve planning model using executor-style precedence:
// 1. Assigned durable agent runtime model pair when complete
// 2. Task planning override pair
// 3. Planning/project/global fallbacks
...(() => {
const planningModel = resolvePlanningSessionModel(
task.planningModelProvider,
task.planningModelId,
settings,
assignedAgent?.runtimeConfig,
);
return {
defaultProvider: planningModel.provider,
defaultModelId: planningModel.modelId,
};
})(),
...planningSessionModelOptions,
fallbackProvider: settings.planningFallbackProvider && settings.planningFallbackModelId
? settings.planningFallbackProvider
: settings.fallbackProvider,