fix(claude-do): merge fix(worker): max_turns-Fehlertext nicht fest deutsch — konsi

ClaudeDo-Task: 6549e3b5-cee3-4aa4-ba3a-6240bab952e6
This commit is contained in:
mika kuns
2026-09-10 13:35:45 +02:00
2 changed files with 7 additions and 7 deletions
+4 -4
View File
@@ -791,10 +791,10 @@ public sealed class TaskRunner
switch (result.TerminalReason)
{
case "max_turns":
var ofConfigured = configuredMaxTurns is int m ? $" von {m}" : "";
return $"Turn-Budget erschöpft ({result.TurnCount}{ofConfigured} Turns). "
+ "Erhöhe `maxTurns` am Task (`set_task_config`) und stelle den Task erneut in die Queue "
+ "– der Worktree bleibt erhalten.";
var ofConfigured = configuredMaxTurns is int m ? $" of {m}" : "";
return $"Turn budget exhausted ({result.TurnCount}{ofConfigured} turns). "
+ "Raise `maxTurns` on the task (`set_task_config`) and re-queue it "
+ "- the worktree is kept.";
case "api_error":
if (!string.IsNullOrWhiteSpace(result.ResultMarkdown)) return result.ResultMarkdown;
@@ -23,7 +23,7 @@ public class FailureDiagnosisTests
Assert.Contains("55", message);
Assert.Contains("60", message);
Assert.Contains("maxTurns", message);
Assert.Contains("Queue", message);
Assert.Contains("re-queue", message);
Assert.DoesNotContain(ClaudeProcess.NoResultPrefix, message);
}
@@ -174,12 +174,12 @@ public sealed class FailureDiagnosisEndToEndTests : IDisposable
using var verify = _db.CreateContext();
var task = await new TaskRepository(verify).GetByIdAsync("t1");
Assert.Equal(TaskStatus.Failed, task!.Status);
Assert.Contains("Turn-Budget", task.Result);
Assert.Contains("Turn budget", task.Result);
Assert.Contains("60", task.Result);
Assert.DoesNotContain(ClaudeProcess.NoResultPrefix, task.Result);
var run = await new TaskRunRepository(verify).GetLatestByTaskIdAsync("t1");
Assert.Contains("Turn-Budget", run!.ErrorMarkdown);
Assert.Contains("Turn budget", run!.ErrorMarkdown);
}
[Fact]