Review this change for what breaks in production. Ignore style.
Diff:
[PASTE THE DIFF]
What this change is meant to do: [ONE OR TWO SENTENCES]
Where it runs: [SERVICE, AND WHETHER IT IS A REQUEST PATH, JOB, MIGRATION, OR STARTUP]
Scale it sees: [REQUESTS OR ROWS, ROUGHLY]
What it talks to: [DATABASE, QUEUES, EXTERNAL APIS, CACHES]
How it gets deployed: [ROLLING, ALL AT ONCE, BEHIND A FLAG]
Produce four sections.
1. WILL BREAK — things that fail under conditions this code will actually meet: empty and enormous inputs, concurrent execution, partial failure of something it calls, retries, a request arriving mid-deploy while old and new code both run. For each: the condition, what happens, and how bad.
2. WILL DEGRADE — no error, worse behaviour. Queries whose cost grows with data, work added to a hot path, a lock or transaction held longer, unbounded memory, a new synchronous call to something that can be slow.
3. NOT COVERED BY TESTS — go through the behaviour this diff introduces or changes and say which parts no test in the diff exercises. Name the specific case, not "add more tests". Include error paths and the boundaries of any new condition.
4. IRREVERSIBLE — anything that cannot be undone by rolling back the code: schema changes, data written in a new shape, messages published, external calls with side effects.
Rank sections 1 and 2 by expected damage. If the diff is missing context you need, say which file. Do not comment on formatting or naming.
Replace the outlined parts before running
[PASTE THE DIFF][ONE OR TWO SENTENCES][SERVICE, AND WHETHER IT IS A REQUEST PATH, JOB, MIGRATION, OR STARTUP][REQUESTS OR ROWS, ROUGHLY][DATABASE, QUEUES, EXTERNAL APIS, CACHES][ROLLING, ALL AT ONCE, BEHIND A FLAG]