From e8056553fda0132ff9710fcdaf78c75b2a0450c8 Mon Sep 17 00:00:00 2001 From: mika kuns Date: Thu, 23 Apr 2026 14:47:45 +0200 Subject: [PATCH] feat(worker): emit WorkerLog for merge, discard, reset --- src/ClaudeDo.Worker/Services/TaskMergeService.cs | 1 + src/ClaudeDo.Worker/Services/TaskResetService.cs | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/ClaudeDo.Worker/Services/TaskMergeService.cs b/src/ClaudeDo.Worker/Services/TaskMergeService.cs index 3691345..29da55f 100644 --- a/src/ClaudeDo.Worker/Services/TaskMergeService.cs +++ b/src/ClaudeDo.Worker/Services/TaskMergeService.cs @@ -136,6 +136,7 @@ public sealed class TaskMergeService _logger.LogInformation( "Merged task {TaskId} branch {Branch} into {Target} (remove worktree: {Remove})", taskId, wt.BranchName, targetBranch, removeWorktree); + await _broadcaster.WorkerLog($"Merged \"{task.Title}\" into {targetBranch}", WorkerLogLevel.Success, DateTime.UtcNow); return new MergeResult(StatusMerged, Array.Empty(), cleanupWarning); } diff --git a/src/ClaudeDo.Worker/Services/TaskResetService.cs b/src/ClaudeDo.Worker/Services/TaskResetService.cs index 5602ac9..f8b3372 100644 --- a/src/ClaudeDo.Worker/Services/TaskResetService.cs +++ b/src/ClaudeDo.Worker/Services/TaskResetService.cs @@ -51,6 +51,7 @@ public sealed class TaskResetService if (wt is not null && wt.State == WorktreeState.Active && list.WorkingDir is not null) { await _wtManager.DiscardAsync(wt, list.WorkingDir, ct); + await _broadcaster.WorkerLog($"Discarded worktree for \"{task.Title}\"", WorkerLogLevel.Warn, DateTime.UtcNow); worktreeChanged = true; } @@ -64,5 +65,6 @@ public sealed class TaskResetService await _broadcaster.WorktreeUpdated(taskId); _logger.LogInformation("Reset task {TaskId} to Manual (worktree discarded: {Discarded})", taskId, worktreeChanged); + await _broadcaster.WorkerLog($"Reset \"{task.Title}\"", WorkerLogLevel.Warn, DateTime.UtcNow); } }