From 0c33c3df1266574a0ebd5ca639537baec3edbab6 Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Thu, 29 Oct 2026 02:58:56 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E8=AE=B0(=E4=BC=9A=E8=AF=9D=E4=B8=89?= =?UTF-8?q?=E8=A3=81=E5=86=B3):=20=E5=BE=85=E5=8A=9E=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=B8=89=E6=9D=A1=E2=80=94=E2=80=94=E2=91=A0?= =?UTF-8?q?=E5=90=88=E5=9B=9E=E9=97=B8=E5=85=B3=E8=81=94=E6=A1=A3:=20?= =?UTF-8?q?=E6=94=B6=E5=8F=A3=E8=B7=91=E6=89=B9=E6=8C=89=E3=80=8C=E5=8D=A1?= =?UTF-8?q?=E7=89=87=E7=94=B3=E6=8A=A5=E2=88=AAdiff=E6=8E=A8=E5=AF=BC?= =?UTF-8?q?=E3=80=8D=E9=80=89=E5=85=B3=E8=81=94=E6=B5=8B=E8=AF=95=E6=97=8F?= =?UTF-8?q?,=E4=B8=89=E4=BB=B6=E4=BF=9D=E9=99=A9=E6=81=92=E8=B7=91,?= =?UTF-8?q?=E6=A8=AA=E5=88=87=E9=9D=A2=E5=9B=9E=E8=90=BD=E5=85=A8=E9=87=8F?= =?UTF-8?q?,=E5=9B=9E=E6=89=A7=E5=8A=A0scope,=E5=90=88=E5=85=A5=E5=90=8E?= =?UTF-8?q?=E5=85=A8=E9=87=8F=E5=85=9C=E5=BA=95=E5=BE=85=E8=A3=81;?= =?UTF-8?q?=E2=91=A1=E9=97=B8=E6=9C=BA=E7=BC=96=E6=8E=92=E5=BF=AB=E9=80=9F?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5:=20=E8=BF=9E=E7=BB=ADN=E5=A5=97=E4=BB=B6?= =?UTF-8?q?=E8=B6=85=E6=97=B6=E4=B8=AD=E6=AD=A2=E6=95=B4=E8=BD=AE,?= =?UTF-8?q?=E7=BA=A2=E6=A0=91=E4=B8=8D=E5=86=8D=E7=A3=A82h;=E2=91=A2?= =?UTF-8?q?=E8=83=BD=E5=8A=9B=E6=B8=85=E5=8D=95=E6=94=B9=E7=89=88:=20?= =?UTF-8?q?=E9=AA=8C=E8=AF=81=E8=B4=A6=E6=9C=AC=E6=94=B9=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E6=8C=87=E5=AF=BC=E5=9C=B0=E5=9B=BE,=E5=9B=9B=E5=88=97?= =?UTF-8?q?=E5=88=B6=E5=88=A0=E6=89=B9=E6=AC=A1/=E7=BC=BA=E5=8F=A3?= =?UTF-8?q?=E5=88=97,=E5=BA=9F=E6=BB=9E=E5=90=8E=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E8=BF=AD=E4=BB=A3,=E5=86=99=E5=8D=A1=E6=97=B6=E6=9C=AC?= =?UTF-8?q?=E6=89=B9=E8=83=BD=E5=8A=9B=E8=A1=8C=E5=85=A5=E8=A1=A8=E4=B8=94?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=90=8D=E5=8D=A1=E9=87=8C=E5=AE=9A=E6=AD=BB?= =?UTF-8?q?,=E5=AE=9E=E7=8E=B0=E7=85=A7=E5=8D=95=E8=90=BD=E5=90=8D;?= =?UTF-8?q?=E4=B8=89=E6=9D=A1=E5=9D=87=E5=BE=85=E7=94=A8=E6=88=B7=E5=8F=91?= =?UTF-8?q?=E4=BB=A4,=E6=B8=85=E5=8D=95=E6=94=B9=E7=89=88=E8=AF=95?= =?UTF-8?q?=E7=82=B9=3D=E4=B8=8B=E6=AC=A1=E5=86=99=E5=8D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 待办清单.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/待办清单.md b/待办清单.md index 7ed7d641..0c00bc45 100644 --- a/待办清单.md +++ b/待办清单.md @@ -2,6 +2,32 @@ 本清单是流水线的唯一登记处:要做的事先在此登记一条,随流水线段推进改状态,做完整条删除;各系统文档的「待办」节只留一行指路存根,不再自建条目。条目格式(标题=登记元数据含可选优先级,正文=实况/缺口/改动面/状态四属性)与状态机以 [doc-conventions §12.1](design/engineering/doc-conventions.md) 为权威。 +#### 合回闸关联档——收口跑批按改动关联面选测(2026-10-29 登记,来源=会话提及) + +**实况**:起因=2026-10-29 迭代 41 收口跑批遇红树空磨(公共件解析错致每套件烧满 120 秒超时,单元段预计 2h+,会话全程静默)。用户裁:合入不再强制全量,改为「修改内容关联的测试都跑通即可」。设计要点(会话已闭合):①收口跑批范围=需求卡片对照表申报的测试族 ∪ 按改动文件机械推导的关联测试族(并集执行,防申报漏标);②三件廉价保险恒跑不降(冒烟/系统测试/静态扫描,合计约 1.5 分钟);③横切面改动(config_db、autoload、存档、RNG、数据表等公共件)映射回落全量;④回执加 scope 字段标注关联档,合回闸校验逻辑不动(树对齐/祖先/域覆盖照验);⑤绿树窄批收口约 3–4 分钟(现全量约 10 分钟)。现行「影响面选闸」(测量面批 SKIP 探针/渲染)是本条推广前的特例。规则同步义务:AGENTS.md「交付前验收」句与 process-conventions §3 合回闸细则同批改写,禁只改闸不改规则。关联条目:「闸机编排快速失败」(本条管跑多宽,彼条管红树磨多久,正交互补)。执行=用户发令;若选闸逻辑下沉 run_all.gd 则含游戏代码面、须走 worktree 批。未决点:「合入后自动补跑一次全量作兜底」待用户裁(折中案=合入前快查+合入后兜底;激进案=合入前只跑关联档)。证据=iter41 worktree 收口跑批现场日志(game/tests/.gates/unit.log 逐套件「超时挂死(120s),进程树已整树回收」记录,2026-10-29),与「迭代 41 测试债修复」条互证。 + +**改动面**:工具代码 + +**状态**:待执行 + +#### 闸机编排快速失败——连续套件超时中止整轮(2026-10-29 登记,来源=会话提及) + +**实况**:单元与集成编排器现行逐套件 120 秒超时回收,红树(如公共件解析错致全部套件挂死)下单元段最长 64×2 分钟≈2h08m,整轮磨完才出红。用户裁加快速失败:连续 N 个套件超时(N 实现期定,3 起步)即中止整轮并汇总已见红因,红树几分钟出结论。run_all.gd 属代码面,走 worktree 批;执行=用户发令。证据=iter41 worktree 收口跑批现场日志(run_all_10→31 逐套件恰以 2 分钟间隔落盘=每套烧满超时,2026-10-29),与「迭代 41 测试债修复」条互证。 + +**改动面**:游戏代码 + +**状态**:待执行 + +#### 能力清单改版——验证账本改实现指导地图(2026-10-29 登记,来源=会话提及) + +**实况**:用户裁推翻「验证与清单体系整改」阶段 1 定稿中的滞后条款(清单滞后一个迭代属设计后果)。新定位=实现指导+阅读导航,不是验证账本:清单只宣布「要验证什么」,是义务声明,不记「是否已验证/是否跑过」(账归现行验收闭合链——卡片对照表逐条挂断言+合回前独立审计抓「写了没落」)。设计要点:①四列制:能力|系统|真实入口|代表用例(测试文件:函数)——删「最后验证批次」与「缺口」两列(没落地的验证需求不进地图,进待办清单);②废滞后:写需求卡片时本批新增能力行当场入表,计划测试文件名与函数名卡里定死;③实现照单落名:测试函数名以清单为唯一依据,名实不符=卡片没写清,停卡退回;④收尾只核对表上名字与实际落地一致、退役能力删行。改写面:test-conventions §8.3 维护锚与 §8.9 三层模型、game/tests/README.md 能力清单四列重构、req-card/iter 技能同步、pipeline_gate 对照表机检口径(「能力行」列与 capability_audit 口径随本条复核)。 + +**缺口**:无待裁点;试点=下一张真卡试运行一轮再定稿(规则修订须真实任务评估)。 + +**改动面**:文档 + +**状态**:待文档设计 + #### 验证与清单体系整改——四方向分阶段推进(2026-10-28 登记,来源=会话提及) **实况**:用户裁「验证及清单不合理」,经调研定四方向全做、分阶段推进:A 粒度整改(清单从断言级升到能力/行为级,逐断言账本退役)→ B 精简裁断(在新粒度上规则驱动删并)→ C 流程风险分级(P0/P1/P2 验收强度、审计抽样)→ D 文档减肥(待办条目限长、历史归 git);测试有效性度量暂不处理。阶段 0 盘点已毕:验证集清单零机器闸依赖(run_all_gates/hooks/五技能均不引用,仅 test-conventions §8.3 维护锚+2 份过程报告引用),退役无闸改动;但测试名尾缀仅覆盖 28/47 个有断言文件(19 个零尾缀,含 seal_polarity 69 条、variant_placement 42 条、roll_multiplier 35 条),故能力清单只能按「能力→代表用例」建,不要求逐断言尾缀。对照表列改动触 pipeline_gate+req-card/iter 两技能;待办正文压缩不触机检(无长度判据)。盘点明细见 reports/盘点-验证与清单体系-2026-10-28.md。**阶段 1 设计已闭合(2026-10-28 用户四裁点)**:能力清单 v1 落 `game/tests/README.md`——按系统归属与玩家旅程排序,首期核心四域(存档与随机、冒险循环、战斗结算、奖励与经济)29 行+跨域条件闸 1 行,共 30 行,每行真实入口+2–3 个代表用例(`文件:函数`),维护规则为每批收口核对本批受影响行并刷新「最后验证批次」;`design/engineering/test-conventions.md` §8.3 维护锚改写为「验证集清单整册冻结、能力清单承接覆盖索引、阶段 2 精简后删除」;`game/tests/验证集清单.md` 头注同步冻结声明,冻结快照(基点 `b9260138`/1587 条)留作阶段 2 对账基准;`tools/extract_checks.py` 保留为审计工具,不再承担常态同步。**阶段 2 已执行闭合(2026-10-28 C 档合回)**:存量断言精简 C 档 6 组手写断言族并为 7 个表驱动站点(33→7),冻结清单对账 1587→1561,验证集清单随阶段 2 完成退役(覆盖索引归能力清单,维护锚 test-conventions §8.3),删并申报与件核见 reports/工程改动报告-存量断言精简C档-2026-10-28.md;阶段 3–4 待各自设计推进:风险分级与审计抽样规则、条目限长是否入 pipeline_gate 均未定。**2026-10-29 阶段 1 落地定稿(用户三裁)**:①能力清单与覆盖域表落 `game/tests/README.md`,独立成表、不与 GDD 验收标准合并;②GDD 纯度判红——系统与概念文档全文禁写实现细节(代码路径/测试文件名/断言名),唯一例外=配置文件索引(`game/data/tables/*.tres` 表路径与表名);③能力清单维护归写卡段——写需求卡片时增删能力行并刷新「最后验证批次」,实现批禁写该文件(清单按规则滞后一个迭代,属设计后果)。三层模型(验收意图/覆盖索引/执行证据)与四法则落 test-conventions §8.9;落地分五批:①三份规约+AGENTS.md 红线+本条实况(本批);②README 覆盖域表+三域能力行补齐;③`tools/capability_audit.py` 文档域新闸(3a 普通工具入库/3b 接闸+基线,worktree);④pipeline_gate 对照表加「能力行」列+req-card/iter 两技能同步;⑤GDD 存量实现细节清理(28 篇约 98 处,逐处去向表过用户目后落笔)。**2026-10-29 阶段 1 五批全部落地**:①032d923c;②5377b2ce;③`tools/capability_audit.py` 入库 ae3c99e3+接闸上电 915222fa(文档域闸 08e 能力审计,纯度红清零后才上电);④f3263444;⑤GDD 清理 00312e12(30 篇去 124 处实现指证,纯度红 124→0)。阶段 1 收口;阶段 3–4 待各自设计推进。