Files
codex-oauth-plus-onboarding…/skill/codex-oauth-plus-onboarding/references/until-success-phone-runner-cumulative-accounting-2026-05-11.md
T

53 lines
2.2 KiB
Markdown

# Until-success 5sim phone runner with cumulative accounting (2026-05-11)
Context: BOSS asked to continue OpenAI/Codex phone verification until it succeeds and then report the final number of phone numbers used.
Reusable pattern:
- Use a long-running script instead of repeated 20-number chunks.
- Carry forward `START_USED_NUMBERS` from previous real activations. In the observed session the start was `57` (`17` Vietnam-specific + `40` free-country activations).
- Count only successful 5sim activation purchases toward number usage. `no free phones`, country-gate failures, CDP recovery failures, and page recovery failures do not count.
- Continue emitting JSONL with both `new_numbers` and `total_numbers` so the final report is unambiguous.
- Keep a safety cap (`MAX_NEW_NUMBERS`, default 300) unless BOSS explicitly approves unlimited spend. `MAX_NEW_NUMBERS=0` means unlimited.
- Persist state to `/tmp/phone_verify_until_success_state.json` with current activation id, new count, total count, country, and success summary.
- Keep `/tmp/current_fivesim_activation_id.txt` updated so an interrupted run can cancel the active order quickly.
- Continue SMS-only behavior: immediate OpenAI rejection/invalid -> cancel; phone-verification with no 5sim SMS -> timeout cancel; SMS received -> submit code, finish activation, verify page leaves `phone-verification`.
Suggested command:
```bash
START_USED_NUMBERS=<prior-real-activations> \
MAX_NEW_NUMBERS=300 \
CDP_PORT=9226 \
/Users/chick/homebrew/opt/python@3.11/bin/python3.11 \
/Users/chick/.hermes/skills/software-development/codex-oauth-plus-onboarding/scripts/phone_verify_until_success.py \
| tee /tmp/phone_verify_until_success.log
```
Key log phases:
```text
until_success_start
activation_bought
phone_submitted
activation_cancel_rejected
sms_timeout_cancel
sms_received
sms_code_submitted
round_done_no_success
safety_max_reached_no_success
```
Final report should include:
```text
prior real activations
new real activations
final total numbers used
success country + activation id if successful
5sim final state: FINISHED or CANCELED
OpenAI page state after code submission
```
Do not print full phone numbers, SMS code, API keys, proxy strings, OAuth callback code/state, or passwords.