Merge branch 'claudedo/2de2f008758640b3a75e95719b1555bf'

This commit is contained in:
mika kuns
2026-08-05 16:07:10 +02:00
22 changed files with 1093 additions and 50 deletions
+12 -3
View File
@@ -564,12 +564,21 @@ public sealed class TaskRunner
var model = task.Model ?? listConfig?.Model ?? global.DefaultModel;
var preset = Data.Models.ModelPresets.For(global.ModelPresets, model, global.DefaultMaxTurns);
var requestedMaxTurns = task.MaxTurns ?? listConfig?.MaxTurns ?? preset.MaxTurns;
var maxTurns = ResolveMaxTurns(task.MaxTurns, listConfig?.MaxTurns, preset.MaxTurns, global.MaxTurnsCeiling);
if (maxTurns < requestedMaxTurns)
{
_logger.LogWarning(
"Task {TaskId}: max turns clamped to ceiling (requested={Requested}, effective={Effective}, ceiling={Ceiling})",
task.Id, requestedMaxTurns, maxTurns, global.MaxTurnsCeiling);
}
return new ClaudeRunConfig(
Model: model,
SystemPrompt: string.IsNullOrWhiteSpace(instructions) ? null : instructions,
AgentPath: task.AgentPath ?? listConfig?.AgentPath,
ResumeSessionId: resumeSessionId,
MaxTurns: ResolveMaxTurns(task.MaxTurns, listConfig?.MaxTurns, preset.MaxTurns),
MaxTurns: maxTurns,
PermissionMode: global.DefaultPermissionMode,
SkillNames: skillNames,
Effort: preset.Effort);
@@ -628,8 +637,8 @@ public sealed class TaskRunner
return names;
}
internal static int? ResolveMaxTurns(int? taskTurns, int? listTurns, int globalDefault)
=> taskTurns ?? listTurns ?? globalDefault;
internal static int? ResolveMaxTurns(int? taskTurns, int? listTurns, int globalDefault, int ceiling)
=> Math.Min(taskTurns ?? listTurns ?? globalDefault, ceiling);
public static string MergeInstructions(params string?[] parts)
{