Persist review evidence and deliver audit records transactionally

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a07ff8-19d0-7820-b4d0-1353833cb7fc
This commit is contained in:
tegwick 2026-09-10 23:27:19 +02:00
parent 0e48355b9f
commit 2cc32168ac
14 changed files with 1474 additions and 22 deletions

View file

@ -1,4 +1,7 @@
"""The local transactional outbox and the commitment records it queues.
"""Commitment records and the in-memory outbox used by domain tests.
The persistent transactional implementation is ``store.Store``; this module
constructs the commitments used by both implementations.
Payload is **commitment-only**, granted for Stage 1 by `GH-DEC-2026-014`:
hashes, principal, timestamps, acks, the co-referenced approval id. Never the
@ -190,7 +193,7 @@ def heartbeat(event_class: EventClass) -> Commitment:
class Outbox:
"""Local, transactional. Written in the same transaction as the state change.
"""In-memory domain-test double; use ``store.Store`` for durable atomicity.
Emit-after-commit is a defect. The queue is local so an `audit-core` outage
never blocks a binding act the same reasoning that keeps it from blocking