2.7 KiB
Phone country scheduling: chunk limits must cycle until the global budget is exhausted
Trigger
Use this note for OpenAI add-phone / 5sim phone verification runners that accept:
- an ordered country list, e.g.
italy,poland,spain,england - a global attempt budget, e.g.
20 - a per-country consecutive-failure cap, e.g.
3
Pitfall observed
A runner built for:
Italy/Poland/Spain/UK
max 3 consecutive failures per country
total attempts 20
used this shape:
for country in ORDER:
local_attempt = 0
while total < MAX_TOTAL and local_attempt < MAX_CONSECUTIVE:
attempt(country)
This works for total <= len(ORDER) * MAX_CONSECUTIVE, e.g. 10 attempts with 4 countries and chunk size 3. But for total=20, it can only produce:
Italy x3 -> Poland x3 -> Spain x3 -> UK x3 = 12 attempts
Then it exits early because the outer for country in ORDER is exhausted.
Correct scheduling rule
When BOSS says:
这些地区测试 N 次,每个地区连续失败 K 次就切换下一地区
interpret N as the global budget and K as the maximum consecutive attempts for one country. The country list must cycle until either success or N attempts are consumed.
For ORDER=[italy,poland,spain,england], N=20, K=3, expected schedule is:
1-3: italy
4-6: poland
7-9: spain
10-12: england
13-15: italy
16-18: poland
19-20: spain
Do not stop at 12 merely because every country had one chunk.
Reference implementation
def schedule_countries(order, max_total, max_consecutive):
total = 0
while total < max_total:
progressed = False
for country in order:
for local in range(1, max_consecutive + 1):
if total >= max_total:
return
total += 1
progressed = True
yield total, country, local
if not progressed:
return
Use the yielded total as the global attempt number and local as the consecutive attempt number within the current country chunk.
Other gates still apply
- Do not buy a 5sim activation unless the active OpenAI page is already a usable
auth.openai.com/add-phonepage. - Re-check visible country/area-code before buying and before submit.
- If OpenAI resend channel probes as WhatsApp and BOSS policy is SMS-only, cancel the activation and rotate/stop.
- If 5sim buy returns HTTP 200
text/plainsuch asno free phones, classify as inventory miss; no activation exists and no cancellation is needed. - Close stale OAuth/OpenAI tabs before opening fresh recovery tabs unless the current tab is already the usable
add-phonepage.