namespace Baya.Application.Contracts.Analytics;

/// <summary>
/// Fire-and-forget behavioural/analytics event sink. Emission must never fail or slow the caller's
/// operation — a sink error is logged and swallowed. NEVER route compliance-relevant facts here; those
/// go to the audit trail. Mock inserts a <c>system_events</c> row; the real path pipes to a warehouse.
/// </summary>
public interface IAnalyticsSink
{
    ValueTask EmitAsync(string name, object props, CancellationToken cancellationToken = default);
}
