Files
codex-oauth-plus-onboarding…/skill/codex-oauth-plus-onboarding/references/session-review-2925-luban-openai-onboarding-2026-05-11.md
T

103 lines
4.0 KiB
Markdown

# Session review: 2925 + Luban OpenAI onboarding lessons (2026-05-11)
## Why this reference exists
BOSS asked to actively review the conversation and update the skill library. This session produced several reusable lessons for the broader `codex-oauth-plus-onboarding` workflow, and they belong under the existing umbrella skill rather than as narrow one-off skills.
## Class-level lessons captured
### 1. 2925 Webmail false negatives are a scraper problem until proven otherwise
A manual user check found OpenAI verification mail in 2925 Inbox even though automation reported `candidateCount=0` for multiple resend cycles. The root cause was route-based scraping:
```text
Wrong: https://2925.com/#/mailList?type=收件箱
Right: click the left-side 收件箱 nav, then inspect the real list at #/mailList
```
Reusable rule: before concluding OpenAI did not deliver to a 2925 alias, verify the scraper uses the real DOM flow:
```text
click left 收件箱 -> toolbar 刷新 -> table.maillist-table tr -> hidden tooltip/title/textContent -> open newest matching row -> extract code from message body
```
Detailed reference: `references/mail2925-correct-inbox-scraping-openai-code-2026-05-11.md`.
### 2. SMS-provider tests must separate OpenAI acceptance from SMS delivery
Luban UK demonstrated a useful distinction:
```text
OpenAI acceptance: attempts 1-9 reached phone-verification and were not rejected.
SMS delivery: 0/10 messages arrived after ~190s each.
```
Do not collapse these into a single “failed” label; report both dimensions. Attempt 10 stayed on `add-phone`, so it must be classified as `submit_no_sms_page`, not as a confirmed no-SMS phone-verification attempt.
Detailed reference: `references/luban-uk-openai-10-attempts-no-sms-2026-05-11.md`.
### 3. Luban release timing is provider-specific
BOSS explicitly corrected the release cadence: for real SMS-delivery testing, hold each Luban order at least 3 minutes before releasing. Immediate or too-early release can return provider errors like:
```text
停用失败,该供应商需要在两分钟后停止.
```
Reusable rule: calculate release eligibility from the purchase timestamp, not from the last poll timestamp.
### 4. Country samples should be documented with service_id and result class
Luban country/service results are not interchangeable:
```text
UK / service_id=537935: OpenAI usually accepted, SMS did not arrive in 10 attempts.
Chile / service_id=508058: first attempt was immediately rejected by OpenAI.
```
This helps future runs avoid repeating low-yield country/provider combinations without explicit BOSS approval.
Detailed reference: `references/luban-chile-openai-immediate-reject-2026-05-11.md`.
### 5. After background process completion, always process the result visibly
A prior tool turn ended with an empty response after writing a script. BOSS explicitly asked to process tool results and continue. The skill already contains the rule to always return a visible status after tool-driven steps; this session reinforces that it is not optional.
## Current skill-library state after this session
Updated umbrella:
```text
codex-oauth-plus-onboarding
```
New/updated references:
```text
references/mail2925-correct-inbox-scraping-openai-code-2026-05-11.md
references/luban-uk-openai-10-attempts-no-sms-2026-05-11.md
references/luban-chile-openai-immediate-reject-2026-05-11.md
```
Gitea sync verified at commit:
```text
c29567eda6e1619401d2ccdbc937e7534c35940e
```
## Future action pattern
For new OpenAI/Codex onboarding runs using 2925 + Luban:
1. Load this umbrella skill first.
2. Prefer the corrected 2925 scraper flow before declaring email non-delivery.
3. For Luban, resolve service_id dynamically and log country/provider/service_id/cost.
4. Hold Luban orders at least 3 minutes when testing delivery.
5. Classify outcomes precisely:
- `rejected_by_openai`
- `phone_verification_no_sms`
- `submit_no_sms_page`
- `sms_received_but_code_rejected`
- `phone_verified`
6. Write a concise reference and sync Gitea after non-trivial provider/country tests.