2026-07-13-r10-browser-walkthrough
⟦tag:v2|task|2026-07-13-r10-browser-walkthrough⟧
kind: task
id: 2026-07-13-r10-browser-walkthrough
lane: R10-followup
title: 联机 R10 真实手验补全(立即执行,无时间门,P1 checklist 非阻塞)
objective: 收口 R10 长工 = summarized-partial-gate-waived-by-p1 缺口 —— 真实 browser 手验 + 4 态切换 + 模拟掉线 + 视觉对照 checklist + 7 截图。不 ping 联机长工 019f3be5-...,直接派新短工补手验。
scope: docs/handoff/tasks/2026-07-16-multiplayer-ui-integration.md § prompt 段, docs/design/active/联机P2P房间骨架-v1.md, docs/design/active/W29联机UI视觉对照checklist-v1.md(新), src/components/multiplayer-lobby/RoomCard.tsx(改,视觉调整), src/App.tsx(改,multiplayer tab 入口 3-5 行)
acceptance:
- 7 张截图(4 态切换 4 张 + 掉线 3 张)
- 12 + 6 = 18 项 checklist 全勾
- P1 视觉验收记录:
pending / approved / changes_requested;pending不阻塞下游 cmd /c npm run build通过,cmd /c npm run lint无新增- 不重开长工,直接派新短工
worker sessionId: mvs_8d29eb63887f456587b85f0a79defba0
current state: active / browser-checklist-only / owner review pending
blockers: none。R7 / R8 长工 verified(代码已落),R10 长工 = summarized-partial-gate-waived-by-p1(7.12 13:06 P1 豁免)。
next action: 仅继续浏览器只读手验、7 张截图与 checklist;产品代码写锁已释放,不阻塞 Q3-A。
override policy: docs/handoff/2026-07-13-no-time-gates-and-nonblocking-owner-review.md
write lock release: Mavis message #231 confirmed;src/App.tsx 与 src/components/multiplayer-lobby/** 不再由 R10 持有
summary:
- 文件边界:RoomCard.tsx 视觉调整(不动 props 签名)/ App.tsx multiplayer tab 入口 3-5 行 / 严不碰 RealtimeBidPanel / ReconnectBanner(撞 R7/R8 既有产物)
- 6 短工 + 1 PM 节奏饱和,流水化派工不卡日历
prompt(给短工 / 子会话的指令)
角色:[短工]#联机-R10手验补全@v1.0
lane:R10-followup
时间窗:无时间门;立即执行,完成即回 callback
承接文档:docs/handoff/tasks/2026-07-16-multiplayer-ui-integration.md § prompt 段
前置依赖:✅ R7 / R8 长工 verified(代码已落),R10 长工 = summarized-partial-gate-waived-by-p1
任务清单
-
浏览器手验 1 轮:
npm run dev→ 主导航 → multiplayer tab → 4 态切换- 等待 waiting → 出价 bidding → 反狙击 antiSnipe(deadlineAt 调近 30s)→ 自然 settled
- 截图 4 张,放
docs/design/active/W29联机UI视觉对照checklist-v1.md引用
-
模拟掉线手验:测试数据把 seat 状态切
reconnecting- 顶部 ReconnectBanner 显「XX 正在重连…」+ 倒计时
- 30s 后变「XX 已离线」
- 房主掉线 60s 触发
transferHost→ 顶部条幅显「房主已转移给 XX」 - 截图 3 张
-
checklist 落盘:
docs/design/active/W29联机UI视觉对照checklist-v1.md(新)- § A 视觉规范 v1.0 联机章节 12 项
- § B 跟
auction/console/视觉一致性 6 项 - 每项勾 ✅ / 调 / 重做 + 截图引用
-
P1 视觉验收记录
- 结果:
pending / approved / changes_requested - 短工不代决视觉
pending时把 18 项 checklist、7 张截图和回退点交给 P1,但不阻塞下游
- 结果:
文件边界(强制)
- 🔧 改:
src/components/multiplayer-lobby/RoomCard.tsx(只动视觉调整,不动 props 签名) - 🔧 改:
src/App.tsx(只动 multiplayer tab 入口,主导航其他 tab 不动) - ✅ 新增:
docs/design/active/W29联机UI视觉对照checklist-v1.md - ❌ 不碰:
RealtimeBidPanel.tsx/ReconnectBanner.tsx(R7/R8 既有产物) - ❌ 不碰:
auction/**/auctionRules.ts/components/auction/** - ❌ 不碰:
items/**/multiplayer/realtimeBidding.ts/multiplayer/timeout.ts/multiplayer/reconnect.ts
验收
cmd /c npm run build通过cmd /c npm run lint无新增- 7 张截图全有(4 态切换 4 张 + 掉线 3 张)
- checklist 12 + 6 = 18 项全勾
- P1 视觉验收记录:
pending / approved / changes_requested,其中 pending 非阻塞
不做
- ❌ 真实网络测试(留 W30+)
- ❌ 表情包 / 弹幕(留 W30+)
- ❌ 房间卡片动效(留 v1.1 续)
- ❌ 移动端适配(留 v1.1 续)
- ❌ 暗色模式切换(留 v1.1 续)
- ❌ ping 联机长工
019f3be5-...(已豁免,残缺记入 R11 § 3)
风险 + 缓解
- 改 RoomCard 撞 R7/R8 既有 props 签名 → 文件边界严:
❌ 不碰 RealtimeBidPanel.tsx / ReconnectBanner.tsx,只动 RoomCard 视觉调整 - App.tsx 改动面失控 → 只动 multiplayer tab 入口 3-5 行,主导航其他 tab 不动
- P1 后续要求调整 → 新建 follow-up checklist 项,不回滚已完成工程证据,不阻塞当前下游
派工触发链(流水化)
- T3 callback 收到后立即派工(本卡就是流水化第 4 条,可与骨架 sync 派工并发,派工池 ≤ 2)
- R10-followup callback 收到 → 立即派 骨架 sync(
docs/handoff/tasks/2026-07-13-multiplayer-skeleton-sync.md,待起草)+ 拉 P1 拍 R10 视觉 - 你只回 R10-followup callback,骨架 sync 派工由管家(本会话)接力
回执模板(短工完成时按这个格式回报主会话)
[R10-followup #联机-R10手验补全@v1.0 回执]
- 状态:✅ / ⚠️ / ❌
- 截图:<7 张实际路径>
- checklist:12 + 6 = 18 项勾选结果
- P1 拍板结果:✅ / ⚠️ / ❌
- `npm run build`:✅ / ❌
- `npm run lint`:无新增 / 新增 N 个
- 风险/阻塞:<如有列出;如无,写 "无">
- 残余风险:<如有列出;如无,写 "无">
- 建议给 R11 接力点:<一句话>
回执发送对象:root session(mvs_024c77d9a55549c98e3731c1cc770434),用 mavis communication send --from <你的 session id> --to <root> --command prompt --content "<回执>"。
(End of R10-followup task card)