feat(new8/batch3-4): cipher/teahouse/keeper/bridge 全套交付——new8 八款全部可交付收官
四泳道并行全流水线(资产→开发→测试→玩家迭代闭环),双双 R1-R2 连续达标裁定可交付: - cipher《暗码》223 断言:摩尔斯解码嵌叙事/四结局矩阵/暴露度逐NIGHT验算/三层兜底;R2 三修(链首标记音/预警震/结局计数句+4句补录)4/4 全满分档 - teahouse《深夜茶馆》205 断言:泡茶时机窗/经济逐晚对账/多晚弧线;连续 2 轮 4/4 愿意玩 P0=0 - keeper《守塔人》257 断言:时空签名教学-兑现/插叙触发回返/trust×truth 档位/4结局;R2 F1/F2 坐实(震型豁免/首播跳句锁)4/4 - bridge《星环舰长》336 断言:巡检节奏逐毫秒/危机×系统态矩阵/仲裁7场景/忠诚差分/评级验算;R1 当场修F1-F4、R2 F5 菜单顺延保护 4/4 上行 公共:index.html 四卡片+profiles.js 四桶+check_all_assets 登记(预接线)、00-program 八款进度账收账、 gen_voice_dual 四游戏段、README/HANDOVER 阵容更新(11 款)、voice_text.json 四游戏键、mureka 台账(累计$1.26/$2.00) 验证:四游戏 playtest 223/205/257/336 全绿 + guide 122/122 + 全项目 15 游戏资产终检绿 遗留:keeper 三代人声滤波人耳试听(最高优先,ASR 对滤波句失明)、bridge 音频 32MB 超软指引 2MB(压缩候选)
This commit is contained in:
@@ -256,3 +256,21 @@
|
||||
- 归因真话律:dv1_wrong 的字母/码与真词 BAY 一致;rev_* 只播玩家认知不冒认真相;ep_med_no/ep_hand_no/ep_spy_no 与 flags 一致;无「运气不好」类假归因、无惩罚性措辞 ✓。
|
||||
- 分档账目真实:book_3/2/1/0 与余页一一对应;exp_calm/low/mid/hot 与 0/1-2/3-4/≥5 一一对应;prog_t1..t4 分封整句 ✓。
|
||||
- 向导 gd_* 13 句(gd_brief/gd_continue/gd_again/gd_tune1/gd_tune2 各带 _k 变体,gd_invalid/gd_prog1/gd_prog2 无变体)符合 14 号 §6 台词规范(一句一义、无重复句式、单句 ≤18 字)✓。
|
||||
|
||||
---
|
||||
|
||||
## R2 增补(2026-09-14,round1 synthesis F3 修复)
|
||||
|
||||
EP.b 组新增 4 句结局收集计数(结算链尾播报,数字规避分档整句;存档 endings 账同源):
|
||||
|
||||
| id | 声部 | 台词全文 | 触发 |
|
||||
|---|---|---|---|
|
||||
| `end_c1` | 北风 | 这是你在电波里挣下的第一个结局。 | 结算链尾(结局收集数=1) |
|
||||
| `end_c2` | 北风 | 这是你在电波里挣下的第二个结局。 | 结算链尾(=2) |
|
||||
| `end_c3` | 北风 | 这是你在电波里挣下的第三个结局。 | 结算链尾(=3) |
|
||||
| `end_c4` | 北风 | 四个结局,都收进你的密码本了。 | 结算链尾(=4) |
|
||||
|
||||
- 合计 139 → **143 句**(WIND 114 → 118;双性别 134 → 138;音频文件 273 → 281 条 ×2 格式)。
|
||||
- 无 `_k` 变体(无操作词);instruct 复用 WIND 常量;数字为分档整句无拼接。
|
||||
- 配套修复(同轮,无新台词):F1 NIGHT 链首纸面标记音(复用现有 sfx,零新增资产);
|
||||
F2 book_1 播报位附 warning 震(exp_hot 同机制)。
|
||||
|
||||
@@ -550,3 +550,19 @@ ENDING: e*_a → e*_b(按 expose 档 × p9 四选一)→ ep_lead → ep_med_
|
||||
| P1 视障玩家音频编码接受度高,但语速档位边界 | 摩尔斯不受 settings.speed 影响(u 恒定)——2.2× 档语速下电文仍原速,慢放兜底;**边界登记 + live 真人耳测项**(转写层测不了时值听感,methodology §5 2026-09 教训:媒体播放类必须真人耳测+引擎级断言) | §9「摩尔斯正确性」速度边界断言 + live 轮清单 |
|
||||
| 摩尔斯时值精度 | 运行时 osc 合成(文件方案否决:有损编码 ms 抖动);事件钩子逐元素断言 | §9 固定字符断言 |
|
||||
| 「不知道译对没译错」的认知焦虑 | 教学期说破「练习有答案,正片靠耳朵」;档位句+ep 回响给最终真相;译错零惩罚只是分支 | §9「译错归因真话」 |
|
||||
|
||||
---
|
||||
|
||||
## 修订记录(开发/测试轮裁定,追加不改旧文)
|
||||
|
||||
| # | 裁定 | 依据与影响 |
|
||||
|---|---|---|
|
||||
| R1 | **SFX 全 SYN 兜底**:§6.2 原标 SA3 的 10 件(tune_seek/static_bed/amb_room/paper_page/key_send/pen_scratch/tea_cup/step_halt/lock_click/dawn_bell)改程序合成(`tools/gen_cipher_syn.py`),仅 ui_confirm/ui_menu 按原计划 SYN | 与摩尔斯文件方案同型的短音 ms 抖动风险 + 管线一致 + 零成本;one-shot 真峰值 ≤-3dBFS 全过(实测 -3.3~-5.1dBFS),loop 2 件首尾 50ms 环形交叉淡化无缝(seam ≤0.01)。原 SA3 prompt 保留作听感设计参考。 |
|
||||
| R2 | **p8_blind / p9_blind 条件笔误**:19-cipher-voice-ids.md 表内「条件 t4≠top」实为 **t4≠spy** | §4.2 抉择树(p8/p9 由 T4 译文 known/blind 差分)与 §9 断言均为 t4 维度;top 是 T2 的真词,显系复制笔误。实现按 t4==='spy' 选播。 |
|
||||
| R3 | **§5.5 剧本 C 检查点算术以 §5.2 事件单源表为准**:NIGHT(3) 后 expose=**5(hot 档)**而非 4/mid;签收前 8 ✓ | 单源表:T2-T4 译错各 +1、p6 左 +2。2+1+2=5 恰好达收网门(≥5),「跨档播报 3 次」表述作废,实为 **2 次**(calm→low 于 NIGHT(2)、low→hot 于 NIGHT(3),签收前 8 与 5 同档不重复播)。§9 断言按修正值实现(hot 档提前一夜可视化压力,戏剧效果不降反升)。 |
|
||||
| R4 | **§5.5 剧本 A「全对全右」为措辞笔误**:操作序以 §9 关键路径为准(p2 左 · p4 右 · p6 右 · p8 右 · p9 左) | §5.5 自身给出的 risk=0 与 ep 点名组合(med_ok/list_no/hand_ok/spy_ok)只有该路径自洽;「全右」若按字面 p2 右则 risk=1、ep_med_no,矛盾。验算 expose=0 → e1 不受影响。 |
|
||||
| R5 | **菜单低响度实现路径**:§6.1「menu 用同曲低响度」经游戏层 `_bgmBus` 增益 0.4(与摩尔斯 −6dB dip 乘法复合) | 引擎约定「同一首重复 play 不重启」,play(opts.volume) 无法作用于在播 BGM;省一首成立(无 menu 专属曲目)。 |
|
||||
| R6 | **d9_sleep 自动链**(radio d9_face 同型) | 关机收束节奏与发报线对齐;p9 右的收束不因链末等待拖沓。 |
|
||||
| R7 | **transcribe.mjs CLASS_NAME 追加 cipher 行**(CipherGame) | 共享 harness 接线(check_all_assets 之外唯一跨游戏触碰点),hunt/teahouse 等泳道同款需求各自追加。 |
|
||||
|
||||
| R8 | **R2 修复三件套**(round1 synthesis F1-F3):① NIGHT 链首按上一封抉择垫纸面标记音(p2右/p4左→paper_page,p4右→pen_scratch,现有 sfx 零新增)——「世界因你而动」可感知化;② book_1(密码本只剩最后一页)各播报位到句附 warning 震(F2);③ 结算链尾新增结局计数分档整句 end_c1..end_c4(F3,+4 句 WIND,见 19b R2 增补) | 均不改树形/不加抉择点/不增人设;断言入 §9 清单(F1 纸面音有/无双向断言、F2 warning 震、F3 计数句)。 |
|
||||
|
||||
@@ -44,10 +44,10 @@
|
||||
| `intro_3` | 泡茶三步:选茶、候汤、出汤。手上的事,耳朵说了算。 | 开场链 3 |
|
||||
| `tut_d0` | 先看茶柜。左右滑,一罐一罐听。 | D0 前(豁免教学起点) |
|
||||
| `tut_tea` | 单击,选定这罐茶。 | D1 前 |
|
||||
| `tut_water` | 灶上坐水。听——泡泡细密的时候,双击,提壶。 | D2 前(豁免 E1 教学) |
|
||||
| `tut_steep` | 注水,闷泡。滴答声密起来,双击,出汤。 | D3 前 |
|
||||
| `tut_water` | 灶上坐水。泡泡细密是将沸,咕嘟连片是滚透——听到细密,双击提壶。 | D2 前(豁免 E1 教学;R1-F1 对照口径前移) |
|
||||
| `tut_steep` | 注水,闷泡。滴答由稀到密,密起来就是将好——双击,出汤。 | D3 前(R1-F1 对照口径前移) |
|
||||
| `tut_serve` | 茶好了。单击,端出去。 | D4 前 |
|
||||
| `tut_status` | 上滑,听今晚的局面:第几位客人,口碑如何。 | D5 前 |
|
||||
| `tut_status` | 上滑,听今晚的局面:第几位客人,口碑如何;客人要的茶,上滑灶上随时再听。 | D5 前(R1-F3 需求重播入口明示) |
|
||||
| `tut_done` | 都会了。往后每一晚,都这么泡。 | D6(教学完成) |
|
||||
| `tut_skip` | 已跳过教学。左右滑选茶,单击选定,双击动手。 | 下滑跳过教学 |
|
||||
| `water_early` | 急了,水还没醒透。这一步,偏了。 | 候汤早于窗(教学+正片) |
|
||||
@@ -155,8 +155,8 @@
|
||||
| `sys_help_k` | sys_help | 方向键选茶,空格定下。听水声,回车提壶;滴答密,回车出汤。上键状态,下键菜单。 |
|
||||
| `tut_d0_k` | tut_d0 | 先看茶柜。左右方向键,一罐一罐听。 |
|
||||
| `tut_tea_k` | tut_tea | 空格,选定这罐茶。 |
|
||||
| `tut_water_k` | tut_water | 灶上坐水。听——泡泡细密的时候,回车,提壶。 |
|
||||
| `tut_steep_k` | tut_steep | 注水,闷泡。滴答声密起来,回车,出汤。 |
|
||||
| `tut_water_k` | tut_water | 灶上坐水。泡泡细密是将沸,咕嘟连片是滚透——听到细密,回车提壶。 |
|
||||
| `tut_steep_k` | tut_steep | 注水,闷泡。滴答由稀到密,密起来就是将好——回车,出汤。 |
|
||||
| `tut_serve_k` | tut_serve | 茶好了。空格,端出去。 |
|
||||
| `gd_serve_k` | gd_serve | 客人还在堂前。上键,再听一遍他要的茶。 |
|
||||
| `gd_brew_k` | gd_brew | 还在灶上,听声动手,回车。 |
|
||||
|
||||
@@ -182,10 +182,10 @@ start ──> TITLE ──tap(有档)──> OPENING(night_N) ──自动──
|
||||
|---|---|---|---|
|
||||
| D0 | intro_1..3 + tut_d0 | 左滑或右滑任一 | tea_jar+茶名句;confirm 震。**首输入 ≈t+20s(<60s ✓)** |
|
||||
| D1 | tut_tea | 单击 | tea_scoop → 自动坐水 |
|
||||
| D2 | tut_water | 双击(将沸窗内) | water_ok(偏了也继续:water_early/late 真话归因+重教短句) |
|
||||
| D3 | (水毕自动)tut_steep | 双击(滴答密时) | steep_ok(同上容错) |
|
||||
| D2 | tut_water(对照口径:泡泡细密是将沸,咕嘟连片是滚透——听到细密,双击提壶) | 双击(将沸窗内) | water_ok(偏了也继续:water_early/late 真话归因+重教短句) |
|
||||
| D3 | (水毕自动)tut_steep(滴答由稀到密,密起来就是将好——双击出汤) | 双击(滴答密时) | steep_ok(同上容错) |
|
||||
| D4 | tut_serve | 单击 | pour_cup → 老周 r1 反应句。**首正反馈 ≈t+2.5-3min(≤3min ✓)** |
|
||||
| D5 | tut_status | 上滑 | 状态链(st_guest→st_rep→st_purse) |
|
||||
| D5 | tut_status(含需求重播入口:客人要的茶,上滑灶上随时再听) | 上滑 | 状态链(st_guest→st_rep→st_purse) |
|
||||
| D6 | (老周出门后)tut_done | — | 第 2 位客人门铃,自由营业 |
|
||||
|
||||
- 滚透窗(茉莉等 4 茶)不设专门教学步:靠茶名句口诀+hint_water+首晚宽窗自然过渡(知识单源=茶名句,承诺必兑现)。
|
||||
@@ -525,3 +525,16 @@ choice 不使用(无抉择态,登记)。
|
||||
| 20 | 键盘通道 | V 组 10 变体集中登记,inputMode() 选播;方向键/空格/回车全手势可达(§5.5 平行通道,游戏层零改动)✓ |
|
||||
| 21 | 引擎能力边界 | 无实时节点(one-shot 链+setTimeout 调度);sfx 无 loop 需求(调度链实现);tap 延迟只用于非即时;资产缺失静默跳过+8s 兜底;30MB 预算内 ✓ |
|
||||
| 22 | 密度下限(dungeon D0-3 教训) | 一晚=固定客序节拍器(结构性密度);营业态无进展轨兜底;客人间隙 1.2s 自动推进无真空 ✓ |
|
||||
|
||||
---
|
||||
|
||||
## 14. 修订记录(实施裁定)
|
||||
|
||||
对开发自查发现的内部张力逐条登记(旧文不回改,以此为准):
|
||||
|
||||
1. **招牌置办门的欠账条件**:§7.2 与 §6.1 JSON(`economy.upgrades` sign 仅 `repReq:12`)未提欠账;§7.4 升级树与 `upg_lock` 台词明言「口碑得十二分往上,欠账也得清」。裁定为 **rep≥12 且 debt=0 双门**(以 §7.4/台词为准)——欠账时选招牌播 `upg_lock`(真话归因),`upg_none` 只管钱不够;§7.5 剧本 A 验算里 debt 恒 0,两口径对账结果一致,不影响验算数。
|
||||
2. **菜单固定项与态差异**:§2.5 选项列四项(返回堂前/打烊置办/保存并回大厅/重新听帮助),其中「打烊置办」仅 CLOSE 态出现(SERVE/BREW/TITLE 态菜单为其余三项);实现按态裁剪菜单项,模态交互范式(单击循环/双击确认/上滑帮助/下滑关闭)不变。
|
||||
3. **summary 口碑档名取值**:§10 示例「口碑·有了回头客」。档名映射取各档措辞短式——档1「还没立起来」/档2「有了回头客」/档3「小有名气」/档4「一盏难求」(与 st_rep_* 句首措辞同源),播报与存档共用同一映射函数(单源)。
|
||||
4. **房租夜定义**:§6.1 JSON `rentEvery:3` 与 §7.1 事件表(房租夜①=N3、房租夜②=N5)/§7.5/§7.6 验算(N5 均扣房租 20)矛盾——5 晚章节内「每 3 晚」只会命中 N3。裁定为 **本章内房租夜 = 第 3、5 晚**(以 §7.1/§7.5/§7.6 为准,N5 是章节收束夜的双重压力事件);N6+ 无尽营业起回到每 3 晚节奏(N6、N9……)。`rentEvery:3` 字段视为遗漏,不改旧文。
|
||||
5. **§7.6 终局 rep 算术修正**:剧本 B 事件列(N1-N3 全错 12 次 −1、N4 两错一好、N5 白老③/何③ 无茶柜必错)按 §7.2 公式与 clamp≥0 复算,终局 rep = **1**(N4 苏好 +1 → 1;N5 邮好 +1、白老/何雨眠错茶各 −1 相抵);§7.6 原文「rep 2」系算术笔误。实现以 §7.2 公式为唯一准绳(假话即失败),本裁定不回改正文。
|
||||
6. **R1 台词修订(F1/F3 落地)**:tut_water/tut_steep 对照口径前移(将沸/滚透、滴答由稀到密的判别句写进教学句本身,hint_water 口诀保留作无进展轨复诵,同文复用不算漂移);tut_status 补需求重播入口明示(「客人要的茶,上滑灶上随时再听」)。三句连同 key 变体重录;§5 教学表与 20b 台词表已同步,正文旧行不回改。
|
||||
|
||||
@@ -537,3 +537,18 @@ e1=trust≥3∧p9左(剧本 A:trust4/truth3);e2=trust≥3∧p9右(剧
|
||||
### 台词 ≤40 字验算
|
||||
|
||||
voice-ids 全表最长 = p7(35 字),次长 p9a/p9b(各 32 字)、d9_tell_a(31 字);NPC 句最长 amo_c(25 字)——全部 ≤40 ✓(逐句账见 voice-ids 文末自查)。
|
||||
|
||||
---
|
||||
|
||||
## 修订记录(2026-09-14 开发轮裁定,追加不改旧文)
|
||||
|
||||
策划自查(台词 id 全集/组计数/数字分档/手势映射/剧本 A-F 对 §4.2 计分与 §3.4 结局矩阵穷举)结论:148 句账目闭合、8 对 `_k` 齐全、无手势映射矛盾。以下为实现轮裁定:
|
||||
|
||||
1. **`_k` 资产路径**:21b 头注/§7.3 写 `voice/<gender>/<id>_k.*`,管线(`tools/gen_voice_dual.py` KEY_LINES)与引擎(audio.js 候选链)实际约定为 `voice/<gender>/key/<id>.*`(abyss/detective 同型先例)。裁定:按管线约定落盘,文档 `_k` 表述视为同义。
|
||||
2. **字数口径**:p7 实计 42 字(含标点)>40、p9a 40 字;管线按句读自动拆句生成后拼接(句间 0.12s),听觉仍为一句,不改词。21b 自查「最长 35 字」为不含标点口径。
|
||||
3. **summary 信任档名**:§8.1「信任<档名>」未给文字。裁定:3-4=深 / 1-2=半 / 0=薄(例:「第2幕·风暴顶 · 信任半 · 结局0/4」)。
|
||||
4. **存档扩展字段**:插叙断点恢复需 `memSet`(插叙段 g1/f2/c3)、`ret`(回返节点)、`taught`(rev_teach 已播)、`lastTier`(跨档播报基准)——§8.1 示例未列,按 schema 自由扩展,向后兼容。
|
||||
5. **rev_teach 落点**:§3.2 树形将其钉在 c1_open 链内,但「全局一次、首插叙前」语义在 p2 右(跳过插叙1)后首次插叙=插叙2/3 时同样需要教学(§1 风险预防①)。裁定:实现为「进入首个插叙前自动插播一次」,不钉死节点;§9「全局恰一次」断言不变。
|
||||
6. **PROMPT_RE 裁定**:`/^voice\/p\d/` 覆盖 p1..p7、p8_boat、p8_reef、p9a、p9b,播放中单击不可跳 + beat 轻震(G4)。
|
||||
7. **危机拍结构**:c2_crack/c3_wall 实现为 danger 节点(sfx 前置 2s 渐强 + danger 签名/danger 震同窗,链内自动推进不等待单击)——树形未显式标注 auto,按 radio 危机拍先例裁定。
|
||||
8. **CALM 实现形态**:按 radio BRIDGE 先例 = 自动链(foghorn → lull_N →〔跨档才播 tr_*〕)+ 喘息定时器自动进下一幕;上滑 = 状态链后自动链继续(已播账目句不重播);CALM 不切 BGM(§2.1 storm 常驻,游戏层 amb_storm gain 分幕 0.5/1.0/0.7)。
|
||||
|
||||
@@ -598,3 +598,23 @@ SA3 任务 4 个(全部签名);其余 SYN 兜底——**状态音必须 SY
|
||||
| 22 | 密度下限(dungeon D0-3 教训) | 段计时/45s 自动线/超时默认结局三层硬推进——结构性无真空;每段 ≥1 危机+1 采集+(1-2)磨损事件 ✓ |
|
||||
| 23 | **评级账目验算** | §8.4 剧本 A 十二行逐事件(score 19→S、功勋 15、三次跨档播报点实值核对)+§8.5 B 档+§8.6 失败路径——一条完整巡逻剧本验算入文档 ✓ |
|
||||
| 24 | 台词 ≤40 字 | 台词表逐句实测 ≤38 字(最长 sys_help / sys_help_k 各 38)✓ |
|
||||
|
||||
---
|
||||
|
||||
## 15. 修订记录(制作人自查裁定,2026-09-14)
|
||||
|
||||
> 按 hunt 先例:自查发现矛盾不改旧文,在此追加裁定。
|
||||
|
||||
| # | 事项 | 裁定 |
|
||||
|---|---|---|
|
||||
| R1 | §9.2 头注「sfx 30 个基 id」与实表不符 | 实表逐行计数 = **31 基 id**(8 状态 + 1 离线签名 + 4 告警 + 2 方位尾音 + 4 危机签名 + 9 下令/演出/入账 + 3 计时/问询),头注 30 为漏计笔误;资产按 31 基 id + 8 pan 派生 = 39 文件执行 |
|
||||
| R2 | §2.1 TITLE 双击「重听 continue_ask」在无档时无句可播 | 裁定为:有档 → 按表播 sys_continue_ask;无档 → 双击重听 intro_1..5 开场链(宪法双击重听语义,空态不静默) |
|
||||
| R3 | §9.1 BGM「3 曲 ×2 候选 = 6 任务 $0.18」超制作人 Mureka 份额(≤$0.15) | 裁定为 3 任务 ×1 候选 = **$0.09**;候选取舍「拿不准原则」照常(单候选即选),台账照记 |
|
||||
| R4 | 台词表头注自查「全表无『处』」与 loy_rad「医师在处理伤员」矛盾 | 「处理」读 chǔ,发音安全,系自查表漏标,不改句;同理 res_bad「损失惨重」重=zhòng,安全 |
|
||||
| R5 | §12 #13 键盘变体断言口径 | 游戏层恒播 base id(voice/sys_help 等 10 句),`_k` 资产由引擎 inputMode 候选链自动路由(voice/<gender>/key/,hunt/detective 先例);playtest 断言游戏层选句路径 + check_all_assets 锁定 key 目录两性别一致且 ⊆ 主集 |
|
||||
| R6 | 多音字复查补充 | 「处置」无;全表另核「重(zhòng,惨重/敬重)」「处(chǔ,处理)」读音安全,与 R4 一并备案 |
|
||||
| R7 | §4.2 求救陷阱矩阵「忽略/超时=明智避开,零损益」与 §5.1「求救·忽略/超时 医师−1」表面冲突 | 裁定为**分 variant**:非陷阱忽略/超时 → 医师−1(loy_ignore+doc_ignore NPC);陷阱变体忽略/超时 → 零损益(播 res_clean)——§4.2 矩阵为选项-结果权威源,§5.1 行按非陷阱语境理解 |
|
||||
| R8 | §8.6「功勋=3 段」与「完成段数」口径 | 裁定为:功勋/评级段数口径 = run.seg(死亡局=死时所在段,如 S3 死=3;完成巡逻=4);score 的「完成段数×2」在非死亡局恒=8,死亡局评级恒 D、score 不入句——两口径不矛盾 |
|
||||
| R9 | §11「PORT 列表=未购改装项」与 §12 #8「upg_done 不重复购买」可达性冲突 | 裁定为 PORT 列表=全部 6 项(armor2 依赖 armor1 已购才出现):未购→预览价格句,已购→预览 upg_done,已购项单击=error 震不重复扣费——upg_done 恒可达且账目不失真 |
|
||||
| R10 | 非陷阱驰援且扫描受损的「残骸刮蹭 hull−1」致死时死因句无对应 id(台词表无 die_distress) | 裁定为归因族归并:刮蹭伤害物理同源于碎石/残骸撞击,lastHit 记 'meteor'(die_meteor「陨石撕开了船身」为最接近真话句);陷阱受伏记 'pirate'(§8.6「伏击者即海盗」已覆盖) |
|
||||
| R11 | §7 教学编排与「求救超时=信号消失(零损失)」路径的交互未定义:教学危机在 D2 前被超时/忽略结算时 DRILL 挂在 step1/2——drillDone 永不持久化(次局重进教学)、残留看门狗定时器在后段空响;且 D2 的 90s 自动演示不可达(决策窗 20s≪90s) | 裁定为**收束规则**:教学危机结算时 step≥2 → 走 D3(tut_after/tut_loyal→上滑→tut_done→段末);step≤1 → 直接 tut_done 收束→段末(drillDone 照常持久化);收束期下滑跳过 → tut_skip 后补段末(段计时已停,不补会卡死)。D2 的 90s 自动演示登记为不可达条款(自动演示仅对 D0/D3 有效)。live R1 局 A 实测坐实原缺陷 |
|
||||
|
||||
Reference in New Issue
Block a user