chore(变异类测试全项目清除): 用户裁——变异验证/变异测试全项目禁用,验收一律只走撤销证明。AGENTS.md 红线行删除+导航行改词;test-conventions §6 整节退役(§7–§9 重编号为 §6–§8,对照表第六格改「撤销证明」,§8.4 新增行为证明改撤销式);process-conventions 批清单第 8 条删除(后续条目重编号)+闸件义务句改人工确认;code-conventions/roadmap 同步;pipeline_gate 对照表证明标记删「变异」+报错文案改;run_all_gates.sh 注释同步;游戏测试面 8 件测试语义改写(layout_probe/ui_struct_probe/save_manager/save_boot/level_gen_params/forge_table/save_manager.gd/4 件表值措辞)——玩法术语(地形变异/变异格/变异角标/变异池等)逐个甄别后全数保留;活卡「状态面板瘦身批」变异列全量改写为撤销证明口径。全库方法术语 grep 零残留;全量域闸验收通过(回执随本批重跑补齐)
This commit is contained in:
1 parent
99e1b20ba6
commit
b2583f75f5
20 files changed
+61
-83
No files matched your search
@@ -27,7 +27,7 @@
|
||||
2. 跨关概览退役零残留:面板子树零「道具工坊」「天赋树」文案、`_status_data()` 零 workshop/tree/fork_groups 三旧键、真实入口(角标开层)同判据绿;
|
||||
3. 文案三处换代在位且标题「状态」/「继续」钮定位锚不变(四探针状态面板相关段零红);
|
||||
4. 只读契约与零动效契约保持全绿(`ui_struct_probe` ⑧:信号连接数=2、源码零 tween/AnimationPlayer——非新增断言,回归线);
|
||||
5. 变异验证记录表进实现报告;批末重闸按改动域选档全绿+改前改后读数对拍;三份 `reports/` 产出物写齐(T2)。
|
||||
5. 撤销证明记录进实现报告;批末重闸按改动域选档全绿+改前改后读数对拍;三份 `reports/` 产出物写齐(T2)。
|
||||
|
||||
## 2. 设计事实源
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
| `game/presentation/main.gd` | `_status_data()` 四键→八键投影换代(复用既有·修改) | 行为改动 → 对照表 sv1/sv2/sv3/sv7 |
|
||||
| `game/presentation/views/board_zone_view.gd` | 角标 tooltip 一句换代(复用既有·修改) | 行为改动 → 对照表 sv9 |
|
||||
| `game/presentation/views/level_map_screen.gd` | 角标 tooltip 一句换代(复用既有·修改) | 行为改动 → 对照表 sv9 |
|
||||
| `game/smoke/smoke_all.gd` | `_status_panel_projection` 断言面换代(复用既有·改写验收函数——变异伴生义务) | 行为改动(断言面)→ 对照表 sv1–sv5/sv8 |
|
||||
| `game/smoke/smoke_all.gd` | `_status_panel_projection` 断言面换代(复用既有·改写验收函数——验收闭合对照义务) | 行为改动(断言面)→ 对照表 sv1–sv5/sv8 |
|
||||
| `game/smoke/ui_click_probe.gd` | 真实入口补三断言:零旧段+属性行全值+`_status_data()` 直调对拍(复用既有·增步) | 行为改动(断言面)→ 对照表 sv6/sv7 |
|
||||
| `reports/iter<N>-实现报告/代拍板追认单/反哺点`(三份,批末写) | 产出物落位 | 非行为改动 → 对照表 sv10 |
|
||||
|
||||
@@ -137,14 +137,14 @@
|
||||
- [ ] 实装两角标 tooltip 换代(`board_zone_view.gd:58`、`level_map_screen.gd:107` →「查看本局冒险进度(只读)」)。可核查结果:全仓「永久强化进度」检索零命中。
|
||||
- [ ] 实装冒烟 `_status_panel_projection` 换代(`smoke_all.gd:5727-5779` 重写:夹具改八键手拼〔同构口径不变、不依赖 runner〕;断言=余额徽读数+属性行全值+秘宝行含已用尾缀+专长行串+空态句×2+面板子树零旧段文案;原工坊 12 行断言族与天赋树聚合断言按 §8.3 申报删除)。可核查结果:该段绿且含 V1/V2 全部断言。
|
||||
- [ ] 验收步骤:T 段出口跑一次全套闸(`tools/run_all_gates.sh` 按改动域选档,本批只碰 `game/` → `--code`),期望代码域全绿、`ui_struct_probe` ⑧ 两契约与 click/input/shot 三探针状态面板段零红。
|
||||
- [ ] 变异验证(注入→最窄闸见红→`git checkout` 精确还原→记录):①面板 gp 读数改硬编码 `0` → 期望属性行断言红;②「(已用)」尾缀逻辑删 → 期望秘宝行断言红;③面板重加「道具工坊 · 解锁态」段头 → 期望零旧段断言红。记录表进实现报告。
|
||||
- [ ] 撤销证明(撤销改动→最窄闸见红→`git checkout` 精确还原→记录):①回退面板 gp 读数投影 hunk → 期望属性行断言红;②回退「(已用)」尾缀逻辑 hunk → 期望秘宝行断言红;③回退旧段退役 hunk(旧段头复现)→ 期望零旧段断言红。记录进实现报告。
|
||||
|
||||
### T2 真实入口断言+产出物落位卡(≈0.25–0.5d,末卡)
|
||||
|
||||
- [ ] 实装 `ui_click_probe` 状态面板段补三断言(`ui_click_probe.gd:593-621` 段内,角标开层后):①面板子树零「道具工坊」「天赋树」文案;②属性行全串==契约 4 格式 % `run_scope.runner` 五现值(hero_hp/`effective_max_hp()`/`effective_atk()`/`effective_ac()`/gp——`main` 侧投影值层的真链路断言);③`main._status_data()` 直调对拍——返回键集恰为接口块八键(sv7 承载)+curios 逐行 {name, used} 对拍独立oracle(`runner.treasure_inventory.query_inventory(Callable())` 行集 × `db.treasure_item_row().display_name`)+feats 对拍 `HudPresenter.feat_holdings_lines(db, runner.feats_held())`。可核查结果:探针该段绿。
|
||||
- [ ] 验收步骤:T 段出口跑一次全套闸(`--code`),期望代码域全绿。
|
||||
- [ ] 变异验证(注入→最窄闸见红→`git checkout` 精确还原→记录):①还原面板 workshop 段(注入旧段头)→ 期望断言①红(真实入口);②`_status_data()` curios 映射漏 `used` 键 → 期望断言③红(main 侧注入);③`_status_data()` max_hp 错读 `ledger["hero_hp"]` → 期望断言②红(main 侧注入)。记录表进实现报告。
|
||||
- [ ] 轻闸全绿后、合并前写齐三份:`reports/iter<N>-实现报告-<完成日>.md`(各卡状态+变异验证记录表+实机目检总清单〔面板观感一条〕+遗留读数义务)/`reports/iter<N>-代拍板追认单-<完成日>.md`(§10 白名单内代拍项留痕)/`reports/iter<N>-反哺点-<完成日>.md`(§6 六条每条一落点+§11 四处推导定值逐条列示供否决)。可核查结果:三文件在 `reports/` 且 §6 同步面每条有落点、§11 定值全部列示。
|
||||
- [ ] 撤销证明(撤销改动→最窄闸见红→`git checkout` 精确还原→记录):①回退面板 workshop 段退役 hunk(旧段头复现)→ 期望断言①红(真实入口);②回退 `_status_data()` curios 映射 hunk → 期望断言③红;③回退 `_status_data()` max_hp 投影 hunk → 期望断言②红。记录进实现报告。
|
||||
- [ ] 轻闸全绿后、合并前写齐三份:`reports/iter<N>-实现报告-<完成日>.md`(各卡状态+撤销证明记录+实机目检总清单〔面板观感一条〕+遗留读数义务)/`reports/iter<N>-代拍板追认单-<完成日>.md`(§10 白名单内代拍项留痕)/`reports/iter<N>-反哺点-<完成日>.md`(§6 六条每条一落点+§11 四处推导定值逐条列示供否决)。可核查结果:三文件在 `reports/` 且 §6 同步面每条有落点、§11 定值全部列示。
|
||||
- [ ] 合并前置:独立验收审计(§8.2 末段声明)完成且报告 `reports/iter<N>-验收审计-<完成日>.md` 逐行「通过」——未通过不得合并,缺漏项回炉对应 T 卡。可核查结果:审计报告在 `reports/` 且逐行「通过」。
|
||||
|
||||
**估时合计 ≈1–2d**(T0 0.25–0.5+T1 0.5–1+T2 0.25–0.5)。切分预案:T1 内投影与面板可切,但中间态消费键断链(面板读旧键投影已换代),建议 T1 一轮同落;本卡无超软盒预挂面(批小)。**编排注记**:本卡估时低于 iter-plan 四查③硬下限 5 工作日,单独不成迭代——与其他卡同批编入。
|
||||
@@ -164,16 +164,16 @@
|
||||
|
||||
### 8.2 改动—验收对照表
|
||||
|
||||
> 各断言 desc 统一尾缀〔sv#〕(本表「验收测试」列可 grep 定位);变异/撤销证明逐条对应 T1/T2 变异步。
|
||||
> 各断言 desc 统一尾缀〔sv#〕(本表「验收测试」列可 grep 定位);撤销证明逐条对应 T1/T2 撤销步。
|
||||
|
||||
| 需求点 | 改动(文件:行/行为) | 验收测试(名称+文件+尾缀) | 层级 | 真实入口 | 撤销或变异证明 |
|
||||
| 需求点 | 改动(文件:行/行为) | 验收测试(名称+文件+尾缀) | 层级 | 真实入口 | 撤销证明 |
|
||||
|---|---|---|---|---|---|
|
||||
| sv1 属性行投影 | `main.gd:1070-1076` 八键投影+`status_panel.gd` 属性行串(契约 4 格式) | 属性行全值投影〔sv1〕 `smoke_all.gd` `_status_panel_projection` 换代 | 集成 | `open_status()` 直喂八键夹具(同构口径) | 变异:面板 gp 硬编码 0(T1 变异步①)→ 本断言红 |
|
||||
| sv2 秘宝行投影 | `_status_data()` curios 映射+面板秘宝行(受理序+「(已用)」尾缀) | 秘宝行受理序与已用尾缀〔sv2〕 同上 | 集成 | 同 sv1 | 变异:尾缀逻辑删(T1 变异步②)→ 本断言红 |
|
||||
| sv1 属性行投影 | `main.gd:1070-1076` 八键投影+`status_panel.gd` 属性行串(契约 4 格式) | 属性行全值投影〔sv1〕 `smoke_all.gd` `_status_panel_projection` 换代 | 集成 | `open_status()` 直喂八键夹具(同构口径) | 撤销:回退 gp 读数投影 hunk(T1 撤销步①)→ 本断言红 |
|
||||
| sv2 秘宝行投影 | `_status_data()` curios 映射+面板秘宝行(受理序+「(已用)」尾缀) | 秘宝行受理序与已用尾缀〔sv2〕 同上 | 集成 | 同 sv1 | 撤销:回退尾缀逻辑 hunk(T1 撤销步②)→ 本断言红 |
|
||||
| sv3 专长行投影 | `_status_data()` feats 透传+面板专长行 join | 专长行串投影〔sv3〕 同上 | 集成 | 同 sv1 | 撤销证明:回退 feats 键接线 hunk → 本断言红 |
|
||||
| sv4 余额徽回归 | `open_status` 余额徽喂值零改动(回归锚) | 余额徽读数=keystone_balance〔sv4〕 同上(沿旧断言族) | 集成 | 同 sv1 | 撤销证明:改余额徽喂值 hunk → 本断言红 |
|
||||
| sv5 零旧段(隔离档) | `status_panel.gd` 两段整段退役(契约 2) | 面板子树零「道具工坊」「天赋树」文案〔sv5〕 同上 | 集成 | 同 sv1 | 变异:重加工坊段头(T1 变异步③)→ 本断言红 |
|
||||
| sv6 零旧段+投影值真链路(真实入口) | 同 sv5 面板改动+`_status_data()` 换代+`ui_click_probe.gd:593-621` 补三断言 | 角标开层后零旧段+属性行全值对 runner 五现值+`_status_data()` 直调八键与 curios/feats 对拍〔sv6〕 `ui_click_probe.gd`(T2 新增) | 探针 | `board_zone.status_badge` pressed 真实信号路径 | 变异:旧段回插→断言①红;curios 映射漏 `used` 键→断言③红;max_hp 错读 `ledger["hero_hp"]`→断言②红(T2 变异步) |
|
||||
| sv5 零旧段(隔离档) | `status_panel.gd` 两段整段退役(契约 2) | 面板子树零「道具工坊」「天赋树」文案〔sv5〕 同上 | 集成 | 同 sv1 | 撤销:回退旧段退役 hunk(T1 撤销步③)→ 本断言红 |
|
||||
| sv6 零旧段+投影值真链路(真实入口) | 同 sv5 面板改动+`_status_data()` 换代+`ui_click_probe.gd:593-621` 补三断言 | 角标开层后零旧段+属性行全值对 runner 五现值+`_status_data()` 直调八键与 curios/feats 对拍〔sv6〕 `ui_click_probe.gd`(T2 新增) | 探针 | `board_zone.status_badge` pressed 真实信号路径 | 撤销:回退旧段退役 hunk→断言①红;回退 curios 映射 hunk→断言③红;回退 max_hp 投影 hunk→断言②红(T2 撤销步) |
|
||||
| sv7 投影零旧键 | `_status_data()` 三旧键清零(契约 2 数据层面) | `_status_data()` 返回键集=八键〔sv7〕 `ui_click_probe.gd`(sv6 断言③承载,对局中直调) | 探针 | `main._status_data()` 直调(探针对局中,runner 在役) | 撤销证明:回退三旧键清零 hunk → 键集断言红 |
|
||||
| sv8 提示行文案 | `status_panel.gd:22` 文案换代(契约 4) | 提示行=「查看本局冒险进度(只读)」〔sv8〕 `smoke_all.gd` | 集成 | 同 sv1 | 撤销证明:回退文案 hunk → 本断言红 |
|
||||
| sv9 角标 tooltip×2 | `board_zone_view.gd:58`/`level_map_screen.gd:107` 文案换代 | tooltip=新串且全仓「永久强化进度」零命中〔sv9〕 件核(T1 可核查结果)+四探针定位锚回归 | 件核+探针 | 角标节点实查+全套闸 | 撤销证明:回退任一 tooltip hunk → 件核红 |
|
||||
@@ -183,7 +183,7 @@
|
||||
|
||||
**闸口径**:轻闸每任务卡出口自跑;批末重闸=`tools/run_all_gates.sh` 按改动域选档(本批只碰 `game/` → `--code`)全绿才合并+改前改后读数对拍。回归措辞:里程碑步(T 段)出口跑一次全套闸;波内修复只做出红最小单元的最窄确认;新增测试先行孤立验证再并入全套。
|
||||
|
||||
**变异验证伴生**(新增/改写验收函数逐条注入实验,记录表进实现报告):`_status_panel_projection` 为改写函数——三注入已挂 sv1/sv2/sv5(gp 硬编码/尾缀删除/旧段回插);`ui_click_probe` 新增断言——三注入挂 sv6(旧段回插→断言①;main 侧 curios 映射漏 `used` 键→断言③;main 侧 max_hp 错读 `ledger["hero_hp"]`→断言②)。变异不红则改判据或如实标注拦截边界。V4/V5 为既有断言回归线,零新增零改写,不设注入实验。
|
||||
**撤销证明伴生(2026-10-24 用户裁:全项目禁做变异类测试,一切验收只走撤销证明)**:`_status_panel_projection` 为改写函数——三撤销步挂 sv1/sv2/sv5(gp 投影回退/尾缀逻辑回退/旧段退役回退);`ui_click_probe` 新增断言——三撤销步挂 sv6(旧段退役回退→断言①;curios 映射回退→断言③;max_hp 投影回退→断言②)。撤销后仍绿=断言没钉在这个改动上,判缺漏。V4/V5 为既有断言回归线,零新增零改写,不设撤销步。
|
||||
|
||||
### 8.3 测试削弱申报(test-conventions §9.5)
|
||||
|
||||
@@ -219,4 +219,4 @@
|
||||
|
||||
**自审六查(2026-10-23 写卡会话)**:①规格覆盖——§1 四项改动/五项完成定义逐条挂 T 卡(投影=T1、面板=T1、tooltip=T1、断言面=T1/T2、产出物=T2),并各指到对照表行(sv1–sv10),无漏项;②步骤扫描——全部步骤一步一动作一可核查结果,函数体零给出(签名+断言已定);③类型一致性——接口块八键名与 T1/冒烟/探针引用逐字一致(balance/hero_hp/max_hp/atk/ac/gp/curios/feats);④审查焦点+改动覆盖——规格暗示的失败模式补挂:只读契约破(V4 回归线+L3)、停点开面板秘宝投影崩(F5 已核+V5 回归)、文案锚破导致探针失明(V3 定位锚不变判据);文件结构图六个行为改动行全部指到对照表行;⑤篇幅比例——规格≈1 屏、任务卡≈实现面 1:1,零函数体、零代码块;⑥落位与复用——零新增文件/数据件,三个新 Label 成员与两处投影复用的「为什么不能复用既有那一个/落点唯一」已在预检节答清,与文件结构图互指一致。
|
||||
|
||||
**grilling 复核记录(2026-10-23,独立子代理对抗复核,不采访用户——可推导定值写依据、真归用户列 §11)**:十审点走查——事实面(F1–F8 行号、§6 四条文档引句、旧段/旧键/旧成员消费点全集、削弱申报、机检 C1/C2)逐条实核全部成立;对照表三方闭合、落位预检互指、待裁点无泄漏均过。判回炉一处:**【阻断】`main._status_data()` 八键投影值层无验收闭合**——v1.0 的 sv1–sv3 全部直喂夹具消费侧、sv7 只断键集、sv6 断言②单盖 GP 且开局零值无判别力,投影映射写坏可全绿合入,违验收闭合红线。随同改:【应修】§11 推导定值的呈报承诺无落点(T2 反哺点产出物补「逐条列示」)、sv6 断言②无变异证明。v1.1 修订内容:①sv6 升格三断言(零旧段+属性行全值对 runner 五现值+`_status_data()` 直调八键与 curios/feats 对拍独立 oracle)——投影值层进真链路断言回路;②sv7 落点自冒烟移探针(直调 `_status_data()` 需 runner 在役,冒烟免 boot 对局);③变异表补 main 侧注入两条(curios 漏 `used` 键→断言③红、max_hp 错读 hero_hp→断言②红);④§11 增第四处推导定值(带的秘宝含已用件);⑤吹毛求疵随手带改——契约 1 加「属性与 GP 合一行」半句与 ledger 直取下标、契约 2 限定「status_panel.gd 内」并明示 camp_overlay_view 同名件零关联、F2/F3/F4/F5 行号订正(±3 行内漂移)、T1 补 HSeparator 保留句、§8.3 保留区间措辞订正。复核结论:修订后零阻断零应修,零待裁点成立。
|
||||
**grilling 复核记录(2026-10-23,独立子代理对抗复核,不采访用户——可推导定值写依据、真归用户列 §11)**:十审点走查——事实面(F1–F8 行号、§6 四条文档引句、旧段/旧键/旧成员消费点全集、削弱申报、机检 C1/C2)逐条实核全部成立;对照表三方闭合、落位预检互指、待裁点无泄漏均过。判回炉一处:**【阻断】`main._status_data()` 八键投影值层无验收闭合**——v1.0 的 sv1–sv3 全部直喂夹具消费侧、sv7 只断键集、sv6 断言②单盖 GP 且开局零值无判别力,投影映射写坏可全绿合入,违验收闭合红线。随同改:【应修】§11 推导定值的呈报承诺无落点(T2 反哺点产出物补「逐条列示」)、sv6 断言②无撤销证明。v1.1 修订内容:①sv6 升格三断言(零旧段+属性行全值对 runner 五现值+`_status_data()` 直调八键与 curios/feats 对拍独立 oracle)——投影值层进真链路断言回路;②sv7 落点自冒烟移探针(直调 `_status_data()` 需 runner 在役,冒烟免 boot 对局);③撤销表补 main 侧两条(curios 映射回退→断言③红、max_hp 投影回退→断言②红);④§11 增第四处推导定值(带的秘宝含已用件);⑤吹毛求疵随手带改——契约 1 加「属性与 GP 合一行」半句与 ledger 直取下标、契约 2 限定「status_panel.gd 内」并明示 camp_overlay_view 同名件零关联、F2/F3/F4/F5 行号订正(±3 行内漂移)、T1 补 HSeparator 保留句、§8.3 保留区间措辞订正。复核结论:修订后零阻断零应修,零待裁点成立。
|
||||
Reference in new issue
Block a user