Stream design workspace / Reading notes

Design an event as a fact

A stable envelope helps producers and consumers evolve separately.

Name what happened

Prefer a completed domain fact to a vague instruction. Explain the meaning of the event and when it is emitted relative to the source transaction.

Keep identity stable

Assign an event identifier once and preserve it through retries. Include an entity key when consumers need to relate successive facts about the same object.

Minimize the payload

Include what consumers need under an agreed contract. Avoid copying entire internal records and secrets into a stream that may have wider readership.

← Browse all field notesDocumentation