// ----------------------------------------------------------------------------- // SchedulerDequeueResult.cs // Sprint: SPRINT_20260105_002_002_SCHEDULER_hlc_queue_chain // Task: SQC-010 - Implement HlcSchedulerDequeueService // ----------------------------------------------------------------------------- using StellaOps.HybridLogicalClock; namespace StellaOps.Scheduler.Queue.Models; /// /// Represents a dequeued job with its HLC ordering and chain proof. /// public sealed record SchedulerDequeueResult { /// /// Job identifier. /// public required Guid JobId { get; init; } /// /// HLC timestamp that determines this job's position in the total order. /// public required HlcTimestamp Timestamp { get; init; } /// /// HLC timestamp as sortable string. /// public required string THlcString { get; init; } /// /// Tenant this job belongs to. /// public required string TenantId { get; init; } /// /// Queue partition for this job. /// public string PartitionKey { get; init; } = string.Empty; /// /// Chain link proving sequence position. /// public required byte[] Link { get; init; } /// /// Previous chain link (null for first entry). /// public byte[]? PrevLink { get; init; } /// /// SHA-256 hash of the canonical payload. /// public required byte[] PayloadHash { get; init; } /// /// Database sequence number for reference (not authoritative). /// public long SeqBigint { get; init; } /// /// Wall-clock creation time (not authoritative for ordering). /// public DateTimeOffset CreatedAt { get; init; } }