using NodaTime;
namespace FictionArchive.Service.Shared.MassTransit.Contracts;
///
/// Published by sagas on state transitions for centralized job tracking
///
public record JobStateChangedEvent : IEvent
{
public Guid JobId { get; init; }
public required string JobType { get; init; }
public required string FromState { get; init; }
public required string ToState { get; init; }
public string? Message { get; init; }
public string? Error { get; init; }
public Instant Timestamp { get; init; }
public Dictionary? Metadata { get; init; }
}