ADR-0027: Audit И Idempotency Standards
Статус
Принято.
Контекст
Деньги, callbacks, permissions, reports, partner payouts и admin decisions требуют воспроизводимости и защиты от повторов. Без общего стандарта каждый сервис реализует audit и idempotency по-разному.
Решение
Audit и idempotency являются shared infrastructure capabilities. Mutation command сохраняет aggregate changes, audit record, idempotency result и MassTransit outbox publish/send в одной локальной transaction boundary, если они участвуют в операции.
Последствия
- High-impact операции обязаны иметь
AuditRecord. - Каждый сервис ведет audit action catalog и typed audit snapshot registry.
- Повтор HTTP request/callback/consumer delivery должен давать replay или typed conflict.
- Idempotency имеет explicit state machine, request hash canonicalization и storage constraints.
- Response snapshots и audit snapshots всегда typed.
- Sensitive данные маскируются и не пишутся в audit/idempotency storage.
Обратные ссылки
Автоссылки: где используется этот документ.