pub trait AuditAppender: Send + Sync {
// Required methods
fn append_decision(&self, decision: &Decision) -> Result<()>;
fn is_healthy(&self) -> bool;
fn is_chained(&self) -> bool;
}Expand description
Durable audit operations required by the HTTP and gRPC adapters.
Implementations must make append_decision durable before returning Ok.
The handler fails closed if appending fails. Calls run on the PDP’s bounded
blocking-work pool, so a synchronous adapter may perform blocking I/O but
must not create its own unbounded queue. is_chained must only return true
when persisted records have tamper-evident integrity protection.
Embedders can inject an implementation with
AppState::with_audit_appender.