修复: 天赋树货币甲案修复批出口报告(提交清单/闸数字/改动对照/MC零跑论证/文档命中清单/偏差披露)

This commit is contained in:
DKChan committed 2026-10-07 22:45:21 +08:00
1 parent 30154e57dd
commit 129c21c709
1 file changed
+76
@@ -0,0 +1,76 @@
# 出口报告:天赋树货币甲案修复批 + 卡③提案 S2 纠偏重写(2026-10-07)
- **工作树**:`g-plan2-iter18-treefix`(基点 master 3e9360d)
- **裁决依据**:用户 2026-10-07「按甲方案修复完」——树全钥石单币落定,T8「GP 余额域缺位」双币骨架披露销账
- **性质**:零行为变更静态批(tree_buy 改动前后同走 spend_keystone;currency 仅呈现元数据)
## 一、提交清单
| # | hash | 内容 |
|---|---|---|
| ① | d7a6406 | 修复: 天赋树货币甲案——树全钥石单币落定(6 文件) |
| ② | 30154e5 | 修复: 卡③武器锻造提案 v1.1——盘问轮 S2 纠偏(1 文件) |
| ③ | (本提交) | 出口报告(本文件) |
## 二、改动对照(A-E + meta.tres 顺带订正)
| 项 | 文件 | 改动 |
|---|---|---|
| A | `game/data/tables/meta_tree.tres` | 16 脊柱行(sp_hp/atk/hit/ac × r1..r4)`"currency": "gp"` → `"keystone"`(价格 10/20/30/40 不动,provisional 归 M4);表尾 T8 注释 GP 买深度→钥石买深度;追加 2026-10-07 裁甲销账行注 |
| B | `game/core/meta_progression.gd` tree_buy | 删 currency 变量与 if 包裹,直走 `save.spend_keystone(price)`;注释改裁甲口径。tree_buy_fork 原本直走 spend_keystone 零改动 |
| C | `game/data/schemas/meta_tree_table.gd` | `CURRENCIES` 枚举 `{gp, keystone, free}` → `{keystone, free}`(缺省容忍语义不变——validate 对缺失键照旧报出域);头注双币铁律段换代单币口径 |
| D | `game/presentation/views/camp_overlay_view.gd:203` | 树购买钮 `"购买 %d"` → `"购买 %d 钥石"`(行板紧凑钮豁免宽度基准不变) |
| E | `game/smoke/smoke_all.gd` | 4670「双币/互斥对…」→「单币枚举/互斥对…」、4677「钥石单币承载——GP 余额域缺位披露待追认」→「树全钥石单币——2026-10-07 用户裁甲」(两条均消息文字,逻辑断言零改) |
| 附 | `game/data/tables/meta.tres:92` | 陈旧注释订正:「与 GP 商店同族…base 10」→「与局内 GP 商店同族**指数值档位非货币**…base_price 现值 20(2026-09-22 对齿批投值)」+ 订正溯源注 |
## 三、闸数字
| 闸 | 结果 |
|---|---|
| 基线冒烟(改动前,worktree) | 834 项检查,0 项失败(三闸全过) |
| 改后冒烟 run_smoke | 834 项检查,0 项失败(三闸全过) |
| probe_gate --click | ui_input/ui_struct/ui_contrast/ui_click 四段全绿,批末残留 Godot=0 |
| ui_layout_probe | 退出码 0,SCRIPT ERROR/Parse Error 零命中(该探针系布局 facts 打印设计,无 PASS 行) |
| ui_tune_probe | PASS 全链路 |
| run_all(game/tests) | 17 套件全绿 |
| doc_link_audit --strict | 既有死链 4(06-待办清单 ×2、奇物.md ×2——本批未触碰该三文件,零新增) |
| gdd_lint | 既有 2 文件不通过(R3/R4/R7——本批零 gdd 改动,零新增) |
| doc_term_audit --strict | 既有疑似现行 3 处(伏击/可选类道具/拔旗——均不在本批触碰文件,零新增) |
| repo_structure_audit(熵增闸) | 既有违例 1(design/diagrams 子目录越界——基点已存在,非本批引入,零新增) |
## 四、MC 零跑静态论证(零行为变更)
1. **tree_buy**:旧逻辑 gp/keystone 两值都走 `spend_keystone(price)`;新逻辑无条件走同一口——对全部 currency ∈ {keystone, free} 行为逐值等价。free 行(ks_workshop/easter_ley)price=0,`spend_keystone(0)` 恒 true(实现为 `keystone_balance() < n` 判拒,0 余额不减值)→ free 节点购买状态迁移逐位不变。
2. **currency 字段残余消费方**:全 game/ grep 证实仅剩 schema 枚举校验(新词表覆盖现役全部行值,smoke 4670 validate 零违例过闸)与 `tree_camp_rows` 投影透传(呈现层无渲染消费,camp_overlay_view 仅注释提及)。
3. **按钮文案**:呈现面文字变更,smoke/probe 断言面零钉死(grep `购买 ` 命中均为商店 buy_product 动作描述非树钮文案)。
4. **实证背书**:改后 run_smoke 834/0 + 全探针绿 = 静态论证经验闭环。
## 五、文档命中清单(F 项先 grep 后动)
| 文档 | grep 词 | 结果 | 处置 |
|---|---|---|---|
| design/gdd/systems/跨局循环/元进度.md(注:任务书误写「冒险循环」目录,实际在跨局循环/) | 双币/脊柱/GP 买/天赋树 | 树双币与脊柱 GP 表述零命中(命中 3 行均系历史定名注/版本史;:55 两币分工条款确认在案,不动) | 零改动 |
| design/registry/entities.yaml | meta_tree/currency | 零命中 | 零改动 |
| design/gdd/06-待办清单.md | 天赋树/货币/追认/双币/余额域 | 无 T8 树货币待追认挂单项(命中行均系其他主题) | 零改动 |
## 六、卡③提案 v1.1(S2 纠偏)订正清单
1. 〇节原案一:「营地花金币」→「营地花钥石」
2. F1 事实行:「单次价 20 金币」→「20 钥石(货币=钥石:消费口 meta_progression.gd:59 spend_keystone;meta.tres 仅存计价参数)」
3. 裁点 4b 乙引文:「消费钥石/金币的成长枢纽」→「消费钥石的成长枢纽」
4. 裁点 5a 丙:不同源论据作废改写(工坊=通关次数渠道+钥石直购预留,与武器锻造同属营地钥石经济;淘汰仅依职责混装)
5. 裁点 5b 货币裁点整节重组:甲=纯钥石(推荐)/乙=局外金币余额域(淘汰)/丙=第三货币锻造币(淘汰)
6. 裁点 5c 前提换钥石:甲=纯钥石零材料(推荐,原「不要材料」结论存活)/乙=钥石+材料(代价并列)/丙=纯材料(淘汰)
7. 第九节定价行:基础价 20 钥石(量纲不变括注)
8. 汇总表 5b-1/5c 行换代
9. 文末新增修订记录 v1.1(含错误根源与配套实况)
10. 全文「金币」扫尾:残余 9 处均系订正说明/乙丙备选案描述对象/修订记录事实陈述,合法保留
## 七、偏差披露
1. **任务书元进度.md 路径勘误**:任务书写 `design/gdd/systems/冒险循环/元进度.md`,实际文件在 `design/gdd/systems/跨局循环/元进度.md`(提案 F5 引文路径正确)。已按实际路径完成 grep。
2. **F 项三文档全零命中**:元进度.md 无树双币表述可换代(树系迭代 12 T8 落码,文档正主从未写入双币树口径)、entities.yaml 无树货币登记、待办清单无 T8 追认挂单项——均零改动,未补版本史行注(任务书行注以「有表述则换代」为前提)。
3. **断言面命中 14 处**:13 处系商店 buy_product 动作描述(非树断言),仅 smoke_all.gd 4670/4677 两条消息文字换代。
4. **doc 三闸与熵增闸既有命中**:死链 4/格式 2 文件/术语 3/熵增 1 均系基点既有(本批触碰文件不在其扫描域或未触碰),判据「零新增」满足。
5. **ui_layout_probe 无 PASS 行**:该探针设计为布局 facts 打印(无断言 PASS 输出),以退出码 0 + 零 SCRIPT ERROR 判过。
6. 环境无降级;边车 115 枚全数拷入 worktree(ui_font_asset_test 过闸印证)。