refactor: extract interfaces to Interfaces folders and consolidate filters

Move interface declarations into per-area Interfaces/ subfolders, merge the
small task-list filter classes into StatusFilter/SmartFlagFilter, and simplify
related services, converters and hub DTO handling.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
mika kuns
2026-05-30 15:41:10 +02:00
co-authored by Claude Opus 4.7
parent 77100b6b3b
commit 41da124a31
42 changed files with 306 additions and 532 deletions
@@ -0,0 +1,12 @@
using ClaudeDo.Data.Models;
namespace ClaudeDo.Worker.Queue;
/// <summary>
/// Atomic queue claim. Returns the claimed task (already flipped to Running with
/// StartedAt set) or null if no eligible task is available.
/// </summary>
public interface IQueuePicker
{
Task<TaskEntity?> ClaimNextAsync(DateTime now, CancellationToken ct);
}
@@ -0,0 +1,11 @@
namespace ClaudeDo.Worker.Queue;
/// <summary>
/// Signals the queue dispatcher to check for new work. Wake() is non-blocking and
/// idempotent — multiple calls before the dispatcher consumes the signal collapse
/// into a single wake-up.
/// </summary>
public interface IQueueWaker
{
void Wake();
}