namespace ScadaLink.AuditLog.Central; /// /// Audit Log (#23) M6 Bundle E (T8) counter sink invoked by central-side audit /// writers (, ) /// every time a repository InsertIfNotExistsAsync throws. Mirrors the /// site-side /// shape one-for-one — same one-method contract, same NoOp default, same /// must-never-abort-the-user-facing-action invariant. /// /// /// Audit-write failures NEVER abort the user-facing action (alog.md §13) — /// the writer swallows the exception and surfaces the failure via this counter /// instead. A NoOp default is the correct safe fallback while the central /// health surface is being wired in; /// is the production binding that routes increments into the aggregated /// central health snapshot consumed by future M7+ pages. /// public interface ICentralAuditWriteFailureCounter { /// Increment the central audit-write failure counter by one. void Increment(); }