A repeat run whose date window matches nothing now stops after one page instead of re-reading the same feed every time. Put a "Posted before" or "Posted after" window on a profile and run it on a schedule, and every run walked the same forty-odd pages from the top of the feed, found nothing inside your window, and delivered nothing — then did it again on the next run, and the one after. Nothing was charged for any of it and nothing was missed, but the run took minutes to say what it could have said in seconds. A run that reaches the bottom of what your "Max posts per profile" buys and finds nothing to deliver now remembers, for that profile and that exact set of filters, which post was newest when it looked. The next run with the same settings reads one page: if the profile's newest post has not changed, the feed below it holds the same posts your filters already rejected, so the run stops there and says so on the profile row. Publish something new, widen the window, raise "Max posts per profile", change "Post type", or ask for posts you already have to be handed back, and the full walk runs exactly as before — the shortcut only ever applies to a repeat of the identical request that has already been answered. Nothing changes about what is delivered or charged.
A profile your own time limit cut part-way through now gets a row saying how far it got and how to continue. Until now a run stopped by "Max run seconds" mid-profile left the posts it did not read counted on the summary and nothing else: no line told you how many pages that profile reached, which date window it was heading for, or what to do next. Each such profile now writes one uncharged row with the depth it reached, the window it was going toward, and the two ways forward — pass the summary row's resumeCursor back to continue from exactly where it stopped, so nothing is read or charged twice, or raise "Max run seconds" to reach further in a single run. The resume is named first on purpose: it continues work already paid for, while a bigger limit re-buys it. A run your own "Max posts" or maximum-cost setting stopped is unchanged — that is your cut, and it is already named where it belongs. Nothing changes about what is delivered or charged.
A profile with no posts is now told apart from a handle that does not exist. The extra data source this actor falls back to answers a request for an empty account's feed with the same "not found" as it answers for an account that was never there. That answer used to end the run saying the handle does not exist — about a profile the same run had already read, listed and priced moments earlier. It now uses what it already knows: if the profile itself says it has no posts, the run says that, plainly and permanently; otherwise it says the read was refused, which is the honest answer and does not ask you to re-run into the identical refusal. Nothing is charged either way, and every other answer from that source behaves exactly as before.