Your residential IP can get nuked mid-task cached as rate-limited or blacklisted way before that lifetime_min window closes. You end up stuck between two bad choices: either you bump up the TTL and keep riding a poisoned exit node, or you rotate early and lose all your state. The sizing guidance in the article kinda glosses over this, but honestly it should be smth like size your window to how long the task actually takes, or how much pain you can tolerate sitting on a bad exit - whichever comes first. On the soft-block thing, I get why dumping that work on the agent side makes sense, but you need an actual rubric. Without one, teams either end up blind to captcha pages treating them like legit data or they flip out and rotate on every tiny content tweak. A straightforward validation function like is_genuine_page(content, expected_markers) that flags both soft-block signals and confirms the expected content's actually there would give people a real framework instead of everyone just winging it with their own hacky heuristics. One more thing, the provider's gotta support per-request geo and session targeting baked into the username or headers. Most residential proxy setups do this fine, but corporate and legacy gateways use totally separate control planes - rest APIs, custom headers, and the template system just won't bend to that without you building a custom proxy adapter layer to bridge the gap