From ea1df25379d63a358804736a14bfcec34869387e Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Sat, 3 Oct 2026 19:42:54 +0800 Subject: [PATCH] =?UTF-8?q?MC=E9=87=87=E9=9B=86=E6=A1=A3=E4=BD=8D=E5=9B=9B?= =?UTF-8?q?=E6=A1=A3=E7=AB=8B=E8=A7=84=E8=90=BD=E6=96=87=EF=BC=882026-10-0?= =?UTF-8?q?3=20=E7=94=A8=E6=88=B7=E5=9B=9B=E6=A1=A3+=E4=B8=80=E6=A1=A3?= =?UTF-8?q?=E4=BB=85=E7=94=A8=E6=88=B7=E5=8F=91=E8=B5=B7=E8=A3=81=E5=AE=9A?= =?UTF-8?q?=EF=BC=8C=E6=89=BF=E6=96=B9=E6=A1=88A=EF=BC=89=EF=BC=9ACLAUDE.m?= =?UTF-8?q?d=20=E7=A1=AC=E7=BA=A2=E7=BA=BF=E5=A2=9EMC=E9=87=87=E9=9B=86?= =?UTF-8?q?=E6=A1=A3=E4=BD=8D=E7=BB=86=E5=88=99=E6=9D=A1+sim-data=20README?= =?UTF-8?q?=20=E5=A2=9EMC=E9=87=87=E9=9B=86=E6=A1=A3=E4=BD=8D=E8=A1=A8?= =?UTF-8?q?=E8=8A=82=EF=BC=88=E4=B8=80=E6=A1=A3=E8=B0=83=E7=A0=94=E6=80=BB?= =?UTF-8?q?=E9=87=8F>40=E4=BB=85=E7=94=A8=E6=88=B7=E5=8F=91=E8=B5=B7/?= =?UTF-8?q?=E4=BA=8C=E6=A1=A3=E9=AA=8C=E8=AF=81=E2=89=A440=E6=AF=8F?= =?UTF-8?q?=E6=A1=A3=E2=89=A420/=E4=B8=89=E6=A1=A3=E5=B0=8F=E8=B0=83?= =?UTF-8?q?=E2=89=A420=E6=AF=8F=E6=A1=A3=E2=89=A410/=E5=9B=9B=E6=A1=A3?= =?UTF-8?q?=E5=BE=AE=E9=87=8F=E2=89=A45=EF=BC=9B=E5=88=A4=E8=AF=BB?= =?UTF-8?q?=E5=8A=9B=E7=BB=91=E5=AE=9A+=E5=90=8Cseed0=E9=85=8D=E5=AF=B9+?= =?UTF-8?q?=E6=94=B9=E5=89=8D=E9=94=9A=E7=A6=81=E8=A1=A5=E8=B7=91+?= =?UTF-8?q?=E5=AF=B9=E6=8B=8D=E9=9B=B6=E6=96=B0=E8=B7=91+=E8=AF=BB?= =?UTF-8?q?=E6=95=B0=E7=BC=BA=E9=99=B7=E2=89=A0=E8=BD=A8=E8=BF=B9=E5=A4=B1?= =?UTF-8?q?=E6=95=88+=E2=89=A560=E5=B1=80pilot=E5=89=8D=E7=BD=AE+=E4=BA=8C?= =?UTF-8?q?=E4=B8=89=E5=9B=9B=E6=A1=A3=E4=BC=9A=E8=AF=9D=E7=B4=AF=E8=AE=A1?= =?UTF-8?q?=E2=89=A420=E5=88=86=E9=92=9F+=E9=94=9A=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E7=BB=9F=E4=B8=80=E7=BA=AFJSONL=EF=BC=9B=E8=80=97=E6=97=B6?= =?UTF-8?q?=E8=B4=B9=E7=8E=87=E4=B8=8E=E7=BB=9F=E8=AE=A1=E5=9F=BA=E5=87=86?= =?UTF-8?q?=E5=A4=96=E9=94=9A=E9=BD=90=E8=BD=BD=EF=BC=89=EF=BC=9B=E7=BA=AF?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E9=9B=B6=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CLAUDE.md | 1 + sim-data/README.md | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/CLAUDE.md b/CLAUDE.md index e2ab56ac..197fe073 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -68,6 +68,7 @@ - **worktree 铁律**:主工作区禁止直接改动与提交(细则见上节;并行会话各占 worktree 互不踩踏) - **测试执行两入口铁规(2026-10-02 用户立规)**:测试类执行——冒烟测试、单元测试(tests/run_all)、模拟验证(MC/verifier/调参批量工具)、场景探针等一切跑游戏的验证调用——只有两个触发入口:①**迭代 loop 开发**(冒烟挂迭代开发完成后的出口/落籍闸,loop 内过程性验证属开发工作本身);②**用户主动点名**。除此之外(问答/调研/文档/审查/零散小改等短小会话)一律零测试,不得擅自调用任何测试;确需测试支撑结论时先请示,以静态阅读/推理作答并注明未跑测。**MC/模拟验证触发细则(2026-10-02 用户确认,2026-10-03 补落文——出处:迭代 9 出口批 81000 锚误跑质询)**:MC/verifier 仅在**数值验证场景**触发(改数值前后取证);normal 档为主、perfect 按需;**无数值改动的会话禁跑 MC**——结构位移类「存档锚」须先向用户请示定性再跑;任务书预设步骤的前提消失时(如「带值裁定后重锚」实际未投值)停问勿照字面执行。**分级周期口径(2026-09-26 用户裁定,2026-10-03 自 06-待办清单收编)**:轻闸(run_smoke 全量+ui_input_probe;触碰 presentation 加跑 ui_click_probe+ui_layout_probe)可随变更执行;重闸(B 档视口截图像素断言〔game/smoke/shot_probe.gd〕、C 档黄金图对比〔tools/golden_compare.py〕、真人实机目检、MC 大扫描)属**周期执行**——统一在表现批收口或固定周检跑,不进每次变更 +- **MC 采集档位细则(2026-10-03 用户四档立规,承接 MC 触发细则)**:MC 局数按用途四档硬闸(表见 `sim-data/README.md`「MC 采集档位表」):**一档·调研**=总量 >40(100+ 为常用锚量级;60/档=结构回归、100=95% CI ±9.8pp、170=±7.5pp=15pp 带半宽、400 满档=±4.9pp 贴边裁决;normal 独立满档 ~8 分钟同属一档)**只能由用户发起**——任务书/计划书/agent 均无权发起,非用户发起一律不构成一档授权;**二档·数值修改验证**=总量 ≤40、每档 ≤20(仅 ≥~40pp 结构位移可判,同种子配对下 ~30pp);**三档·小调**=总量 ≤20、每档 ≤10(只测不判);**四档·微量**=总量 ≤5(sanity 门,零统计判读)。四档仅承接 MC 触发细则的数值验证场景,两入口铁规不变;超档=停机呈报,禁在二/三/四档下带值结论(窗口不足如实挂起)。改前/改后锚同 seed0 配对、改前锚留盘禁补跑;对拍断言零新跑(复验用锚内子集 ≤20);读数缺陷(零 gameplay/RNG 触碰)禁整套重跑、走事件流重构补算;≥60 局采集先 N=5 pilot 校验字段;二/三/四档会话累计 ≤20 分钟;零数值改动=零 MC - **中间产物吸收即死(2026-10-01 立规)**:中间文档(批任务书/机检报告/调研审计报告/模拟读数/迭代计划书/目检清单)寿命=迭代寿命——结论先吸收进正主文档、未决项先迁 `design/gdd/06-待办清单.md` 或 roadmap,然后文件即删,且永不提交 git;活文档=唯一事实源,git=变更记录。细则见 `design/dev/doc-conventions.md` 第 11 节 - **数值单一事实源**:玩法数值只存 `data/tables/`(.tres),经 `ConfigDB` autoload 类型化单点读取;禁止数值字面量与自建 `load()` 表路径 diff --git a/sim-data/README.md b/sim-data/README.md index 616f2555..1b6b5dcc 100644 --- a/sim-data/README.md +++ b/sim-data/README.md @@ -12,9 +12,26 @@ 其余 8 份 `runsum_*.jsonl`,文件名=批+锚名+日期可辨(迭代 8/9/10、numfix 各代)。出度≤2 重建后旧锚结构已失义,仅留换代对照;处置挂中间产物死亡清单随批处理。 +## MC 采集档位表(2026-10-03 用户四档立规——按用途定局数上限,禁惯例继承禁计划书自拟) + +依据:单比例样本量 n=z²p(1−p)/E² / 两比例功效公式 / 零事件规则三(外部统计基准出处见 `design/research/MC成本调研与规制方案-2026-10-03.md` §3/§附);单局费率 normal 1.21s / perfect 8.47s(2026-10-02 性能报告实测;on 态同量级按 1.5× 预留)。 + +| 档 | 用途(唯一触发面) | 局数上限 | 单次耗时 | 判读力(能下什么结论) | +|---|---|---|---|---| +| 一档·调研 | 调研/数值分析 | 总量 >40(100+ 为常用锚量级);N 按分析方案:60/档=结构回归(80% 功效 ≥25pp)/ 100=95% CI ±9.8pp / 170=±7.5pp(15pp 带半宽)/ 400 满档=±4.9pp 贴边裁决(normal 独立满档 ~8 分钟同属一档) | 16–65 分钟 | 带值判定/CI 结论仅本档可下;≥60 局须 N=5 pilot 前置 | +| 二档·验证 | 数值修改后回归验证 | 总量 ≤40(每档 ≤20) | ~3.2 分钟 | 结构性大位移可判(≥~40pp;改前/改后同种子配对下 ~30pp)——带值判读不在本档 | +| 三档·小调 | 小调整后快检 | 总量 ≤20(每档 ≤10) | ~1.6 分钟 | 只测不判——仅灾难级破坏(通关率腰斩级)可判 | +| 四档·微量 | 微调后确认没大问题 | 总量 ≤5 | <1 分钟 | 零统计判读——通过判据=不崩+RUNSUM 字段完整+方向不反直觉 | + +**一档触发权(2026-10-03 补充裁定)**:一档只能由**用户发起**——任务书/计划书/agent 均无权发起,非用户发起的采集一律不构成一档授权;时长随用户发起时确认。 + +配套纪律:①档位上限=硬闸,超档停机呈报;窗口不足如实挂起(禁在二/三/四档下带值结论);②改前/改后锚**同 seed0 配对**、改前锚留盘即用禁补跑;③对拍断言=0 新跑(同种子复放,出口闸复验用锚内子集 ≤20);④读数缺陷≠轨迹失效——零 gameplay/RNG 触碰的修复走事件流重构补算,禁整套重跑;⑤同批同码态锚只取一次,「调整一下就重跑」禁止;⑥会话累计:二/三/四档合计 ≤20 分钟(一档时长随用户发起确认);⑦零数值改动=零 MC(现行铁规重申);⑧锚文件自本规起新锚统一=去前缀纯 JSONL、按种子升序(81000 旧形态带 RUNSUM 前缀+进度行,analyze.py 直读会炸),批耗时随锚记 active.md 台账。 + +四档仅承接 MC 触发细则的数值验证场景,两入口铁规不变。 + ## 工具与格式 - 采集:`game/smoke/adventure_monte_carlo.gd`(git)——参数 n/seed0/policy,seed 逐局独立 -- 锚格式:stdout 捕获,每局一行 `RUNSUM` JSON(81000 锚=800 行=400×2 档) +- 锚格式:stdout 捕获,每局一行 `RUNSUM` JSON(81000 锚=800 行=400×2 档);自 2026-10-03 档位规起新锚统一=去前缀纯 JSONL 按种子升序(旧形态 analyze.py 直读会炸,见上「MC 采集档位表」配套纪律⑧) - 分析:`analyze.py`+`growth_model.py`(git)。⚠ analyze.py 默认输入名系首批遗留(runsum_600.jsonl 已不存在),跑现行锚须 `RUNSUM=<锚文件>` 指定,其完成度%段对现行锚未验证 - fulllog 全量日志不留盘(.gitignore 排除);`iteration_log.md` 系 Package B 时代批日志留盘不入库,新模拟批记录在 active.md 台账