Deprecated For Nine Months, Call Sites Rising

Decide what you would do from the brief alone, including whether you would change anything at all. Everything below it is available, but the exercise stops working if you open it first.

The brief you were given

An internal library marked HttpClient.request() deprecated nine months ago. There are now 140 call sites, up from 120. The replacement send() cannot express two things the old method could: a per-call retry policy and a streaming response.

The trap — the fix that looks like good design and is not

Escalating: turn the warning into a lint error, fail the build, and allow suppression comments where a team genuinely cannot migrate. It creates motion — the count finally drops — and it looks like leadership finally applying the pressure the migration needed. What lands is 140 diffs written under deadline by people who do not own the library: a third of them pass retryPolicy through an options bag someone added in a hurry, a handful reimplement retry at the call site with slightly different semantics, and forty suppression comments enter the codebase permanently. The blocker was that the new API cannot do two things, and no amount of pressure on callers changes that.

Read this even if you are confident. It is here rather than behind a button because it is the answer most teams actually ship, it passes review, and the cost of it does not arrive until the change after this one.