feat(worker): add post-merge verification gate for list merges
Per-list optional VerifyCommand (list_config.verify_command) runs via VerifyCommandRunner in the list's working dir right after a successful merge/continue-merge, before the task is allowed to reach Done. A non-zero exit or timeout leaves the merge in place but keeps the task out of Done and reports StatusVerifyFailed with an output excerpt through MergeResultDto/review_task; no command configured behaves exactly as before. Merges against the same repo are now serialized per working dir so a running verify can't be interrupted by a second merge landing mid-build. Adds the field to the List Settings modal (en/de localized) and covers success/failure/timeout in TaskMergeServiceTests + VerifyCommandRunnerTests.
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
namespace ClaudeDo.Worker.Lifecycle;
|
||||
|
||||
public sealed record VerifyCommandResult(int ExitCode, bool TimedOut, string Output);
|
||||
|
||||
public interface IVerifyCommandRunner
|
||||
{
|
||||
Task<VerifyCommandResult> RunAsync(string workingDir, string command, TimeSpan timeout, CancellationToken ct);
|
||||
}
|
||||
Reference in New Issue
Block a user