namespace ZB.MOM.WW.Audit;

/// <summary>
/// Best-effort sink for <see cref="AuditEvent"/>s. Implementations MUST swallow/log internal
/// failures rather than propagating them — a failed audit write must never abort the
/// user-facing action that produced it.
/// </summary>
public interface IAuditWriter
{
    /// <summary>Persist an audit event. Best-effort; must not throw to the caller.</summary>
    Task WriteAsync(AuditEvent evt, CancellationToken ct = default);
}
