Skip to content

fix: probe 模式不再把预先存在的未支付订单误报为「抢票成功」 - #55

Merged
currycan merged 1 commit into
masterfrom
fix/probe-preexisting-pending-order
Jul 11, 2026
Merged

fix: probe 模式不再把预先存在的未支付订单误报为「抢票成功」#55
currycan merged 1 commit into
masterfrom
fix/probe-preexisting-pending-order

Conversation

@currycan

Copy link
Copy Markdown
Owner

背景

对合并后的 master(#54)做收官真机测试(设备 c6c4eb67,全程 --probe 安全探测,零下单)时捕获。

问题

大麦 App 启动时瞬时弹出账号里一个预先存在的未支付订单弹窗,probe_only 安全探测模式却输出:

快速重试成功:抢票成功:检测到未支付订单,请立即前往支付完成下单

outcome=order_pending_payment / exit 0。

安全探测从不提交任何订单,这个弹窗必然是账号里预先存在的占单(非本次探测产生)。报「抢票成功」会让安全探测用户误以为 probe 帮他下了单——正是本轮圆桌评审 U-10「禁止虚报成功」 同源的信任缺陷。

修复

新增 _report_pending_order_dialog() 按模式据实分流:

  • probe_only → 新 outcome preexisting_pending_order +「探测提醒:账号存在未支付订单(非本次安全探测产生),如需可自行前往处理;本次探测未做任何提交」,不称成功
  • 正式/开发模式 → 保持 order_pending_payment 原语义(本轮流程真实占单)

三处 pending_order 上报点(orchestrator 主路径 ×2 + recovery 快速重试 ×1)统一走此 helper,返回 True / exit 0 语义不变(仅措辞与 outcome 据实)。

测试

  • 全量 pytest 1376 passed / 1 xfailed(既有),覆盖率 84.11%
  • +2 单测:probe 模式 pending_order → preexisting_pending_order 断言;成功日志映射对该 outcome 不含「抢票成功」
  • 旧(错误)行为已由 15:21 真机日志实证;瞬时弹窗账号态相关,无法确定性复现,故由单测锁定
  • 同一轮真机测试另确认:--serial 精确预检在 macOS 真机生效(feat: 易用性圆桌评审 8 条 backlog 落地 + 2 个真机 bug 修复 #54 的 BSD sed 修复)、空标题场馆兜底再次命中 venue_fallback → probe_ready

🤖 Generated with Claude Code

真机测试(设备 c6c4eb67,--probe 安全探测)捕获:大麦启动瞬时弹出账号里
一个预先存在的未支付订单弹窗,probe_only 模式却输出「快速重试成功:抢票
成功:检测到未支付订单」,outcome=order_pending_payment。

安全探测从不提交任何订单,该弹窗必然是账号预先存在的占单(非本次探测
产生);报「抢票成功」会让安全探测用户误以为 probe 下了单——与圆桌评审
U-10「禁止虚报成功」同源的信任缺陷。

修复:新增 _report_pending_order_dialog() 按模式据实分流——
- probe_only → 新 outcome preexisting_pending_order +「探测提醒:账号存在
  未支付订单(非本次安全探测产生)」,不称成功;
- 正式/开发模式 → 保持 order_pending_payment 原语义(本轮流程占单)。
三处 pending_order 上报点(orchestrator 主路径 ×2 + recovery 快速重试 ×1)
统一走此 helper,返回 True/exit 0 语义不变。

测试:全量 1376 passed / 1 xfailed,覆盖率 84.11%;+2 单测(probe 模式
outcome 断言 + 成功日志映射不含「抢票成功」)。旧行为已由真机日志实证。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@currycan
currycan merged commit 0812ffb into master Jul 11, 2026
5 checks passed
@currycan
currycan deleted the fix/probe-preexisting-pending-order branch July 11, 2026 07:53
currycan added a commit that referenced this pull request Jul 11, 2026
用「重要性 × 完成度」四象限评估 README 后补齐高重要·低完成项:
- 顶部新增「适用人群与准入门槛」:一句话适合/不适合 + 硬门槛表
  (安卓真机 / 命令行 / adb / 大麦就绪),小白第一屏即可自我筛选
- 新增目录 TOC(8 组锚点,均经 docs 守卫锚点解析测试验证)
- FAQ#4 补「如何在大麦 App 添加观演人」具体路径,强调 users 与 App
  内姓名逐字一致;3.准备配置处加跳转
- 新增「风险与合规提示」小节(账号/风控/封号风险、仅限个人正当使用、
  风险自负),此前风险仅在 FAQ 一句带过
- 修事实缺口:退出码表补上 PR #55 引入却漏文档的 preexisting_pending_order
  outcome(exit-0 行 + outcome 枚举)
- Desktop 历史启动命令折进 <details>,不再与「已不可用」自相矛盾

纯文档改动,零代码;docs 守卫 33 passed(含锚点解析、无幽灵字段、
CONFIG_EXAMPLE 块未动)。

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant