# R2 Synthesis —《雨夜专案》(detective) > 产品裁定 | 证据源:R2 真机复测(round2/live-player.md:F1-F11 全部现场坐实)+ 4 人设复审(p1-blind/p2-student/p3-office/p4-worker)+ R2 重生成转写(transcript-main/stress.md)+ 测试三绿(playtest 279 / guide 122 / check_all_assets)。 ## 1. R2 裁决 | 评审方 | 状态感知 | 下一步明确 | 愿意继续玩 | |---|---|---|---| | P1 视障评委 | 5/5(+0.5) | 5/5 | **是** | | P2 大学生 | 5/5 | 5/5(+1) | **是** | | P3 白领 | 4.5/5(+0.5) | 5/5(+1) | **是** | | P4 工人 | 5/5 | 5/5(+1) | **是** | | 真机玩家(局 A′ 认真新手 / 局 B′ 急性子) | — | — | **是**(无附加修复条件) | **结论:6/6 愿意玩(4 人设 + 真机 2 局),P0 = 0,评分全面上行。R1 的 11 项修复全部现场坐实、零回退、零新问题。** 章程验收门核算:R1(5/5 愿意玩、无 P0 级状态混淆)+ R2(6/6、无 P0)= **连续 2 轮达标 → 《雨夜专案》达到「可交付」,批次验收门通过**(R3 不再启动,视上手反馈续)。 ## 2. F 类修复复核结论(R1 synthesis 编号逐条) | # | 修复 | 复核结论 | 关键证据 | |---|---|---|---| | F1 | 兜底 8s→15s | **坐实** | live A′ intro_1 全时足播 OK sim=0.977(R1 同点 TRUNCATED 丢「川死了」) | | F2 | D0→D1 串行化 | **坐实** | live A′ item_w2 落声→tut_listen 完整接播 OK sim=1(R1 只播 0.4s);playtest 序断言 | | F3 | react 按轴取句 | **坐实** | live A′ 首发戳 M3→z_react_w OK sim=1(R1 同操作播「灯」答非所问);M1-M4 逐轴对 + 4/4 收官 z_react_4;转写同步 | | F4 | 指认措辞 | **坐实** | 两局真凶问播 item_who_* 纯人名;「就指认这位?」;温太太分支无性别假话 | | F5 | 结案确认闸 | **坐实** | live A′ 首击 fin_pre 不进三问、滑走撤闸、闸内再击进;转写压力线误闯不再坠三问 | | F6 | 听齐未破指路 | **坐实** | live A′ recap_cf OK sim=0.89;gd_board_cf 断言+转写双证(live 落点与 recap_cf 长句撞车被 idle-only 丢弃——信息已由 recap_cf 送达,引擎既有语义,非回退) | | F7 | 选句加速 | **坐实** | live A′ 选句入口链 z_1→z_4→z_2→z_3(记忆位);选句相位长按=引擎快进不震(ta=816.0 boost 成对) | | F8 | 提示轻震 | **坐实** | 两局 hint 落点全部 confirm [20],warning 三连震绝迹 | | F9 | 错指当场记账 | **坐实** | 两局错指链 acc→fin_clear→st_wrong 均 OK;结算 rate_a/rate_b 与当场账对账一致 | | F10 | tut_skip 补动词 | **坐实** | R2 压力转写 t+5.1 新词「…按住屏幕,指证矛盾。」 | | F11 | L2 疑点齐分支 | **坐实** | playtest 场景 10D 断言;live 4/4 后不再播 hint_b | V 类复核:V1(平铺回退 404 噪音)引擎级,维持观察不动作;V2(intro_w3 同嗓背靠背)维持待人耳试听,P1 复审跟进确认;V3(FINISH 入口双震)维持观察。 ## 3. 测试与终检 - `tools/node/bin/node web/detective/test/playtest.mjs`:**279/279 通过**(断言含 F2 序、F3 按轴、F5 闸、F6 指路、F7 记忆/长按、F9 记账、F11 分支、gd_board_cf 触发;资产引用 150 id 缺失 0)。 - `tools/node/bin/node web/harness/guide.test.mjs`:**122/122 通过**。 - `python3 tools/check_all_assets.py`:**全项目通过**(detective:ogg/m4a 各 304、0 字节 0、解码失败 0;voice 双性别各 104 集合一致;平铺 53 豁免;key 各 14 ⊆ 主集)。 - 资产对账:171 句 ≤176 新上限(旁白基表 104×2 + V 组 14×2 + NPC 53 = 289 条 ×2 格式 = 578 文件);GPU 生成全程 `flock .gpu.lock` 串行(两批:新增 29 wav + 改词 4 wav)。 ## 4. 遗留清单(均为 P3/观察,不阻塞交付) | # | 事项 | 来源 | 处置 | |---|---|---|---| | L1 | intro_w3 与 male 旁白同嗓背靠背(音色归因风险最后一点) | R1 P1 专项 / R2 P1 建议 1(=V2) | 待人耳试听清单统一处理;若确认混淆,intro_w3 改 NPC 声或补半拍静默 | | L2 | 无操作轨一级偏密(gd_board/gd_cf 15s 级连催;建议两级后只震不念) | R1 P3 建议 3 / R2 P3 建议 1 / P4 建议 1 | v2 打磨候选(参考 abyss 两级后仅环境声) | | L3 | 案包仅 A/B 两包,第三局起可背答案 | R1 P2 / R2 P2 建议 1 / P1 建议 3 | 内容扩展(新案模板),不属迭代修复范畴 | | L4 | 状态链只报数不报内容(「谁说过灯」要自己捞);建议加内容复述档 | R2 P3 状态感知 0.5 扣点 | v2 候选 | | L5 | 板级位置提示(第几份/共七份半句) | R1/R2 P1 | v2 候选 | | L6 | fin_pre/菜单句的熟手短版(第二次起 2 秒版) | R2 P3 建议 3 / P4 建议 3 | v2 候选 | | L7 | st_wrong 连错时逐字重复(「又错一回」变体) | R2 P4 建议 2 | v2 候选 | | L8 | 选句记忆位起播缺提示区分(「从上次停的那句起」) | R2 P2 建议 3 | v2 候选 | | L9 | gd_board 在疑点 4/4 后仍播「换卷宗」词(指路已由 L2 hint_fin 覆盖) | R2 live A′ t=1119.97 | 观察,不动作 | | L10 | NPC 平铺回退 404 噪音(引擎级);FINISH 入口 tap 双震(轻) | R1 V1/V3 | 引擎统一治理候选;维持观察 | 仪器协议留档:live 驱动的 mark 一律取在触发动作之前(R2 两会话已执行);1.7x 会话 ASR MISMATCH 降权口径沿用。 ## 5. 终止判定 对照批次验收门(≥3/4 人设愿意继续玩 且 无 P0 级状态混淆,连续 2 轮):**R1 达标 + R2 达标 → 连续 2 轮达成,《雨夜专案》标记「可交付」✅**。R3-R6 经用户裁定暂停,视上手反馈续;遗留清单 L1-L10 转入 v2 打磨候选。