Перейти к основному содержимому

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.

Обратные ссылки

Автоссылки: где используется этот документ.