diff --git a/reports/iter32-卡①代拍板-2026-10-20.md b/reports/iter32-卡①代拍板-2026-10-20.md new file mode 100644 index 00000000..e350fbcf --- /dev/null +++ b/reports/iter32-卡①代拍板-2026-10-20.md @@ -0,0 +1,17 @@ +# 迭代 32 卡① 代拍板追认单(2026-10-20) + +批次内落入卡片 §9 代拍板白名单的微决策,逐条备案确认(授权发生于卡片审问阶段,实现只执行预授权)。 + +| # | 决策 | 白名单条目 | 落点 | +|---|---|---|---| +| 1 | 注释换代措辞等价微调:`static_scan.sh:73`「数值单一事实源的正主」→「数值单一事实源自身」(等价表述,非硬套「现行事实源」致句意断裂) | §9.1 | static_scan.sh:73 | +| 2 | `落籍`→`已入库` 在带 commit 号(9cc4b8b)的历史注记行不改,保留「已落籍」 | §9.2 | enemy.tres:653 | +| 3 | `正主` 误报处「正主角池」(正主+角池)不改 | §9.3 | damage_math_test.gd:36 | +| 4 | 测试断言描述文本替换措辞取语义等价 | §9.4 | smoke_all 注释/断言描述 | +| 5 | S11 规则段 shell 写法:用 `find + xargs awk` 单次调用(词表 getline 载入、三文件类型分道),与现役 S 段同构退出码语义 | §9.5 | static_scan.sh S11 段 | +| 6 | N7 两态文案末字:已破态「清图奖励不再加倍」、豁免态「不计入完美封印判定」,因果不变成立 | §9.6 | battle_log_view.gd:192 | +| 7 | battle_log_view 局部变量改名 `suffix`→`miss_note` 避开外层同名遮蔽(实现细节,非语义) | §9.5 延伸 | battle_log_view.gd | + +**超白名单呈报(已停机自查消解,非代裁)**: +- 卡片 §2 豁免单预测的 `level_runner.gd:832`、`adventure_runner.gd:403` 两处,开工复核发现现行代码该行已无对应退役词(卡片成文后代码前进)。据「开工自行复核」条款按现实处理:无需豁免(词已不在该位),S11 注释面为权威判据。不新增豁免、不改代码凑绿。 +- 全局 sed 曾误改移交三处(display_name/玩家文案)与 static_scan.sh 词表追加行,已逐处精确还原并补 S11 自指豁免,属施工返工非代拍板。 diff --git a/reports/iter32-卡①反哺点-2026-10-20.md b/reports/iter32-卡①反哺点-2026-10-20.md new file mode 100644 index 00000000..8bf5ad2c --- /dev/null +++ b/reports/iter32-卡①反哺点-2026-10-20.md @@ -0,0 +1,44 @@ +# 迭代 32 卡① 反哺点清单(2026-10-20) + +本批为代码实现批,禁写 `design/` 整目录与根规则文件。发现要改文档的点逐条列此,用户在会话裁决后归文档批落文(`design/` 对本批只读)。落点对应卡片 §5 关联文档同步面。 + +## GDD 文档面(「完美排雷」→「完美封印」措辞同步) + +| # | 文档 | 关联点 | 建议改成 | 依据 | +|---|---|---|---|---| +| 1 | `design/gdd/术语表.md` | 「对外命名纪律」节可补「完美封印」为玩家面正式名对照行(现仅散见于各系统文档) | 增一行:完美排雷〔旧〕→完美封印〔现行正式名〕 | 2026-10-19 用户裁全库统一;代码侧 S11 词表已显式追加「完美排雷」禁词 | +| 2 | `design/gdd/systems/战斗循环/战斗结算.md`(:85/:108/:116/:139/:141/:161/:259/:342) | 全篇仍称「完美排雷」,与 `奇物.md` v3.18 的「完美封印」同名异称 | 正文「完美排雷」→「完美封印」;当量公式行 :108 同步 | 卡片 §0 出处;对外命名纪律含 UI 文案 | +| 3 | `design/gdd/systems/战斗循环/地图战斗资源.md`(:155/:194) | 兑付结构段称「完美排雷」 | →「完美封印」 | 同上 | +| 4 | `design/gdd/systems/战斗循环/战斗表现.md`(:53/:68) | 表现段称「完美排雷」 | →「完美封印」 | 代码 `board_fx_view`/`settlement_fx_view` 已换 | +| 5 | `design/gdd/systems/表现与支撑/HUD框架.md`(:277) | HUD 文案引用「完美排雷」 | →「完美封印」 | 代码 `battle_log_view` 已换 | +| 6 | `design/gdd/systems/冒险循环/难度曲线与Boss.md`(:224/:227/:313) | 「完美排雷」措辞 | →「完美封印」 | 同名异称统一 | +| 7 | `design/gdd/ux/battle.md`(:85/:222/:422) | 战斗画面交互文案「完美排雷」 | →「完美封印」 | 对外命名纪律 | +| 8 | `design/gdd/ux/interaction-patterns.md`(:90) | 「完美排雷」 | →「完美封印」 | 同上 | +| 9 | `design/art/art-bible.md`(:8/:88/:562/:574) | 「完美排雷」措辞 | →「完美封印」 | 同名异称 | + +## 07 体验验证清单(真人目检入册) + +| # | 文档 | 关联点 | 建议 | +|---|---|---|---| +| 10 | `design/gdd/07-体验验证清单.md`(:142) | 「完美排雷」措辞;本批对外文案变更需登记目检项 | 措辞→「完美封印」;新增目检项:结算明细 seal_miss 两态文案(已破带金框/已豁免普通色)呈现与 `perfect_sweep_earned()` 真值一致 | + +## 待文档侧定性的归类项(非本批代裁) + +| # | 项 | 现状 | 建议去向 | +|---|---|---|---| +| 11 | `shop.tres:86`「奇物门票」display_name + `curio_interact_controller.gd:165/166` 玩家文案 | 移交三处,本批保留「门票」原词(属 奇物/专长 归类表述,与 06「冒记案遗留待裁两项」第①项同源) | 交文档侧定性后另走传导批;勿并入本清扫 | +| 12 | 「巢穴(机制表述)」换代 + 单字「旗」清理 | S11 显式排除单已收理由(巢穴=玩家专名+风味层除外注;旗=doc_term_audit 判例,残留全豁) | 两项均需用户裁后另立批(登记 06) | +| 13 | S11 词表纳入 A 表词(不得/报错/对标/若干/buff) | 本批明确不收(收则批末必红) | 若将来裁决纳入,另扩词表并单独立清扫批 | +| 14 | 卡片 §2 豁免单预测 `level_runner.gd:832`、`adventure_runner.gd:403` | 开工复核:现行代码该行已无对应退役词(卡片成文后代码前进) | 反哺点记录卡片与现实偏差;卡片如需订正归文档批 | + +## parity 重锚批(登记 06) + +| # | 项 | 建议 | +|---|---|---| +| 15 | N7 改动致 `seal_miss`/`insurance_used` 行序与 highlight 漂移(契约 12) | 合回后另立**用户批准**的 parity 重锚批并登记 06;预期漂移两例见实现报告「已记档差异」节 | + +## 06 待办清单 + +| # | 项 | 建议 | +|---|---|---| +| 16 | 本批条目「代码注释禁用词清扫」状态推进 | 卡①合回后由文档批推进至「实现已闭合」;本批不写 06 | diff --git a/reports/iter32-卡①实现报告-2026-10-20.md b/reports/iter32-卡①实现报告-2026-10-20.md new file mode 100644 index 00000000..2dc48afc --- /dev/null +++ b/reports/iter32-卡①实现报告-2026-10-20.md @@ -0,0 +1,77 @@ +# 迭代 32 卡① 实现报告·代码注释禁用词清扫批(2026-10-20) + +- **批次**:迭代 32 执行序①(代码注释禁用词清扫批) +- **分支**:`g-plan2-iter32-card1-comment-sweep` +- **合回前 tip**:`b3b77ff1` +- **闸回执**:`game/tests/.gates/receipt.json`,domain=code,all_green=true,commit=1bbbdba4(T7 提交后单测与变异重跑绿) + +## 各任务卡状态 + +| T 卡 | 状态 | 说明 | +|---|---|---| +| T0 基线 | 完成 | 主区基线:冒烟 1151/0、单元 34 套全绿、探针 --click 全绿、static_scan 退出 0 | +| T1 S11 落闸见红 | 完成 | 规则先落、见红 89 处;提交 85dce2c7 | +| T2 完美排雷→完美封印 | 完成 | 21 处(含对外文案 3 处 + 冒烟夹具期望字面量 6201) | +| T3 板级→整图 | 完成 | 33 处 | +| T4 门票→专长凭证 | 完成 | 注释面 36 处;移交 3 处保留「门票」 | +| T5 正主→现行事实源 | 完成 | 13 处;`正主角池` 误报守护 | +| T6 落籍→已入库 | 完成 | 9 处;enemy.tres:653 历史注记保留 | +| T7 N7 判据修正 | 完成 | 提交 1bbbdba4 | +| T8 验证与产出物 | 进行中 | 本报告 + 代拍板单 + 反哺点清单 | + +T2–T6 合并提交 b6629d68(39 文件 / 118 行纯文本)。 + +## 改前改后读数对照 + +| 读数 | 改前 | 改后 | +|---|---|---| +| 冒烟绿数 | 1151 | 1151(零变) | +| 单元套件 | 34 全绿 | 34 全绿(含新增 A10–A12) | +| static_scan 退出码 | 0 | 0 | +| S11 注释面命中 | 89(T1 见红) | 0(T2–T7 清零) | +| 五词 raw grep 残留 | 119 | 8(全为豁免/移交/闸门自指,非注释面) | + +**五词 raw grep 残留 8 处逐条**:`enemy.tres:653`(落籍·豁免·历史注记)、`shop.tres:86`(门票·移交 display_name)、`curio_interact_controller.gd:165/166`(门票·移交玩家文案)、`static_scan.sh:97/100/122`(完美排雷·S11 闸门自指)、`damage_math_test.gd:36`(正主角池·误报豁免)。 +注:卡片 §2 豁免单预测的 `level_runner.gd:832`、`adventure_runner.gd:403` 经开工复核,现行代码该行已无对应退役词(卡片成文后代码前进),故不出现;S11 注释面口径为权威判据,现绿。 + +## N7 归因锚修正(本批唯一逻辑改动) + +- `_emit_row("seal_miss")` 从 `_fx_emit("seal_missed")` 循环**之前**后移到**之后**,使 `_perfect_forgiven` 先就位; +- 判据从 RAW(`_perfect_hit_false == 1`)改为有效误标(`_perfect_hit_false - _perfect_forgiven == 1`); +- 文案两态:`perfect_broken` →「本图完美封印已破——清图奖励不再加倍」+金框;`""` →「首次封印落空已豁免——不计入完美封印判定」+普通色; +- `battle_log_view` 变量 `suffix` 与外层同名冲突,改名 `miss_note`; +- 奖励兑付结果零变(只改日志文案判据,契约 5)。 + +## 验收断言 A10–A12(落 feat_vouchers_test.gd,随 T7 同轮) + +- **A10** 未豁免:无保险首次标错 → seal_miss 行 `highlight=="perfect_broken"` 且 `perfect_sweep_earned()==false`; +- **A11** 豁免:带保险首次标错 → seal_miss 行 `highlight==""` 且 `perfect_sweep_earned()==true`; +- **A12** 呈现:`_format_row` 两态文案含「完美封印已破」/「已豁免」,均零「雷」字面。 + +## 变异验证记录表 + +| 变异点 | 注入形态 | 跑的闸 | 红输出 | 还原 | +|---|---|---|---|---| +| S11 拦截 | battle_orchestrator.gd:265 注释追加「板级」 | static_scan.sh | `S11 FAIL 命中 1 处` | checkout 还原→ok(194 文件/10 词) | +| N7 反(RAW) | grant_segment 判据改回 `_perfect_hit_false == 1` | feat_vouchers | `A11 豁免…FAIL` EXIT=1 | 还原 | +| N7 阈值(破 A10) | 判据 `== 1` 改 `== 2` | feat_vouchers | `A10 未豁免…FAIL` EXIT=1 | 还原 | + +注:卡片 §7「正变异(符号写反 +)」经实测在未装备专长(forgiven=0)时 `−`/`+` 等价、不破坏 A10,故改用阈值变异 `== 2` 证 A10 拦截能力;A11 由 RAW 变异证拦截。A12 为文案常量比对,随 A10/A11 判据承载,无独立变异。 + +## 已记档差异(parity·契约 12) + +本批 N7 改动互换 `seal_miss`/`insurance_used` 两行日志顺序并改写豁免态 `highlight`,`playtest_logger._on_step_row` 逐行落盘含 `highlight` 字段,11 号闸 JSONL sha256 逐位比对必红。**本批不发起 parity**(回执 11 号落 skip、入 not_run,all_green 不受影响)。 + +预期漂移两例(供合回后用户批准重锚批对照): +1. **豁免态**(带保险首次标错):改前 `seal_miss`(highlight=perfect_broken)先于 `insurance_used`;改后 `insurance_used` 先、`seal_miss`(highlight 空)后,highlight 取值由 perfect_broken 变空; +2. **未豁免态**(无保险首次标错):两行相对顺序不变(无 insurance_used 行),`seal_miss` highlight 恒 perfect_broken,但 emit 时点后移到 seal_missed 循环之后。 + +## 实机目检总清单(登记不阻塞) + +- 结算明细中「完美保险·标错豁免」行与「封印未中」行的先后呈现是否符合预期(豁免在前、未中不带金框); +- 无保险首次标错的「封印未中」行带金框+「本图完美封印已破——清图奖励不再加倍」文案可读性; +- 对外高光行「完美封印!清图奖励 ×2」与 banner「完美封印 ×2」显示正确。 + +## 遗留读数义务 + +- 合回后另立**用户批准**的 parity 重锚批(登记 06),本批不借任何批顺手重锚。