Edge cases are the curriculum.
Understand why a failure occurs, the bug it creates, and the architectural control that contains it.
Payments
PaymentsWebhook arrives before checkout response
A monotonic client flow rejects a valid success or emits two receipts.
PaymentsPayment succeeds after caller timeout
Retry creates a duplicate charge or order remains falsely failed.
PaymentsConcurrent partial refunds exceed capture
Total refunded exceeds the captured amount.
Booking
BookingTwo users confirm the last slot
Both users receive confirmation.
BookingReservation hold expires during payment
Money is taken without inventory.
BookingOperational day differs from calendar day
Charges land on the wrong report or run twice.
Authentication
AuthenticationRevoked membership survives a cache
A removed user reads tenant data.
AuthenticationRecovery reveals whether an account exists
Attackers enumerate users.
AuthenticationCapability link is forwarded
Unintended recipient edits or downloads data.
File Upload
File UploadUpload completes but metadata does not
Orphaned bytes consume quota forever.
File UploadMetadata points at a missing object
Downloads fail after a claimed successful upload.
File UploadArchive expands beyond limits
Scanner exhausts disk, memory, or CPU.
Realtime
RealtimeLocation batches arrive out of order
A courier or driver appears to move backward.
RealtimeRevoked user keeps a live subscription
Private changes continue to stream.
RealtimePresence says offline while user is active
Workflow incorrectly cancels or reassigns work.
Messaging
MessagingWorker processes an event twice
Email, payout, or task is duplicated.
MessagingOne message always crashes a worker
Queue stalls or retries forever.
MessagingProducer deploys an incompatible event
Old consumers misread or discard data.
Notifications
NotificationsOld reminder fires after reschedule
Customer arrives at the wrong time.
NotificationsPopular action creates millions of notifications
Queue delay impacts unrelated transactional messages.
Inventory
InventoryAvailability read causes oversell
Reservations exceed on-hand stock.
InventoryExpired reservation never releases
Stock appears permanently unavailable.
InventoryMenu changes between browse and order
Wrong item or price is ordered.
Multi-tenancy
Multi-tenancyCache key omits tenant id
One tenant receives another's data.
Multi-tenancyRow references another tenant
Queries or cascades cross the isolation boundary.
Timezones
TimezonesA local appointment time does not exist
Scheduler silently moves or duplicates a booking.
TimezonesA local time occurs twice
Wrong slot or night charge is selected.
Distributed Systems
Distributed SystemsExpired lock holder resumes
Both mutate the resource.
Distributed SystemsPage cursor points across deleted rows
Items are skipped or repeated.
Distributed SystemsNodes disagree about expiry
One service accepts an already expired offer/token.