A decision record for something we did not do

A record of a rejected proposal, which is the kind nobody writes and the kind that saves the most time.

# ADR-027: Not adopting a message broker for internal events

## Status
Rejected, 2025-05-08.

## Context
Proposed twice (2023, 2025). Internal domain events are
currently synchronous and in-process.

## Why rejected
Every consumer is in the same deployable and the same
transaction. A broker would add eventual consistency to
invoicing, which finance would notice.

## What would change this
A consumer outside this deployable. Not the volume —
we are at 40k events/day against a synchronous path
that costs 2ms.

The same proposal arriving twice in two years is the signal that a record is missing, because the reasoning was sound both times and lived in somebody’s head. A rejection record is also the one most likely to be read as defensive, which is why it has to name what would change the answer rather than only why the answer is no.