Audit service backed by an IAuditStorage port.
Implements the committed write-only IAuditLogger contract: log() stamps the record with id (runtime.uuid()) and timestamp (runtime.now()), deep-freezes it (immutability), then appends it to storage.
IAuditLogger
log()
id
runtime.uuid()
timestamp
runtime.now()
Optional
Appends an entry to the audit trail. Entries are immutable once written.
The audit entry (without id/timestamp)
Propagates any storage rejection (never swallowed)
Audit service backed by an IAuditStorage port.
Implements the committed write-only
IAuditLoggercontract:log()stamps the record withid(runtime.uuid()) andtimestamp(runtime.now()), deep-freezes it (immutability), then appends it to storage.