Why I Rebuilt Clearance Around Events
The project became useful when it stopped being about payments and started being about failure.
The first version was too easy
A payment-shaped project can hide inside a normal CRUD app. Request comes in, row is written, response goes out.
That does not teach much about reliability.
The rebuild
Clearance became useful when the flow moved through focused services: transaction ingestion, outbox publishing, risk evaluation, and ledger writing.
That introduced the real questions: what happens when publish fails, when a message is redelivered, or when a key is reused with a different payload?
The lesson
Events are not automatically better. They are worth it when the failure modes are part of what you are trying to understand.