docs: record eu4 phone run and round-robin fix
This commit is contained in:
+114
@@ -0,0 +1,114 @@
|
||||
# EU4 phone verification run and round-robin correction (2026-05-10)
|
||||
|
||||
## Request
|
||||
|
||||
BOSS requested broadening 5sim SMS countries to:
|
||||
|
||||
```text
|
||||
Italy, Poland, Spain, United Kingdom
|
||||
```
|
||||
|
||||
and running the latest strict-gate workflow for 10 attempts.
|
||||
|
||||
## Intended config
|
||||
|
||||
```text
|
||||
FIVE_SIM_COUNTRY_ORDER=italy,poland,spain,england
|
||||
PHONE_VERIFICATION_REPLACEMENT_LIMIT=10
|
||||
```
|
||||
|
||||
Country mappings:
|
||||
|
||||
| 5sim country | OpenAI ISO | Visible selector | Prefix |
|
||||
| --- | --- | --- | --- |
|
||||
| `italy` | `IT` | `意大利 (+39)` | `39` |
|
||||
| `poland` | `PL` | `波兰 (+48)` | `48` |
|
||||
| `spain` | `ES` | `西班牙 (+34)` | `34` |
|
||||
| `england` | `GB` | `英国 (+44)` | `44` |
|
||||
|
||||
## Actual first EU4 run outcome
|
||||
|
||||
Runner:
|
||||
|
||||
```text
|
||||
/tmp/phone_verify_eu4_total10_latest.py
|
||||
```
|
||||
|
||||
Log:
|
||||
|
||||
```text
|
||||
/tmp/phone_verify_eu4_total10_latest.log
|
||||
```
|
||||
|
||||
Result:
|
||||
|
||||
```json
|
||||
{"phase":"phone_failed_all","total_attempts":10,"order":["italy","poland","spain","england"]}
|
||||
```
|
||||
|
||||
Important correction: although the order included four countries, the script loop ran all 10 attempts against the first country (`italy`) because it nested `for country in ORDER` outside `for attempt in LIMIT` and stopped after the global total reached 10. It did not test Poland, Spain, or UK in that run.
|
||||
|
||||
## Italy findings
|
||||
|
||||
All bought orders were canceled. Examples:
|
||||
|
||||
- `1006744560`
|
||||
- `1006745080`
|
||||
- `1006745501`
|
||||
- `1006746015`
|
||||
- `1006746588`
|
||||
- `1006747049`
|
||||
- `1006747555`
|
||||
- `1006748145`
|
||||
|
||||
Observed pattern:
|
||||
|
||||
1. Strict country gate passed before buying:
|
||||
- `意大利 (+39)`
|
||||
- `selectValue=IT`
|
||||
2. OpenAI accepted or transitioned into phone verification/waiting state.
|
||||
3. 5sim status stayed `RECEIVED` with `sms_count=0`.
|
||||
4. Resend probe detected WhatsApp delivery, e.g.:
|
||||
```text
|
||||
重新发送 WhatsApp 消息
|
||||
```
|
||||
5. Under BOSS's SMS-only policy, runner canceled the SMS activation instead of clicking WhatsApp resend.
|
||||
|
||||
Conclusion for Italy:
|
||||
|
||||
```text
|
||||
Italy +39 did not produce SMS via 5sim/openai in this run; OpenAI repeatedly exposed WhatsApp resend, so SMS-only automation canceled the activations.
|
||||
```
|
||||
|
||||
## Runner bug fixed
|
||||
|
||||
A corrected round-robin runner was written:
|
||||
|
||||
```text
|
||||
/tmp/phone_verify_eu4_roundrobin10_latest.py
|
||||
```
|
||||
|
||||
The corrected runner attempts countries in round-robin order:
|
||||
|
||||
```text
|
||||
attempt 1: italy
|
||||
attempt 2: poland
|
||||
attempt 3: spain
|
||||
attempt 4: england
|
||||
attempt 5: italy
|
||||
...
|
||||
```
|
||||
|
||||
This prevents a global limit from being exhausted by the first country only.
|
||||
|
||||
## Workflow rule added
|
||||
|
||||
When BOSS says "expand countries A/B/C/D and run N attempts", interpret `N` as global attempts unless BOSS explicitly says "per country". Use a round-robin schedule so each configured country is actually tested before repeating the first one.
|
||||
|
||||
## Still mandatory
|
||||
|
||||
- Strict country/area-code gate before buying and before submit.
|
||||
- No non-US number on `美国 (+1)`.
|
||||
- Probe resend channel before clicking.
|
||||
- If resend channel is WhatsApp and BOSS policy is SMS-only, cancel activation and rotate/stop.
|
||||
- Cancel any active activation on interruption or flow failure.
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
# OpenAI add-phone EU4 total-10 SMS run notes (2026-05-10)
|
||||
|
||||
## Trigger
|
||||
|
||||
Use these notes when BOSS asks to broaden 5sim SMS phone-verification countries around Europe while keeping the latest strict OpenAI `add-phone` runner behavior.
|
||||
|
||||
## User preference captured
|
||||
|
||||
When BOSS says to try a set of regions and says "设为/跑 10 次", interpret it as **10 total attempts across the configured country order** unless BOSS explicitly says "每个国家 10 次". This avoids burning unnecessary 5sim orders.
|
||||
|
||||
## Country order used
|
||||
|
||||
```text
|
||||
italy,poland,spain,england
|
||||
```
|
||||
|
||||
## Required OpenAI country mappings
|
||||
|
||||
| 5sim slug | OpenAI ISO | Visible selector text | Dial prefix |
|
||||
| --- | --- | --- | --- |
|
||||
| `italy` | `IT` | `意大利 (+39)` | `39` |
|
||||
| `poland` | `PL` | `波兰 (+48)` | `48` |
|
||||
| `spain` | `ES` | `西班牙 (+34)` | `34` |
|
||||
| `england` | `GB` | `英国 (+44)` | `44` |
|
||||
|
||||
## Runner changes made during the session
|
||||
|
||||
A temporary latest runner was created from the strict-gate runner:
|
||||
|
||||
```text
|
||||
/tmp/phone_verify_eu4_total10_latest.py
|
||||
```
|
||||
|
||||
It should be promoted/copied into the skill package if it continues to be useful. It differs from the previous strict runner by:
|
||||
|
||||
1. Adding Italy/Poland/Spain mappings.
|
||||
2. Keeping UK mapping as `england` -> `GB` -> `英国 (+44)`.
|
||||
3. Enforcing `MAX_TOTAL_ATTEMPTS = 10` across all countries, not per-country.
|
||||
4. Retaining the existing strict country gate before buy and before submit.
|
||||
5. Retaining official-update learnings:
|
||||
- probe resend channel before clicking;
|
||||
- cancel/rotate if WhatsApp is detected under SMS-only policy;
|
||||
- classify 500/contact-verification server errors;
|
||||
- cancel activations if a gate or server error occurs.
|
||||
|
||||
## First-run evidence
|
||||
|
||||
The EU4 run started successfully. The first attempt was Italy and passed the country gate before buying:
|
||||
|
||||
```json
|
||||
{"phase":"country_gate_before_buy","country":"italy","attempt":1,"ok":true,"country":"意大利 (+39)","selectValue":"IT","expected":"意大利 (+39)"}
|
||||
```
|
||||
|
||||
A 5sim activation was bought only after the gate passed. Full phone number is intentionally not recorded.
|
||||
|
||||
## Pitfalls
|
||||
|
||||
- Do not rely on `PHONE_VERIFICATION_REPLACEMENT_LIMIT=10` alone when multiple countries are configured; the old runner interprets that as per-country. Add a global attempt counter when BOSS asks for total attempts.
|
||||
- Keep the strict country/area-code gate. Do not submit European numbers while the selector is still `美国 (+1)`.
|
||||
- Keep SMS-only policy. Do not click WhatsApp resend unless BOSS explicitly approves switching away from SMS-only.
|
||||
- If the run is interrupted, immediately check/cancel any active 5sim activation in `RECEIVED` state.
|
||||
Reference in New Issue
Block a user