What must never break in checkout?

Answer it out loud before you open anything. The value of the flags below is in comparing them to what you actually said — including whether you asked who uses it before naming what you would build it with.

The situation behind the question

A payments engineer is leaving and you inherit checkout for the online store. In the handover they say "it mostly works, there are some edge cases". There are no tests for checkout. You have a week before a marketing campaign doubles traffic (illustrative).

React to this

Say what you would question, what you would keep, and what you would need to know first.

The decomposition, the proposal, or the transcript as it stands
Handover note from the leaving engineer (illustrative)

  "Checkout mostly works. Known edge cases:
   - sometimes the confirmation page shows twice if you refresh
   - the stock number can go a bit off during sales
   - Stripe webhooks occasionally 500 but it self-corrects, I think
   - don't touch the retry loop in charge(), it's load-bearing
   No tests for this module — it was always about to be rewritten."

What it is really testing

Whether the candidate can find invariants — properties that must hold regardless of path — from the behaviour of the system rather than from a list someone gives them, and whether they can turn each one into a check before touching the code.

Where the move is taught