using System.Security.Claims; namespace SeaHaven.Services.Interfaces { /// /// Controller-facing admin surface for work-order reconciliation. Every method enforces an /// authenticated Admin principal at service entry before any data-service call, independent of /// any HTTP-layer authorization filter. /// public interface IWorkOrderReconciliationService { Task TriggerAsync( ClaimsPrincipal user, string reason, CancellationToken cancellationToken); Task GetStatusAsync( ClaimsPrincipal user, CancellationToken cancellationToken); } public sealed record WorkOrderReconciliationTriggerResult(bool Queued, Guid RunId); public sealed record WorkOrderReconciliationStatus( Guid? RunId, string State, string? Reason, DateTimeOffset? RequestedAt, DateTimeOffset? StartedAt, DateTimeOffset? CompletedAt, int WorkOrdersProcessed, int CommentsProcessed, string? ErrorCode); }