Две системы не коммитятся одной retry
`UPDATE` и publish broker не имеют общего atomic commit: retry может потерять или дублировать сторону. Outbox помещает state и event в локальную DB transaction, принимая at-least-once relay.
distributed systems / УРОВЕНЬ 4
ТЕОРИЯ / ВОСПРОИЗВЕДЕНИЕ
`UPDATE` и publish broker не имеют общего atomic commit: retry может потерять или дублировать сторону. Outbox помещает state и event в локальную DB transaction, принимая at-least-once relay.
КОНТРОЛЬНАЯ ТОЧКА
02 / РЕАЛИЗАЦИЯ
Реализуйте in-memory transaction: valid first command обновляет order, command id и один versioned outbox event; replay→Duplicate без mutation; invalid/overflow не меняют collections.
Runner ждёт отправки кода.