refactor: production 解散+docs 并入 design+tests 归 game 三层收敛——active.md/roadmap/stage/review-mode 升根目录;qa 报告→design/qa(gate-checks/alpha 验收/任务书→research);docs/→design/dev+registry 并档+散提案→research;tests/→game/tests(空架子 README+示例,真测试在 game/smoke);game/tools→tools+样例输出→sim-data;qa-data→sim-data;design/ux→gdd/ux;删 loop-dashboard.html(可再生成)+route_overlay_preview(零引用);钩子三件+loop_dashboard/balance_verifier/render_sample_sheet 路径随迁;断链修复 12 文件,余 7 条全为搬前幽灵链

This commit is contained in:
DKChan committed 2026-09-27 04:56:27 +08:00
1 parent 97e20d51fb
commit 7f24b640ea
179 files changed
+81 -579

No files matched your search

File diff suppressed because it is too large. Load diff
@@ -0,0 +1,296 @@
# 数值验证报告(20260923-084327)
- 采集规模:基线冒险 100 局/画像 · 战役 60 局/画像 · 种子 8000 起逐局独立 · 锻造花费策略 = hp_first
- 切片版本:7fd6fbd · 口径:逐关读数 = 冒险条件口径(单关直入口口径已退役 2026-09-23,带待重锚只测不判——重锚归曲线调参批) · 换算率表值(meta.tres 启动解析):生命上限每级平移6点 · 基础攻击每级平移9点 · 护甲等级每级平移1点
## ① 逐关条件通关率(冒险口径——打通 k-1 关才到达第 k 关;带待重锚只测不判)
| 层 | 画像 | 通关/到达 | 条件通关率±95%CI | 验收带 |
|--------|--------|-----------|------------------|--------|
| 第一层 | 普通档 | 53/100 | 53.0% ±9.8 | 未定 |
| 第二层 | 普通档 | 1/53 | 1.9% ±3.7 | 未定 |
| 第三层 | 普通档 | 0/1 | 0.0% ±0.0 | 未定 |
| 第一层 | 完美档 | 86/100 | 86.0% ±6.8 | 未定 |
| 第二层 | 完美档 | 15/86 | 17.4% ±8.0 | 未定 |
| 第三层 | 完美档 | 0/15 | 0.0% ±0.0 | 未定 |
## ② 零永久强化冒险:止步分布与败退节点(用户判据③)
### 普通档(100 局)
- 止步分布:止步第1层 47(47%)、止步第2层 52(52%)、止步第3层 1(1%)
- 败退节点分布(失败局归因):
- 第二层·节点1·战斗 ×23
- 第一层·节点4·战斗 ×20
- 第一层·节点6·Boss ×20
- 第二层·节点9·Boss ×19
- 第二层·节点6·战斗 ×8
- 第一层·节点3·战斗 ×7
- 第二层·节点0·战斗 ×2
- 第三层·节点1·战斗 ×1
### 完美档(100 局)
- 止步分布:止步第1层 14(14%)、止步第2层 71(71%)、止步第3层 15(15%)
- 败退节点分布(失败局归因):
- 第二层·节点1·战斗 ×28
- 第二层·节点9·Boss ×27
- 第二层·节点6·战斗 ×16
- 第一层·节点4·战斗 ×11
- 第三层·节点1·战斗 ×7
- 第三层·节点6·战斗 ×5
- 第三层·节点9·Boss ×2
- 第一层·节点6·Boss ×2
- 第一层·节点3·战斗 ×1
- 第三层·节点0·战斗 ×1
## ③ 营地循环爬升(用户判据④:5 次通关 → 下一层可过)
### 普通档 · 生命优先(60 局战役)
- 钥石:全程入账 1262 · 终态余额 26 · 锻造终态 = 生命+18/攻击+6/护甲+6
- 道具工坊解锁时点(魔法道具面,局内效果未实装只报不判):显影尘 第 3 局、工兵令 第 3 局、探宝罗盘 第 5 局、探巢摆钟 第 5 局、地穴全图卷 第 6 局、爆破工兵包 第 6 局
- 判据:累计通过第一层 5 次后,第二层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+3/攻击+1/护甲+0,表值平移 +15.0 点——带重锚后随平移判)
- 判据:累计通过第二层 5 次后,第三层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+9/攻击+3/护甲+3,表值平移 +48.0 点——带重锚后随平移判)
| 局 | 注入(flat) | 钥石 | 第1层率(窗) | 第2层率(窗) | 第3层率(窗) | 终局 |
|--------|--------------|------|-------------|-------------|-------------|-----------|
| 第1局 | 血0/攻0/甲0 | 0 | 0%(n=1) | — | — | 止步第1层 |
| 第4局 | 血0/攻0/甲0 | 15 | 25%(n=4) | — | — | 止步第1层 |
| 第7局 | 血3/攻0/甲0 | 17 | 43%(n=7) | — | — | 止步第1层 |
| 第10局 | 血3/攻0/甲0 | 8 | 40%(n=10) | 0%(n=4) | — | 止步第2层 |
| 第13局 | 血3/攻1/甲0 | 19 | 40%(n=10) | — | — | 止步第1层 |
| 第16局 | 血6/攻1/甲0 | 11 | 40%(n=10) | 0%(n=7) | — | 止步第2层 |
| 第19局 | 血6/攻1/甲1 | 12 | 70%(n=10) | 10%(n=10) | 0%(n=1) | 止步第3层 |
| 第22局 | 血6/攻2/甲2 | 15 | 80%(n=10) | 10%(n=10) | — | 止步第2层 |
| 第25局 | 血9/攻2/甲2 | 4 | 100%(n=10) | 30%(n=10) | 33%(n=3) | 止步第3层 |
| 第28局 | 血9/攻3/甲3 | 29 | 100%(n=10) | 50%(n=10) | 40%(n=5) | 止步第3层 |
| 第31局 | 血9/攻3/甲3 | 32 | 100%(n=10) | 60%(n=10) | 43%(n=7) | 通关 |
| 第34局 | 血12/攻3/甲3 | 10 | 100%(n=10) | 60%(n=10) | 38%(n=8) | 止步第3层 |
| 第37局 | 血12/攻4/甲4 | 38 | 100%(n=10) | 70%(n=10) | 50%(n=10) | 通关 |
| 第40局 | 血15/攻4/甲4 | 33 | 100%(n=10) | 80%(n=10) | 50%(n=10) | 止步第3层 |
| 第43局 | 血15/攻4/甲4 | 28 | 100%(n=10) | 100%(n=10) | 60%(n=10) | 通关 |
| 第46局 | 血15/攻5/甲5 | 23 | 100%(n=10) | 100%(n=10) | 70%(n=10) | 止步第3层 |
| 第49局 | 血15/攻5/甲5 | 131 | 100%(n=10) | 100%(n=10) | 70%(n=10) | 通关 |
| 第52局 | 血18/攻5/甲5 | 76 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 止步第3层 |
| 第55局 | 血18/攻5/甲5 | 21 | 100%(n=10) | 100%(n=10) | 70%(n=10) | 止步第3层 |
| 第58局 | 血18/攻6/甲5 | 129 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 通关 |
### 完美档 · 生命优先(60 局战役)
- 钥石:全程入账 1810 · 终态余额 124 · 锻造终态 = 生命+21/攻击+7/护甲+6
- 道具工坊解锁时点(魔法道具面,局内效果未实装只报不判):显影尘 第 1 局、工兵令 第 1 局、探宝罗盘 第 2 局、探巢摆钟 第 2 局、地穴全图卷 第 3 局、爆破工兵包 第 3 局
- 判据:累计通过第一层 5 次后,第二层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+6/攻击+1/护甲+0,表值平移 +21.0 点——带重锚后随平移判)
- 判据:累计通过第二层 5 次后,第三层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+6/攻击+2/护甲+2,表值平移 +32.0 点——带重锚后随平移判)
| 局 | 注入(flat) | 钥石 | 第1层率(窗) | 第2层率(窗) | 第3层率(窗) | 终局 |
|--------|--------------|------|-------------|-------------|-------------|-----------|
| 第1局 | 血0/攻0/甲0 | 15 | 100%(n=1) | 0%(n=1) | — | 止步第2层 |
| 第4局 | 血6/攻0/甲0 | 16 | 100%(n=4) | 25%(n=4) | — | 止步第2层 |
| 第7局 | 血6/攻2/甲0 | 3 | 100%(n=7) | 43%(n=7) | 0%(n=3) | 止步第3层 |
| 第10局 | 血6/攻2/甲2 | 30 | 100%(n=10) | 50%(n=10) | 0%(n=5) | 止步第3层 |
| 第13局 | 血9/攻2/甲2 | 19 | 100%(n=10) | 60%(n=10) | 14%(n=7) | 通关 |
| 第16局 | 血9/攻3/甲2 | 19 | 100%(n=10) | 60%(n=10) | 12%(n=8) | 止步第3层 |
| 第19局 | 血12/攻3/甲3 | 60 | 100%(n=10) | 70%(n=10) | 40%(n=10) | 通关 |
| 第22局 | 血12/攻4/甲3 | 8 | 100%(n=10) | 80%(n=10) | 50%(n=10) | 止步第3层 |
| 第25局 | 血12/攻4/甲4 | 90 | 100%(n=10) | 100%(n=10) | 50%(n=10) | 止步第3层 |
| 第28局 | 血15/攻4/甲4 | 98 | 100%(n=10) | 100%(n=10) | 60%(n=10) | 通关 |
| 第31局 | 血15/攻5/甲4 | 93 | 100%(n=10) | 100%(n=10) | 60%(n=10) | 通关 |
| 第34局 | 血15/攻5/甲5 | 101 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 通关 |
| 第37局 | 血18/攻5/甲5 | 59 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
| 第40局 | 血18/攻5/甲5 | 17 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
| 第43局 | 血18/攻6/甲5 | 112 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 止步第3层 |
| 第46局 | 血18/攻6/甲6 | 70 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
| 第49局 | 血18/攻6/甲6 | 178 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
| 第52局 | 血21/攻6/甲6 | 61 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
| 第55局 | 血21/攻6/甲6 | 169 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
| 第58局 | 血21/攻7/甲6 | 52 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
### 普通档 · 攻击优先(60 局战役)
- 钥石:全程入账 1311 · 终态余额 75 · 锻造终态 = 生命+18/攻击+6/护甲+6
- 道具工坊解锁时点(魔法道具面,局内效果未实装只报不判):显影尘 第 3 局、工兵令 第 3 局、探宝罗盘 第 5 局、探巢摆钟 第 5 局、地穴全图卷 第 6 局、爆破工兵包 第 6 局
- 判据:累计通过第一层 5 次后,第二层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+3/攻击+2/护甲+0,表值平移 +24.0 点——带重锚后随平移判)
- 判据:累计通过第二层 5 次后,第三层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+9/攻击+3/护甲+3,表值平移 +48.0 点——带重锚后随平移判)
| 局 | 注入(flat) | 钥石 | 第1层率(窗) | 第2层率(窗) | 第3层率(窗) | 终局 |
|--------|--------------|------|-------------|-------------|-------------|-----------|
| 第1局 | 血0/攻0/甲0 | 0 | 0%(n=1) | — | — | 止步第1层 |
| 第4局 | 血0/攻0/甲0 | 15 | 25%(n=4) | — | — | 止步第1层 |
| 第7局 | 血0/攻1/甲0 | 17 | 43%(n=7) | — | — | 止步第1层 |
| 第10局 | 血0/攻1/甲0 | 16 | 40%(n=10) | 25%(n=4) | 0%(n=1) | 止步第3层 |
| 第13局 | 血0/攻2/甲0 | 7 | 40%(n=10) | 20%(n=5) | — | 止步第2层 |
| 第16局 | 血3/攻2/甲0 | 9 | 40%(n=10) | 14%(n=7) | — | 止步第2层 |
| 第19局 | 血6/攻2/甲1 | 24 | 70%(n=10) | 20%(n=10) | 0%(n=2) | 止步第3层 |
| 第22局 | 血6/攻2/甲2 | 27 | 90%(n=10) | 20%(n=10) | — | 止步第2层 |
| 第25局 | 血6/攻3/甲2 | 16 | 100%(n=10) | 30%(n=10) | 25%(n=4) | 止步第3层 |
| 第28局 | 血9/攻3/甲3 | 41 | 100%(n=10) | 50%(n=10) | 33%(n=6) | 止步第3层 |
| 第31局 | 血9/攻4/甲3 | 44 | 100%(n=10) | 60%(n=10) | 38%(n=8) | 通关 |
| 第34局 | 血12/攻4/甲3 | 46 | 100%(n=10) | 80%(n=10) | 30%(n=10) | 止步第3层 |
| 第37局 | 血12/攻4/甲4 | 74 | 100%(n=10) | 90%(n=10) | 40%(n=10) | 通关 |
| 第40局 | 血12/攻5/甲4 | 82 | 100%(n=10) | 100%(n=10) | 60%(n=10) | 通关 |
| 第43局 | 血15/攻5/甲4 | 77 | 100%(n=10) | 100%(n=10) | 70%(n=10) | 通关 |
| 第46局 | 血15/攻5/甲5 | 72 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 止步第3层 |
| 第49局 | 血15/攻5/甲5 | 30 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 通关 |
| 第52局 | 血15/攻6/甲5 | 125 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 止步第3层 |
| 第55局 | 血18/攻6/甲5 | 70 | 100%(n=10) | 100%(n=10) | 70%(n=10) | 止步第3层 |
| 第58局 | 血18/攻6/甲5 | 28 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 通关 |
### 完美档 · 攻击优先(60 局战役)
- 钥石:全程入账 1798 · 终态余额 112 · 锻造终态 = 生命+21/攻击+7/护甲+6
- 道具工坊解锁时点(魔法道具面,局内效果未实装只报不判):显影尘 第 1 局、工兵令 第 1 局、探宝罗盘 第 2 局、探巢摆钟 第 2 局、地穴全图卷 第 3 局、爆破工兵包 第 3 局
- 判据:累计通过第一层 5 次后,第二层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+3/攻击+2/护甲+0,表值平移 +24.0 点——带重锚后随平移判)
- 判据:累计通过第二层 5 次后,第三层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+6/攻击+3/护甲+2,表值平移 +41.0 点——带重锚后随平移判)
| 局 | 注入(flat) | 钥石 | 第1层率(窗) | 第2层率(窗) | 第3层率(窗) | 终局 |
|--------|--------------|------|-------------|-------------|-------------|-----------|
| 第1局 | 血0/攻0/甲0 | 15 | 100%(n=1) | 0%(n=1) | — | 止步第2层 |
| 第4局 | 血0/攻2/甲0 | 16 | 100%(n=4) | 25%(n=4) | — | 止步第2层 |
| 第7局 | 血3/攻2/甲0 | 11 | 100%(n=7) | 29%(n=7) | 0%(n=2) | 止步第3层 |
| 第10局 | 血6/攻2/甲1 | 3 | 100%(n=10) | 40%(n=10) | 0%(n=4) | 止步第3层 |
| 第13局 | 血6/攻3/甲2 | 7 | 100%(n=10) | 50%(n=10) | 17%(n=6) | 通关 |
| 第16局 | 血9/攻3/甲2 | 7 | 100%(n=10) | 60%(n=10) | 14%(n=7) | 止步第3层 |
| 第19局 | 血9/攻4/甲3 | 48 | 100%(n=10) | 70%(n=10) | 40%(n=10) | 通关 |
| 第22局 | 血12/攻4/甲3 | 63 | 100%(n=10) | 80%(n=10) | 50%(n=10) | 止步第3层 |
| 第25局 | 血12/攻4/甲4 | 78 | 100%(n=10) | 100%(n=10) | 50%(n=10) | 止步第3层 |
| 第28局 | 血12/攻5/甲4 | 86 | 100%(n=10) | 100%(n=10) | 60%(n=10) | 通关 |
| 第31局 | 血15/攻5/甲4 | 81 | 100%(n=10) | 100%(n=10) | 60%(n=10) | 通关 |
| 第34局 | 血15/攻5/甲5 | 89 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 通关 |
| 第37局 | 血15/攻6/甲5 | 47 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
| 第40局 | 血15/攻6/甲5 | 5 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
| 第43局 | 血18/攻6/甲5 | 100 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 止步第3层 |
| 第46局 | 血18/攻6/甲6 | 58 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
| 第49局 | 血18/攻6/甲6 | 166 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
| 第52局 | 血18/攻7/甲6 | 49 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
| 第55局 | 血18/攻7/甲6 | 157 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
| 第58局 | 血21/攻7/甲6 | 40 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
### 普通档 · 护甲优先(60 局战役)
- 钥石:全程入账 1145 · 终态余额 59 · 锻造终态 = 生命+18/攻击+5/护甲+6
- 道具工坊解锁时点(魔法道具面,局内效果未实装只报不判):显影尘 第 3 局、工兵令 第 3 局、探宝罗盘 第 5 局、探巢摆钟 第 5 局、地穴全图卷 第 6 局、爆破工兵包 第 6 局
- 判据:累计通过第一层 5 次后,第二层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+3/攻击+0/护甲+1,表值平移 +7.0 点——带重锚后随平移判)
- 判据:累计通过第二层 5 次后,第三层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+9/攻击+3/护甲+3,表值平移 +48.0 点——带重锚后随平移判)
| 局 | 注入(flat) | 钥石 | 第1层率(窗) | 第2层率(窗) | 第3层率(窗) | 终局 |
|--------|--------------|------|-------------|-------------|-------------|-----------|
| 第1局 | 血0/攻0/甲0 | 0 | 0%(n=1) | — | — | 止步第1层 |
| 第4局 | 血0/攻0/甲0 | 15 | 25%(n=4) | — | — | 止步第1层 |
| 第7局 | 血0/攻0/甲1 | 17 | 43%(n=7) | — | — | 止步第1层 |
| 第10局 | 血0/攻0/甲1 | 8 | 40%(n=10) | 0%(n=4) | — | 止步第2层 |
| 第13局 | 血3/攻0/甲1 | 8 | 30%(n=10) | — | — | 止步第1层 |
| 第16局 | 血3/攻0/甲1 | 19 | 20%(n=10) | — | — | 止步第1层 |
| 第19局 | 血3/攻0/甲2 | 11 | 40%(n=10) | — | — | 止步第1层 |
| 第22局 | 血3/攻1/甲2 | 13 | 50%(n=10) | 0%(n=9) | — | 止步第2层 |
| 第25局 | 血3/攻1/甲3 | 12 | 60%(n=10) | 20%(n=10) | 50%(n=2) | 止步第3层 |
| 第28局 | 血6/攻2/甲3 | 27 | 70%(n=10) | 30%(n=10) | 33%(n=3) | 止步第3层 |
| 第31局 | 血9/攻2/甲3 | 40 | 90%(n=10) | 40%(n=10) | 50%(n=4) | 通关 |
| 第34局 | 血9/攻3/甲3 | 40 | 100%(n=10) | 40%(n=10) | 40%(n=5) | 止步第3层 |
| 第37局 | 血9/攻3/甲4 | 55 | 100%(n=10) | 60%(n=10) | 38%(n=8) | 止步第3层 |
| 第40局 | 血12/攻3/甲4 | 16 | 100%(n=10) | 80%(n=10) | 40%(n=10) | 止步第3层 |
| 第43局 | 血12/攻4/甲4 | 99 | 100%(n=10) | 90%(n=10) | 60%(n=10) | 通关 |
| 第46局 | 血12/攻4/甲5 | 94 | 100%(n=10) | 90%(n=10) | 70%(n=10) | 止步第3层 |
| 第49局 | 血15/攻4/甲5 | 2 | 100%(n=10) | 90%(n=10) | 80%(n=10) | 通关 |
| 第52局 | 血15/攻5/甲5 | 97 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 止步第3层 |
| 第55局 | 血15/攻5/甲6 | 42 | 100%(n=10) | 100%(n=10) | 70%(n=10) | 止步第3层 |
| 第58局 | 血15/攻5/甲6 | 0 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 通关 |
### 完美档 · 护甲优先(60 局战役)
- 钥石:全程入账 1674 · 终态余额 213 · 锻造终态 = 生命+18/攻击+6/护甲+7
- 道具工坊解锁时点(魔法道具面,局内效果未实装只报不判):显影尘 第 1 局、工兵令 第 1 局、探宝罗盘 第 2 局、探巢摆钟 第 2 局、地穴全图卷 第 3 局、爆破工兵包 第 3 局
- 判据:累计通过第一层 5 次后,第二层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+3/攻击+0/护甲+2,表值平移 +8.0 点——带重锚后随平移判)
- 判据:累计通过第二层 5 次后,第三层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+9/攻击+3/护甲+3,表值平移 +48.0 点——带重锚后随平移判)
| 局 | 注入(flat) | 钥石 | 第1层率(窗) | 第2层率(窗) | 第3层率(窗) | 终局 |
|--------|--------------|------|-------------|-------------|-------------|-----------|
| 第1局 | 血0/攻0/甲0 | 15 | 100%(n=1) | 0%(n=1) | — | 止步第2层 |
| 第4局 | 血0/攻0/甲1 | 8 | 100%(n=4) | 0%(n=4) | — | 止步第2层 |
| 第7局 | 血3/攻0/甲2 | 9 | 100%(n=7) | 14%(n=7) | — | 止步第2层 |
| 第10局 | 血6/攻1/甲2 | 12 | 100%(n=10) | 10%(n=10) | — | 止步第2层 |
| 第13局 | 血6/攻2/甲2 | 16 | 100%(n=10) | 30%(n=10) | 33%(n=3) | 通关 |
| 第16局 | 血6/攻2/甲3 | 4 | 100%(n=10) | 20%(n=10) | — | 止步第2层 |
| 第19局 | 血9/攻3/甲3 | 41 | 100%(n=10) | 50%(n=10) | 33%(n=6) | 通关 |
| 第22局 | 血9/攻3/甲4 | 44 | 100%(n=10) | 60%(n=10) | 38%(n=8) | 止步第3层 |
| 第25局 | 血12/攻3/甲4 | 46 | 100%(n=10) | 80%(n=10) | 30%(n=10) | 止步第3层 |
| 第28局 | 血12/攻4/甲4 | 87 | 100%(n=10) | 90%(n=10) | 50%(n=10) | 通关 |
| 第31局 | 血12/攻4/甲5 | 82 | 100%(n=10) | 100%(n=10) | 50%(n=10) | 通关 |
| 第34局 | 血15/攻4/甲5 | 65 | 100%(n=10) | 90%(n=10) | 70%(n=10) | 通关 |
| 第37局 | 血15/攻5/甲5 | 73 | 100%(n=10) | 90%(n=10) | 90%(n=10) | 通关 |
| 第40局 | 血15/攻5/甲5 | 31 | 100%(n=10) | 90%(n=10) | 90%(n=10) | 通关 |
| 第43局 | 血15/攻5/甲6 | 126 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 止步第3层 |
| 第46局 | 血18/攻5/甲6 | 84 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
| 第49局 | 血18/攻6/甲6 | 42 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
| 第52局 | 血18/攻6/甲6 | 150 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
| 第55局 | 血18/攻6/甲6 | 33 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
| 第58局 | 血18/攻6/甲7 | 141 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
## ④ 换算率标定(OFAT 注入档 vs 白板,同种子配对逐关条件通关率差)
### 生命上限(每级 flat +3)
| 注入档 | 画像 | 层 | 配对局数 | 条件率 白板→档 | 差(点) | 折每级(点/级) |
|------------|--------|--------|----------|----------------|-------------|---------------|
| +3(1 级) | 普通档 | 第一层 | 100 | 53.0→60.0 | +7.0 ±2.6 | +7.0 ±2.6 |
| +3(1 级) | 普通档 | 第二层 | 100 | 1.9→6.7 | +4.8 ±2.8 | +4.8 ±2.8 |
| +3(1 级) | 普通档 | 第三层 | 100 | 0.0→25.0 | +25.0 ±18.4 | +25.0 ±18.4 |
| +3(1 级) | 完美档 | 第一层 | 100 | 86.0→90.0 | +4.0 ±2.0 | +4.0 ±2.0 |
| +3(1 级) | 完美档 | 第二层 | 100 | 17.4→26.7 | +9.2 ±3.2 | +9.2 ±3.2 |
| +3(1 级) | 完美档 | 第三层 | 100 | 0.0→12.5 | +12.5 ±6.7 | +12.5 ±6.7 |
| +6(2 级) | 普通档 | 第一层 | 100 | 53.0→65.0 | +12.0 ±3.2 | +6.0 ±1.6 |
| +6(2 级) | 普通档 | 第二层 | 100 | 1.9→20.0 | +18.1 ±4.9 | +9.1 ±2.4 |
| +6(2 级) | 普通档 | 第三层 | 100 | 0.0→7.7 | +7.7 ±7.1 | +3.8 ±3.6 |
| +6(2 级) | 完美档 | 第一层 | 100 | 86.0→94.0 | +8.0 ±2.7 | +4.0 ±1.3 |
| +6(2 级) | 完美档 | 第二层 | 100 | 17.4→34.0 | +16.6 ±3.9 | +8.3 ±2.0 |
| +6(2 级) | 完美档 | 第三层 | 100 | 0.0→18.8 | +18.8 ±7.1 | +9.4 ±3.5 |
### 基础攻击(每级 flat +1)
| 注入档 | 画像 | 层 | 配对局数 | 条件率 白板→档 | 差(点) | 折每级(点/级) |
|------------|--------|--------|----------|----------------|-------------|---------------|
| +1(1 级) | 普通档 | 第一层 | 100 | 53.0→68.0 | +15.0 ±3.9 | +15.0 ±3.9 |
| +1(1 级) | 普通档 | 第二层 | 100 | 1.9→16.2 | +14.3 ±4.3 | +14.3 ±4.3 |
| +1(1 级) | 普通档 | 第三层 | 100 | 0.0→18.2 | +18.2 ±11.5 | +18.2 ±11.5 |
| +1(1 级) | 完美档 | 第一层 | 100 | 86.0→88.0 | +2.0 ±2.8 | +2.0 ±2.8 |
| +1(1 级) | 完美档 | 第二层 | 100 | 17.4→30.7 | +13.2 ±4.5 | +13.2 ±4.5 |
| +1(1 级) | 完美档 | 第三层 | 100 | 0.0→22.2 | +22.2 ±8.2 | +22.2 ±8.2 |
| +2(2 级) | 普通档 | 第一层 | 100 | 53.0→84.0 | +31.0 ±4.8 | +15.5 ±2.4 |
| +2(2 级) | 普通档 | 第二层 | 100 | 1.9→21.4 | +19.5 ±4.4 | +9.8 ±2.2 |
| +2(2 级) | 普通档 | 第三层 | 100 | 0.0→16.7 | +16.7 ±8.6 | +8.3 ±4.3 |
| +2(2 级) | 完美档 | 第一层 | 100 | 86.0→95.0 | +9.0 ±2.8 | +4.5 ±1.4 |
| +2(2 级) | 完美档 | 第二层 | 100 | 17.4→40.0 | +22.6 ±4.8 | +11.3 ±2.4 |
| +2(2 级) | 完美档 | 第三层 | 100 | 0.0→18.4 | +18.4 ±6.2 | +9.2 ±3.1 |
### 护甲等级(每级 flat +1)
| 注入档 | 画像 | 层 | 配对局数 | 条件率 白板→档 | 差(点) | 折每级(点/级) |
|------------|--------|--------|----------|----------------|-----------|---------------|
| +1(1 级) | 普通档 | 第一层 | 100 | 53.0→53.0 | +0.0 ±0.0 | +0.0 |
| +1(1 级) | 普通档 | 第二层 | 100 | 1.9→1.9 | +0.0 ±0.0 | +0.0 |
| +1(1 级) | 普通档 | 第三层 | 100 | 0.0→0.0 | +0.0 ±0.0 | +0.0 |
| +1(1 级) | 完美档 | 第一层 | 100 | 86.0→89.0 | +3.0 ±1.7 | +3.0 ±1.7 |
| +1(1 级) | 完美档 | 第二层 | 100 | 17.4→18.0 | +0.5 ±1.2 | +0.5 ±1.2 |
| +1(1 级) | 完美档 | 第三层 | 100 | 0.0→0.0 | +0.0 ±0.0 | +0.0 |
| +2(2 级) | 普通档 | 第一层 | 100 | 53.0→55.0 | +2.0 ±1.4 | +1.0 ±0.7 |
| +2(2 级) | 普通档 | 第二层 | 100 | 1.9→3.6 | +1.7 ±1.8 | +0.9 ±0.9 |
| +2(2 级) | 普通档 | 第三层 | 100 | 0.0→0.0 | +0.0 ±0.0 | +0.0 |
| +2(2 级) | 完美档 | 第一层 | 100 | 86.0→89.0 | +3.0 ±1.7 | +1.5 ±0.9 |
| +2(2 级) | 完美档 | 第二层 | 100 | 17.4→20.2 | +2.8 ±2.0 | +1.4 ±1.0 |
| +2(2 级) | 完美档 | 第三层 | 100 | 0.0→0.0 | +0.0 ±0.0 | +0.0 |
### 三行汇总与建议投值
| 属性 | 现行表值(点/级) | 实测每级(点/级, 合并) | 建议投值 | 状态 |
|----------|-----------------|-----------------------|----------|--------------|
| 生命上限 | 6 | +6.0 ±0.7 | 6 | 与表值一致 ✓ |
| 基础攻击 | 9 | +8.8 ±0.8 | 9 | 与表值一致 ✓ |
| 护甲等级 | 1 | +1.2 ±0.4 | 1 | 与表值一致 ✓ |
- 折算语义:每级该属性强化 ≈ 通关率带平移量(百分点)——配对同种子读数,护甲行即解锁后实测(强条目)
- 合并口径:逆方差加权跨(档位×画像×层,配对 bootstrap SE);带平移为线性单值近似——近带顶/带底的读数受天花板压缩,判读看 ④ 明细表
@@ -0,0 +1,39 @@
#!/bin/bash
# 换算率标定批·全量采集脚本(2026-09-23)
# 10 次采集顺序执行:7 个 OFAT 注入档直入口(n=100×双画像×两层,同 seed0 配对)
# + 3 个花费序战役(k=60×双画像)。产物 = production/qa/conversion-calibration/ 下
# 各档 .log/.vjson + 合并 calibration.raw.jsonl(判定端 --from-raw 消费)。
set -u
GODOT=/d/code/godot/Godot_v4.7.2-stable_win64_console.exe
SLICE=/d/code/g-plan2-conversion-calibration/game
QA=/d/code/g-plan2-conversion-calibration/production/qa/conversion-calibration
mkdir -p "$QA"
cd "$SLICE" || exit 1
run() {
local name=$1; shift
local t0=$(date +%s)
"$GODOT" --headless --path . --script res://smoke/verifier_batch.gd -- "$@" > "$QA/$name.log" 2>&1
local rc=$?
grep '^VJSON ' "$QA/$name.log" > "$QA/$name.vjson"
local rows=$(wc -l < "$QA/$name.vjson")
local errs=$(grep -cE 'SCRIPT ERROR|Parse Error' "$QA/$name.log")
echo "[$(date +%H:%M:%S)] done $name rc=$rc rows=$rows errs=$errs $(( $(date +%s) - t0 ))s"
}
echo "=== 换算率标定采集开跑 $(date +%F' '%H:%M:%S) ==="
run base n=100 levels=1,2 only=level seed0=8000
run hp3 n=100 levels=1,2 only=level seed0=8000 inject=max_hp:3
run hp6 n=100 levels=1,2 only=level seed0=8000 inject=max_hp:6
run atk1 n=100 levels=1,2 only=level seed0=8000 inject=atk:1
run atk2 n=100 levels=1,2 only=level seed0=8000 inject=atk:2
run ac1 n=100 levels=1,2 only=level seed0=8000 inject=armor_class:1
run ac2 n=100 levels=1,2 only=level seed0=8000 inject=armor_class:2
run camp_hp k=60 only=campaign seed0=8000 spend=hp_first
run camp_atk k=60 only=campaign seed0=8000 spend=atk_first
run camp_ac k=60 only=campaign seed0=8000 spend=armor_first
cat "$QA"/base.vjson "$QA"/hp3.vjson "$QA"/hp6.vjson "$QA"/atk1.vjson "$QA"/atk2.vjson \
"$QA"/ac1.vjson "$QA"/ac2.vjson "$QA"/camp_hp.vjson "$QA"/camp_atk.vjson "$QA"/camp_ac.vjson \
| sed 's/^VJSON //' > "$QA/calibration.raw.jsonl"
echo "=== 合并完成:$(wc -l < "$QA/calibration.raw.jsonl") 局 → $QA/calibration.raw.jsonl ==="
@@ -0,0 +1,40 @@
#!/bin/bash
# 换算率标定批·新口径重测采集脚本(2026-09-23)
# 前提:单关直入口口径退役 + 冒险条件口径生效 + L2 收紧/关间大奖励 10→5 已落 master——
# 首轮(直入口面、旧数值)读数作废,本脚本在冒险条件口径上全量重测。
# 10 次采集顺序执行:白板 + 6 个 OFAT 注入档冒险(na=100×双画像,同 seed0 配对)
# + 3 个花费序战役(k=60×双画像)。产物合并 calibration.raw.jsonl(判定端 --from-raw 消费)。
set -u
GODOT=/d/code/godot/Godot_v4.7.2-stable_win64_console.exe
SLICE=/d/code/g-plan2-conversion-calibration/game
QA=/d/code/g-plan2-conversion-calibration/production/qa/conversion-calibration
mkdir -p "$QA"
cd "$SLICE" || exit 1
run() {
local name=$1; shift
local t0=$(date +%s)
"$GODOT" --headless --path . --script res://smoke/verifier_batch.gd -- "$@" > "$QA/$name.log" 2>&1
local rc=$?
grep '^VJSON ' "$QA/$name.log" > "$QA/$name.vjson"
local rows=$(wc -l < "$QA/$name.vjson")
local errs=$(grep -cE 'SCRIPT ERROR|Parse Error' "$QA/$name.log")
echo "[$(date +%H:%M:%S)] done $name rc=$rc rows=$rows errs=$errs $(( $(date +%s) - t0 ))s"
}
echo "=== 新口径重测开跑 $(date +%F' '%H:%M:%S) ==="
run adv_base na=100 only=adventure seed0=8000
run adv_hp3 na=100 only=adventure seed0=8000 inject=max_hp:3
run adv_hp6 na=100 only=adventure seed0=8000 inject=max_hp:6
run adv_atk1 na=100 only=adventure seed0=8000 inject=atk:1
run adv_atk2 na=100 only=adventure seed0=8000 inject=atk:2
run adv_ac1 na=100 only=adventure seed0=8000 inject=armor_class:1
run adv_ac2 na=100 only=adventure seed0=8000 inject=armor_class:2
run camp_hp k=60 only=campaign seed0=8000 spend=hp_first
run camp_atk k=60 only=campaign seed0=8000 spend=atk_first
run camp_ac k=60 only=campaign seed0=8000 spend=armor_first
cat "$QA"/adv_base.vjson "$QA"/adv_hp3.vjson "$QA"/adv_hp6.vjson "$QA"/adv_atk1.vjson "$QA"/adv_atk2.vjson \
"$QA"/adv_ac1.vjson "$QA"/adv_ac2.vjson "$QA"/camp_hp.vjson "$QA"/camp_atk.vjson "$QA"/camp_ac.vjson \
| sed 's/^VJSON //' > "$QA/calibration.raw.jsonl"
echo "=== 合并完成:$(wc -l < "$QA/calibration.raw.jsonl") 局 → $QA/calibration.raw.jsonl ==="
@@ -0,0 +1,33 @@
#!/bin/bash
# 换算率标定批·修复后重采(2026-09-23)
# _defender_ac 护甲断链接线修复后,护甲注入两档与三条战役轨迹(甲轴购买后段生效)需重采;
# base/hp3/hp6/atk1/atk2 五档注入甲=0、修复逐位不变,沿用首轮产物。
set -u
GODOT=/d/code/godot/Godot_v4.7.2-stable_win64_console.exe
SLICE=/d/code/g-plan2-conversion-calibration/game
QA=/d/code/g-plan2-conversion-calibration/production/qa/conversion-calibration
mkdir -p "$QA"
cd "$SLICE" || exit 1
run() {
local name=$1; shift
local t0=$(date +%s)
"$GODOT" --headless --path . --script res://smoke/verifier_batch.gd -- "$@" > "$QA/$name.log" 2>&1
local rc=$?
grep '^VJSON ' "$QA/$name.log" > "$QA/$name.vjson"
local rows=$(wc -l < "$QA/$name.vjson")
local errs=$(grep -cE 'SCRIPT ERROR|Parse Error' "$QA/$name.log")
echo "[$(date +%H:%M:%S)] done $name rc=$rc rows=$rows errs=$errs $(( $(date +%s) - t0 ))s"
}
echo "=== 修复后重采开跑 $(date +%F' '%H:%M:%S) ==="
run ac1 n=100 levels=1,2 only=level seed0=8000 inject=armor_class:1
run ac2 n=100 levels=1,2 only=level seed0=8000 inject=armor_class:2
run camp_hp k=60 only=campaign seed0=8000 spend=hp_first
run camp_atk k=60 only=campaign seed0=8000 spend=atk_first
run camp_ac k=60 only=campaign seed0=8000 spend=armor_first
cat "$QA"/base.vjson "$QA"/hp3.vjson "$QA"/hp6.vjson "$QA"/atk1.vjson "$QA"/atk2.vjson \
"$QA"/ac1.vjson "$QA"/ac2.vjson "$QA"/camp_hp.vjson "$QA"/camp_atk.vjson "$QA"/camp_ac.vjson \
| sed 's/^VJSON //' > "$QA/calibration.raw.jsonl"
echo "=== 合并完成:$(wc -l < "$QA/calibration.raw.jsonl") 局 → $QA/calibration.raw.jsonl ==="