namespace Tiku.Application.Security; public enum SystemScopeCallerType { Platform, Worker, Migrator, PublicQuestionBank, Test } public sealed record SystemScopeRequest( Guid? TargetTenantId, SystemScopeCallerType CallerType, string Caller, string Reason, string CorrelationId); public interface ITenantExecutionScope { Task ExecuteAsync( SystemScopeRequest request, Func operation, CancellationToken cancellationToken = default); Task ExecuteAsync( SystemScopeRequest request, Func> operation, CancellationToken cancellationToken = default); }