Decision 014
When asynchronous processing should replace synchronous APIs
Choose async when work is long-running, fan-out heavy, or must absorb spikes without blocking clients.
Engineering Decisions
ADR-style cards that demonstrate how decisions are made — not that one answer is always right.
Decision 014
Choose async when work is long-running, fan-out heavy, or must absorb spikes without blocking clients.
Decision 021
Prefer a well-structured modular system until organisational and scale pressures justify distribution.
Decision 033
Use cron for simple scheduled jobs; use queues when work is event-driven, bursty or requires retries.
Decision 041
Use deterministic automation for known procedures; use agents where judgement over messy context is the bottleneck.