refactor(死断言收口执行): ①V2-s4 旧单档迁移不变式删除(用户裁:世界态断言读真实磁盘、红前提本机永久不可达且不可修复判断时机——迁移本体由 save_manager_domain v0 迁移链断言覆盖;验证集清单 :69 处置列同步记删)+②V3g 营地入口护栏撤销证明完成(临时变异:选档层新档钮建钮不入册 _new_btns,slot1 取不到——system_test 实跑 [FAIL] V3g 营地入口缺失=护栏显式红,变异未入库已还原工作区清洁)+死断言候选待办条目整条删除(①已执行②已证③已修,C-2~C-6 备查随条目终结,账本 git 历史可考)

This commit is contained in:
DKChan committed 2026-10-25 16:54:03 +08:00
1 parent 482de45311
commit cef10e5291
3 files changed
+2 -12

No files matched your search

+1 -3
View File
@@ -174,15 +174,13 @@ func _smoke_boot_chain() -> void:
#(原「按钮态==真实档断点态」关系判据随启动态换代改写:test-conventions §9.5 申报在案,卡② mn8 再承接)
check(not sm.has_breakpoint(),
"V2d boot 无断点在档(启动态不隐式激活——卡① sv2 钉死)〔装配生命批 V2·卡② mn8 改写〕")
# ④-1b 启动态三断言+旧单档迁移不变式(卡① sv2/sv12——真实 autoload boot 链)
# ④-1b 启动态三断言(卡① sv2——真实 autoload boot 链)
check(sm.active_slot() == 0 and not sm.has_write_target(),
"V2-s1 boot 后无激活态(active_slot=0、写盘目标空)〔卡① sv2〕")
check(sm.keystone_balance() == 0 and not sm.has_breakpoint() and sm.adventure_total() == 0,
"V2-s2 boot 内存=默认合法空态(钥石/断点/总局数全零值)〔卡① sv2〕")
check(not sm.write_to_disk(),
"V2-s3 boot 无激活写盘拒绝(write_to_disk=false 生产入口)〔卡① sv3〕")
check(not (FileAccess.file_exists("user://save.json") and not FileAccess.file_exists(sm.slot_path(1))),
"V2-s4 旧单档迁移不变式(旧档在则槽 1 必在——Q1 甲一次性迁移已发生;旧档在盘面罕见,迁移逻辑本体由 save_manager_domain v0 迁移链断言覆盖)〔卡① sv12·核代码增补注〕")
# ④-2 三钮承接(卡② mn8——V2d 续玩钮族随钮退役废止:钮可见性联动面由卡① V2-s 启动态断言与
# sv11 attach 语义段承接;attach 原地重置语义保持——绝不碰真实档 user://save.json)
for p in ["user://smoke_boot_chain.json", "user://smoke_boot_chain.json.tmp"]:
+1 -1
View File
@@ -131,7 +131,7 @@
| 66 | 178 | "V2-s1 boot 后无激活态(active_slot=0、写盘目标空)〔卡① sv2〕" | sm.active_slot() == 0 and not sm.has_write_target() | boot 后无激活态:激活槽 0、无写盘目标。 | 迁系统测试(tests/system_test.gd) | |
| 67 | 180 | "V2-s2 boot 内存=默认合法空态(钥石/断点/总局数全零值)〔卡① sv2〕" | sm.keystone_balance() == 0 and not sm.has_breakpoint() and sm.adventure_total() == 0 | boot 内存为合法空态:钥石 0、无断点、总局数 0。 | 迁系统测试(tests/system_test.gd) | |
| 68 | 182 | "V2-s3 boot 无激活写盘拒绝(write_to_disk=false 生产入口)〔卡① sv3〕" | not sm.write_to_disk() | 无激活态调写盘被拒(生产入口返回 false)。 | 迁系统测试(tests/system_test.gd) | |
| 69 | 184 | "V2-s4 旧单档迁移不变式(旧档在则槽 1 必在——Q1 甲一次性迁移已发生;旧档在盘面罕见,迁移逻辑本体由 save_manager_domain v0 迁移链断言覆盖)〔卡① sv12·核代码增补注〕" | not (FileAccess.file_exists("user://save.json") and not FileAccess.file_exists(sm.slot_path(1))) | (待填) | | |
| 69 | 184 | "V2-s4 旧单档迁移不变式(旧档在则槽 1 必在——Q1 甲一次性迁移已发生;旧档在盘面罕见,迁移逻辑本体由 save_manager_domain v0 迁移链断言覆盖)〔卡① sv12·核代码增补注〕" | not (FileAccess.file_exists("user://save.json") and not FileAccess.file_exists(sm.slot_path(1))) | 旧档在盘则迁移后槽 1 必在(一次性迁移不变式)。 | 已删除(2026-10-25 用户裁——世界态断言读真实磁盘 user://,红前提「旧档在而槽 1 缺」本机永久不可达;迁移本体由 save_manager_domain v0 迁移链断言覆盖) | |
| 70 | 192 | "V2d 三钮在位·进入存档/设置/退出游戏(续玩钮族退役后主菜单操作组承接)〔卡② mn1/mn8〕" | main._menu_screen.entersavebtn != null and main._menu_screen.settingsbtn != null and main._menu_screen.quitbtn != null | 隔离档无断点时续玩钮隐藏(刷新单口与 boot 路径同源)。 | 迁系统测试(tests/system_test.gd) | |
| 71 | 196 | "V2d 四旧钮句柄零命中·%s(彻底撤出——禁隐藏态禁置灰态残留)〔卡② mn2〕" ↩ % old_btn | not (old_btn in main._menu_screen) | 设断点后续玩钮可见。 | 迁系统测试(tests/system_test.gd) | |
| 72 | 198 | "V2d 渲染面可见按钮计数==3(旧钮接回即红——渲染面锚,句柄缝盲区闭合)〔卡② mn1/mn2〕" | _count_visible_buttons(main._start_overlay) == 3 | 清断点后续玩钮回隐藏。 | 迁系统测试(tests/system_test.gd) | |
-8
View File
@@ -64,14 +64,6 @@
**状态**:待文档设计
#### 死断言候选复核收口——账本三条经代码复核只余 V2-s4 一条待裁(2026-10-25 登记,来源=批次移交)
**实况**:批 B 迁移账本曾报三条死断言候选(账本 :238/:241/:273),2026-10-25 按现行宿主逐条代码复核(判断时机、取数来源、被守生产码三方对照)收口为一件:① **V2-s4 旧单档迁移不变式 `game/tests/system_test.gd:184`(唯一真死,处置待裁)**——世界态断言:读真实磁盘 `user://`,红前提「`save.json` 在盘且槽 1 文件缺」本机永久不可达,死因是断言性质而非判断时机或取数错误;迁移逻辑本体由 save_manager_domain v0 迁移链断言覆盖(补审 A-2 结构例外标签已在案)。处置二选一=登记结构例外,或造隔离存储夹具预置旧档后重写——待写卡段呈报用户裁决。② **V3g 营地入口护栏 `game/tests/system_test.gd:481`(判活,出账)**——账本死因引用的变异点 menu campbtn 已随迭代 34 卡② 退役,现行守面=选档层新档钮 `_new_btns.get(1)` 取不到即 `check(false)` 显式红,按逻辑可直接验红;遗留一件事=用现行变异点重证红一跑,待用户发令后补记账。③ **区间行上下阶实际流动(已修,出账)**——核代码修复批第 8 条(提交 957391e1)已新增 `draws` 独立计数改写判据(总抽≥2 且不同值<2 即红),自比较死逻辑已除,非候选。证据=批B迁移账本 :238/:241/:273(账本已退役,考古=git 历史——删除批 53075baa,删除前全稿见历史版本 5644d30c)+冻结基点 `game/tests/验证集清单.md` 头注(commit 1aea9397)。另:核代码补审 C-2~C-6 五件测试增强候选原登记备查于账本 §十五,随账本退役并入本条备查——C-2 计数闸残缝(visible 标志位≠渲染面,隐藏匿名旧钮接回双闸漏过)、C-3 _stage_faces extra 静默吞键(match 无默认臂)、C-4 顺序耦合无守卫(boot_chain 须先于驱动执行;lifecycle_matrix 永久改写槽模板不还原)、C-5 camp 残留档使 V3g 红的原因标注误导(不静默)、C-6 V1a 候选表与 LAYER_CONTRACT 双维护(新增层忘登则漏检盖顶回归)。
**改动面**:游戏代码
**状态**:待写卡
#### 营地五界面窗口化批——营地功能页点开后的呈现形态(2026-10-22 登记,来源=会话提及)
**实况**:营地场景图(卡④)把旧四柜台换成「一张可点击的场景图」,从场景图点进去的**五个功能界面**——锻造工坊/秘宝匣/天赋树(树淬炼)/奖励格图鉴/生涯记录——其**呈现形态尚未定稿**:是各开独立全屏页(生涯先例),还是作为**窗口**打开(场景根留底)。**作者 2026-10-22 明示意图=窗口打开,不是全屏页**。该形态原属卡④ §9 代拍板白名单第 2 条(非用户裁、且「缩放虚化」第三形态禁批内自选),故单独立批,不在美术设计段定值。