Commit Graph
133 Commits
Author SHA1 Message Date
DKChan ed8e0f9f3d iter34 卡④ T1-T3: 信息迷雾类型可见性——层距 N+Boss/候选豁免+单圈回雾(N 读表)+呈现显隐决策面+画布大图断言与探针常数同源
- level_table.gd: info_visible_layers 字段(int≥1)+validate 越域 domain 错;level.tres 挂 2
- level_runner.gd: type_visible_ids() 纯函数(入口 BFS 层差 ≤N ∪ Boss ∪ 候选,锚=当前节点层/入口停点 0;visited 不豁免)+_bfs_layers()
- level_map_screen.gd: node_display() 静态决策面+display_probe()+_draw_graph 图标/文字/Boss 描边三处改读决策面(结构通道零改动)
- 新单测 level_map_type_vis_test(26 断言)/level_map_info_fog_test(19 断言);run_all 注册两行
- smoke_all ⑬ 真图 L2 入口停点可见性组(+5 断言);ui_input_probe ⑬ 常数锚同源化+⑱ 雾不扩可点域

轻闸读数:冒烟 1211 项 0 失败(主区基线 1206,+5=新增组)/probe_gate --click 全绿
2026-10-22 05:52:11 +08:00
DKChan 43c0f3c118 merge(迭代34 卡③ 敌人表深度带换代批): 遭遇寻址 (L,row_kind,depth_band) 三参化+表键迁移+校验/跨表/消费面随动+独立复审通过(回执 commit=9ff0909a,--code 全绿)
- 冒烟 1161 项检查 0 失败;单元 35 套件全绿;探针 --click/--full 全绿;渲染闸绿;静态扫描归零;熵增闸绿
- 11 回放确定性对拍:数值零变更按档位规则不发起(NEED-APPROVAL)
- 独立验收审计两轮:首轮不通过(4 缺漏+4 描述不符)→ 修补后复审 A–F 全通过
2026-10-22 05:37:48 +08:00
DKChan 68009b4ea8 fix(迭代34卡③审计缺漏): 补 S15 叙述寻址单测〔fv24〕+V6① 数据侧撤销证明;报告补 V7 十七行勾销表与 V9/fv26 行、四处描述改写
审计第一轮缺漏 4 条处置:V7 补覆盖行+S1–S16 逐条勾销(现工作树 file:line);V9 补件核行;
S15 boss_name 补真实入口单测(扫表取 Boss 带键,断言叙述名=boss 行集首行名;变异 "boss"→"battle" 实测红);
V6① 撤销证明换数据侧注入(bugbear 带 2→1 时 fv21 仍绿=数据驱动正证,叠加写死坐标才红)。
描述不符 4 条改写:fv17 夹具措辞、fv19 撤销归属、变异第 7 项首红、断言计数(36 条+1 行注释)。
随批入库第一轮审计报告。
2026-10-22 05:20:21 +08:00
DKChan 61537da889 test(敌人表深度带): 冒烟与单测断言按 S 清单改写
冒烟全部寻址点改为三参 resolve_enemy_rowset(关卡, 深度, 行类),结算/单元/探针直呼的
spawn 与 begin_battle 显式带行类(battle/boss)——终点战仍按 Boss 行集取数,行为不变。
首遇位断言改为扫表取该 (关卡, battle, 敌种) 的最低深度带,不再写死坐标〔fv21〕;新增
_enemy_bands 结构段验 20 行键序、hobgoblin 留任 (1,battle,3)、三 Boss 行类与带键〔fv11–fv13〕;
L2 混编 (2,battle,5) 行序与骰和、巨蜘蛛/bugbear/duergar 首遇带固定数、Boss 行类显式传入
等断言逐条加〔fv18/fv19/fv22–fv24〕尾缀。职业节奏探针与伤害探针同步三参寻址。

变异验证七项全部命中(记录表进实现报告):band_of 反向 floor → fv1/fv3 红;row_kind 枚举
判据注释 → fv7 红;Boss 同带判据删除 → fv15 红;顶带消解判据短路 → fv16 红;巨蜘蛛首遇行
加 unit_count_max → fv22 红;混编两行文件内对调 → fv18/fv11 红;hobgoblin 迁错带键 →
fv11/fv12 红(直接迁到带 2 先被加载期同带规则拦下,改用与带 2 行互换带键,表可加载后键位断言红)。
2026-10-22 04:17:40 +08:00
DKChan 4a8558a09f iter33 卡① 审计回炉: sv3 断言强化+生产链对照面+sv4 判别锚+变异⑥⑦补执行
首轮独立验收审计两缺漏回炉(零裁断纪律):
- sv3:拆闸实验证实原拒写断言无判别力(返 false 与下游写失败不可区分)且杂散 game/.tmp 落盘
  未被盘面断言覆盖、MetaProgression 生产链零对照面——回炉补「退化写目标(裸 .tmp)零新增」
  类级+链级两锚+settle_adventure 真表驱动生产链对照面(boot 套件 8→12 检查);变异⑦
  (闸短路)实测两锚全红。
- sv4:申报变异未执行且原段序(先删后建)无判别力——回炉改夹具为「非白板旧内容 999/5
  覆盖为白板+盘面核验非旧值」;变异⑥(create 读旧档)实测两断言红。
还原后冒烟 1201/0、38 套件全绿。实现报告 sv2/sv3/sv4 行与变异表对账更新。
2026-10-22 04:11:55 +08:00
DKChan 6a7c25755f iter33 卡① T1+T2+T3: 存档制数据层三槽承载+启动态钉死+档操作原语+窥视读器+断言批
基线复读(T0,2026-10-21):冒烟 1156/0、单测 35 套件全绿、probe_gate --click 全绿。
承载面(save_manager.gd):SLOT_COUNT=3 三文件制 user://save_slot_N.json(§9 白名单①拍板,
槽1 禁复用旧名单独派生);启动态钉死 _ready 不读槽(内存=默认空态、无激活态、写盘一律拒——sv2/sv3);
旧单档一次性字节迁槽1(Q1 甲:幂等判据槽1已存在不重迁、源改名 .migrated.bak 留痕——sv12);
原语 activate_slot/create_slot/delete_slot(失败恢复切换前三态、删激活槽指针连清除——sv4/sv5/sv6);
窥视读器 peek_slot_summary 三态零副作用(sv7/sv8);测试隔离注入口 attach_slot_template+
peek_summary_at(契约7 单路径语义保持,attach_path/注入面零变化——sv11)。
断言批:三新单元套件(isolation 22/boot 8/summary 12)+冒烟 V2-s1..s4 启动态段+
_smoke_save_slots 段(往返×3/删档/新档/各槽迁移/窥视/旧档迁移);V2d-1 按削弱申报改写
boot 恒隐(卡② mn8 再承接)。
真实链实证:本机 user://save.json(v7 空档)已随批内首次 boot 迁入槽1,原件留痕 .migrated.bak。
2026-10-21 23:44:03 +08:00
DKChan c162fca9ad chore(引用可核闸建档注册): 追加行删除后的文档关联面清净
- game/tests/README.md:静态扫描段 S1–S11 → S1–S12(S12 旧件零残留闸缺登记,补一段实现说明);
  S11 说明句删去「显式追加『完美封印』」——该追加行已删,且原句连词名都写错(被禁的是「完美排雷」);
  改后写明禁词全由术语表第一列解析供给、脚本内不内联词面;
  「规则全集见 architecture.md」指针句加限定:S1–S10 在架构文档,S11/S12 自持于本文件与脚本头注(迭代 32 两卡为代码批禁写 design/)
- 待办清单:「game/ 域文档两处措辞订正欠账」整条删除(未净项已由用户合入完成);
  「效果引擎系统无状态原则缺架构文档条目」现状里指向已删条目「计数器寿命域未统一」的悬挂指路句改写成凭据句
2026-10-21 17:05:22 +08:00
DKChan ae9b9c2151 chore(static_scan.sh): 移除冗余的显式追加行注释 2026-10-21 16:49:58 +08:00
DKChan 801a11db8f chore(static_scan.sh): 移除显式追加排除的打印语句
feat(UI预览demo): 新增三路改进整合对照文档
2026-10-21 16:39:13 +08:00
DKChan f4ff2af6e7 chore(建档差异收净): baseline.json 按原 2 空格缩进重排——上一笔把整文件缩进改成 1 空格,106 行噪声差异收为 4 行净增 2026-10-21 15:54:29 +08:00
DKChan e425ef1be0 chore(引用可核闸建档注册): 08d 入文档域闸序+三处 game/ 纯文字欠账清净
- tools/run_all_gates.sh:文档域闸序加「08d 引用可核」并补头注 --docs 清单(闸清单唯一事实源只写这一处)
- game/tests/.gates/baseline.json:手工加 08d 绿记录一条(13→14,其余条目原样保留),照 8f66ae15 之 08c 与 e8b6751b 之 06b 先例
- game/tests/static_scan.sh:100:S11 词表来源注释订正——「完美排雷」已于 2026-10-21 入退役词对照表,:122 追加行成冗余(sort -u 去重后行为不变,删它属改闸件词表本体,留待代码批,注释已写明)
- game/tests/README.md::58 套件数 26→35(按 _suites() manifest 实数);:81 Config/Data 证据落点 design/qa/ → 跑批回执+reports/;:92 verifier_batch 报告落点 design/qa/ → sim-data/(依 AGENTS 在册口径)
- doc_ref_audit.py:路径解析补「尾段匹配」一档,tests/run_all.gd/views/level_map_screen.gd 这类相对 game/ 工程的简写不再误判为路径不存在(实测纳入 reports/ 的红项 17→12,余下为历史件真实漂移,佐证排除面划法)
- 待办清单:引用可核注册欠账与 README 分级表 design/qa 两条完成即整条删除;game/ 域欠账条目收窄为 :122 冗余行一项,状态处记用户特批标记
零行为改动:无一行 GDScript、无表数值、无场景资源。验证:bash -n 两闸件语法 OK/baseline 合法 JSON/闸壳 --docs 自身退出码 0(含新注册 08d 与建档记录一致)/引用可核 64 件 84 处红项 0/流水线闸 PASS 69 条目。
2026-10-21 15:53:52 +08:00
DKChan 33e1f11057 test(卡② T7补漏): 补齐 §9 正向验收主力 V1/V2/V6 与全 Vn 标注 + V1/V4 变异验证
前批合回时漏建卡② §9 逐需求点「正向验收主力」断言(四桶机制),仅靠迁移旧测+V12 兜底——
V12 formed/rules 输出面不作判据,adventure 桶跨战持久若坏不会红,核心缺陷消解无回归网。本批补:
- V1 冒烟新段:同一 RunLedger 两 begin_battle 各真实 request_dig,断 adv_twin_digs 经 ctx 就地写宿主字典跨战累积=2
- V2:start_adventure 后 adventure 桶置空(feat_vouchers)
- V6 冒烟新段:次战新编排器 fx_counters_battle 天然空、battle 桶 insurance_used 读 0
- V3/V4/V5/V7/V8/V9/V10 补〔无状态化 Vn〕尾缀使 §9 可追溯
- 变异验证:V1 断 adventure 桶引用改新建空字典→3 条红;V4 断 level 桶不共享→红(证回归网真拦得住)
2026-10-21 02:45:57 +08:00
DKChan d00f24a8ec merge(迭代 32 卡②): 效果引擎无状态化批合回
EffectEngine 改纯计算引擎(零运行时状态·仅 _triggers+db)+四桶外置宿主(round/battle→编排器、level→LevelRunner、adventure→RunLedger)+
搬运链整段删除+dig_combo 死路删+前缀校验双落点+引用闭合加载致命+V9 负面套件+V12 同种子复放三组判读通过(off 逐字节一致)+S12 旧件零残留。
完成定义 8 条全绿;代码域闸 all_green(回执 6491f7d5),parity 落 skip(契约 12)。
2026-10-21 00:04:15 +08:00
DKChan 430f97f071 test(卡② T7-V13): 旧档改名前 counter 键续玩受理零崩溃断言
feat_vouchers 注入含旧键(拼接构造避 S12)的 adventure_counters → resume_adventure 受理、留桶成死键(无迁移,契约 9)。
2026-10-20 23:24:58 +08:00
DKChan 003581f4c4 feat(卡② T7-V10): static_scan 新增 S12 旧件零残留扫描 + 清尽注释内旧符号
- S12 扫 game/ 全域 .gd/.tres(改名与旧符号同存数据行/测试/smoke,非仅 core):
  counters_export/counters_seed/counters_merge_export/counters_seed_snapshot/_reset_tree_limited_counters
  + 带引号旧 id "tree_sense_*"/"twin_digs"/"instinct_atk"(引号锚定不误伤新名)零命中
- 非空扫描面自检(185 文件);注入 counters_export 见红、还原回绿(变异验证取证)
- 迁移注释措辞去除旧符号字面、feat_vouchers V16 写键 twin_digs→adv_twin_digs
编号说明:卡① 已占 S11(代码注释禁用词),本扫描落 S12(卡片成文时 S11 未定义,属卡片与现实偏差,归反哺点)。
2026-10-20 23:22:44 +08:00
DKChan b226a292df test(卡② T7-F2): 旧测试断言随无状态化换代迁移(smoke 裸引擎段 + 4 单测件)
- smoke_all 裸引擎段 ~53 dispatch/写口 ctx 化、twin_digs→adv_twin_digs
- _smoke_tree_rules:standalone 引擎自建 ctx、sense 限次跨战持久改 level 桶共享引用(删 export/seed 链)
- effect_words_t1_test ⑥⑦重写为桶语义(adventure 共享字典往返、round_ 前缀随 round_start 整桶清空、battle 无前缀存活、counter_spend 静态)
- tree_rules_v11_test 合成行夹具 lvl_ 改名+删 domain;treasure_effects/settle_segments dispatch/counter ctx 化、dig_combo→geo_types 活 id
冒烟 1150/0、四单测件 EXIT=0(换代同生死,无假绿)。
2026-10-20 23:19:40 +08:00
DKChan 811f988032 rules(规则审阅落地批): 十条评审意见落地——呈报四问/文件头缩窄/禁词表冻结/lean死条文退役/日期批注清除/AGENTS瘦身/分域闸口径/状态栏纯化
- AGENTS.md: 呈报六问改读后自检四问;文件头红线删行数上限与白名单;日期批注清除;回执五况细则挪 process-conventions §3.10;流水线闸过时状态句改事实句
- process-conventions: §1.2 非迭代批改按改动域跑闸;§3.10 承接五况;两处日期批注清除;§2 表格凭据落点改现状清单
- code-conventions: §1.4.1 重写(删 8 行上限/两类白名单/90 文件清偿义务);§2.1 联动;两处日期批注清除
- test-conventions: 三处日期批注清除(三处实证日期属证据保留)
- doc-conventions: §1 lean 死条文删除;§4 词表冻结条款;§12.1 重写(状态行只写状态词;现状=关联文档清单;删括号凭据全部条款);三处日期批注清除;§5 重复词修复
- 术语表: 用语规范节加词表冻结句
- 06-待办清单: 11 条带括号状态行迁移(括号证据移入现状关联文档清单;待裁决说明并入现状;每条状态行只留状态词)
- tools/audit_file_headers.py: 删 R1 行数上限(R0 载体/R2 日期/R3 变更叙事保留)
- tools/gdd_lint.py: R2 表格占比判据与 R2_EXEMPT 整体退役(lean 解读对象已亡,只产存量噪音)
- tools/doc_term_audit.py: 词表冻结注释
- tools/pipeline_gate.py: 状态栏括号凭据核对废止,新增状态行禁括号判据(点名病因短路);闭合证据改现状正文核对(卡片路径磁盘存在性+交叉核、文档路径+版本、art-bible+版本)
- game/tests/static_scan.sh: S10 注释同步

变异验证(test-conventions §6):pipeline_gate 注入括号→状态行含括号内容红 exit1;删正文卡片路径→正文缺卡片路径+交叉核红 exit1;audit_file_headers 注入变更叙事→R2/R3 红 exit1、头注 12 行纯说明→0 红(上限停用实证)。坑册新增:未提交工作区禁 git checkout 变异还原(会连带回滚在途改动),须备份文件法。

全批净变化 +155/−146(12 文件)。
2026-10-20 23:15:05 +08:00
DKChan 4c5bdbc9aa feat(卡② T5): 计数器引用闭合校验 + V9 负面套件 + manifest 登记
- config_db_cross_validator ⑦ 引用闭合:声明集=feats+treasure 各行 do.counter_id,
  读点(when counter id / value_counter / counter_spend counter_id)无同名写入行→加载致命
  (判据只做成员判定,不重写前缀规则——契约 6 两落点同源)
- 新建 counter_prefix_fatal_test.gd(expect1/negative):①meta_ 非法前缀②悬空读点两断言,均正确拒绝
- run_all.gd manifest 登记负面套件
real 数据 config_db_test 26 全绿(闭合零误伤);insurance_used 经 forgive_seal_miss 行 do.counter_id 声明纳入。
2026-10-20 23:12:29 +08:00
DKChan b3b77ff1b7 test(T7/N7): 新增 A10–A12 两态正向断言(seal_miss 行 highlight + _format_row 零「雷」)
A10 未豁免态 highlight==perfect_broken+完美不成立;A11 豁免态 highlight==空+完美仍成立;
A12 呈现两态文案含已破/已豁免且零「雷」字面。落点 feat_vouchers_test.gd,随 N7 同轮。
2026-10-20 22:24:34 +08:00
DKChan b6629d6848 feat(T2-T6): 五词注释换代——完美排雷→完美封印/板级→整图/门票→专长凭证/正主→现行事实源/落籍→已入库
全局 sed 替换 89 处命中清零(S11 绿)。修复:
- 移交 3 处保留原词(shop.tres:86 display_name、curio_controller:165-166 玩家文案)
- 豁免 enemy.tres:653 历史注记保持"已落籍"
- static_scan.sh 词表追加行与头注恢复禁「」引举句式
- S11 规则文件自身不被自身规则误伤(闸门自指豁免生效)
2026-10-20 20:41:50 +08:00
DKChan 85dce2c77d feat(T1): S11 代码注释禁用词规则落闸——先落规则再见红(89 处)
按契约 6 先写 S11 规则并跑出红,为 T2–T6 批量换代提供回归网。
词表从术语表「退役词对照」节解析+显式追加完美排雷、排除巢穴/旗。
三层豁免(闸门自指/显式留档 4 处/非注释面天然不取)+两道自检。
2026-10-20 20:35:14 +08:00
DKChan c5200b6be9 merge: 禁写变更记录批入库——规约/AGENTS/闸壳/技能四层指令面废除文档内变更日志(gdd_lint R4 反转为禁设+06b 新闸+三工具去豁免),48 份文档版本历史节与 game/README 流水段删除、代码注释 900 余行批次标签清偿(约束句保留、去注释零触碰自证)、卡片「修订记录」块改「审查回写要点」(--docs 闸 dafc5540 六件全绿+变异验证三态真拦:版本历史/修订记录/修改记录)
# Conflicts:
#	game/tests/static_scan.sh
2026-10-20 05:52:25 +08:00
DKChan e8b6751b6a chore(闸壳): 06b 变更记录节入存量基线(绿档)——同 08c 流水线闸先例 2026-10-20 05:49:03 +08:00
DKChan 8a68c9ea11 merge: 同步 master e92a18e1(卡片落位 reports/+dev→engineering 改名批)——四处版本历史节冲突取本批删除侧,reports 卡片重放禁写变更记录清理,06b 闸扫描面扩 reports/ 2026-10-20 05:46:28 +08:00
DKChan 8847d960b5 docs(game/tests注释重基准): 三件套注释路径随 dev→engineering 改名同步(用户特别授权主区直改,纯注释零行为变更) 2026-10-20 05:43:39 +08:00
DKChan e8a2934208 docs(qa目录退役·B1): game/tests/README 一行不改,欠账登记进 06——本批收回纯文档域
- 用户裁 B1:撤回对 game/tests/README.md:81 的指针修正(相对 master 的 game/ 路径改动清零),避免零代码改动的批被合回闸按路径前缀推成代码域、强制全量测试
- 06 新增一条欠账登记(### 文档与结构 段顶):分级表 Config/Data 行仍指已退役的 design/qa/,正解 sim-data/,等下一批真改 game/ 时一并纠正;写明「死链闸扫不到」(doc_link_audit 只扫 design/gdd/)与「推域规则触发条件」两条成因,来源=批次移交,状态=待写卡(备选)
- 五道文档域闸全绿:gdd_lint/doc_link --strict(1205 处链接 死链 0)/doc_term --strict(疑似现行 0)/pipeline_gate(06 条目 64、卡片口径 21 张全过)/repo_structure_audit PASS
2026-10-20 03:46:04 +08:00
DKChan 897a074292 docs(qa目录退役·改判A): 40 张取证照与对比报告删除不留档——git 历史即档案
- 用户裁 A:验证截图不是黄金图(黄金图有 golden_baseline_refresh.sh 生成、golden_compare.py 逐像素比对,本批 40 张零代码消费),不配占仓库位置
- 撤回上一提交的搬移:game/tests/evidence/ 复原(README 回到改动前、.gdignore 撤销)、ui-audit-2026-10-06 整包 41 件(40 图+同名报告)删除——原件全在 master 树内,回看走 git show becb675a:design/qa/...
- 删前核对未决面:报告 §① 底栏重设计草案已落码(game/presentation/views/level_map_screen.gd:122-125 定高 85px+特性持有行限宽截断+tooltip,注释直书「2026-10-06 审计差距①」),无未决项随删丢失
- 判据改写:doc-conventions §11「暂存地非档案库」行改为 design/ 六目录不留验证截图(结论进 06/卡片后图像即弃,在途图归 artwork/,机检基线才入库走 game/tests/golden/);AGENTS.md Project Layout 两行与结构闸 IMAGE_PREFIXES 同步复原到不含 evidence
- 五道文档域闸全绿(gdd_lint/doc_link --strict/doc_term --strict/pipeline_gate/repo_structure_audit)
2026-10-20 03:37:30 +08:00
DKChan 75fafc3965 docs(qa目录退役): design/qa/ 清空删除,四路分流+§11 立接收方条款
- 40 张取证照与同名对比报告 → game/tests/evidence/ui-audit-2026-10-06/(该目录既有章程「人工测试证据」,目录根新增 .gdignore 令 Godot 整目录跳过导入,图不生成 .import 边车也不进导出包;parity/anchor.json 走文件系统路径读取不受影响)
- 有接收方的两份审计(代码术语审计→06:546+迭代31 卡①/测试审计→测试分层卡片)平移 design/research/;iter27-探针迁移对照(T1 未施工=活交付物)迁 reports/,reports/README 放什么表补一行交付物类型
- 已核销的迭代18-实机目检总清单(2026-10-14 十八项全过)删除,顺带清掉其内 4 条指向 8e02dcf0 已删件的回指
- doc-conventions §11:暂存地唯一归 design/research/,验证凭据不归文档目录;新增「落档必写接收方」一行——写不出接收方的不落文件,内容在会话里交付
- tools/balance_verifier.py 报告与原始数据改落 sim-data/(QA_DIR→READINGS_DIR)
- 活指针 13 处改判:AGENTS.md:22/30 与 Project Layout game 行、06:546、07:103、career 卡片×4、art-bible §8.2 L490 与 生涯.md:81 两处 8e02dcf0 遗留死指涉、game/tests/README 分级表与台账行、reports/README
- 结构闸白名单三处同批收口:IMAGE_PREFIXES 去 design/qa/ 加 game/tests/evidence/、DESIGN_SUBDIRS 去 qa、RETIRED 加 design/qa(目录复活即 FAIL)
- .qoder 技能 doc-consistency-check 两处指路改判(harness 配置不入 git,主区直接改)

单件试跑全绿:gdd_lint 10/10、doc_link --strict 死链 0、doc_term --strict 疑似现行 0、pipeline_gate 63 条目/21 卡、repo_structure_audit PASS。
本批 diff 触及 game/ 路径,合回需全量档回执(含代码域测试),待用户点名。
2026-10-20 02:07:39 +08:00
DKChan 066a9f7e31 docs(active残留): active.md 废除补刀——10-18 五张待执行卡摘「唯一例外=active.md」假指令15处+baseline.json 08b 死记录再删+recolor_terrain_tiles.py 头注出处注记摘除
08b 复活成因:roadmap 压缩批 8f66ae15 与废除提交 27812167 同日、worktree 分叉早于废除,
合回时旧 baseline 被原样带回(该批自记「其余条目原样保留」)——再删并留此记录防三犯。
历史文档约 19 处过去时引用按 registry 注销批(d54cbed7)先例保留不动;
在途分支合回时 diff 再见 08b/active.md 一律就地拒收。
2026-10-20 00:39:26 +08:00
DKChan 6d601d23dc chore(禁写变更记录批): 版本历史节/日期批注全面废除——gdd_lint R4 反转禁设+三工具去豁免+48 文档删节+game/README 流水段删+代码注释 900 余行轨迹标签清偿(约束句保留)+规约/skills 五层指令面同批改指 git 沿革 2026-10-20 00:22:18 +08:00
DKChan 1deaa55341 chore(rules): 根规则文件改名 CLAUDE.md→AGENTS.md+全库旧名引用同步
- 结构闸白名单 ROOT_FILES 收编 AGENTS.md(改名后主区曾判「根文件越界」红)
- 流水线闸禁写根规则文件标志名只留 AGENTS.md(用户裁:旧名不留双保险)
- design/dev 五份规约+architecture、roadmap、registry、06、三个 README、
  在役需求卡与 QA 标准的引用逐处换代;历史 reports/ 与 .workbuddy 留痕不动
- 顺修三处换名后会误导的行号引用(:56→:59、:63→:68、71 行计数加注)
- 三份主区未跟踪文档(测试审计标准/启动装配卡/营地会话提示)随批搬入并登记
2026-10-19 06:04:09 +08:00
DKChan 0170071da7 test(凭证件裁削): 卡② 对拍锚重锚(删件后牌库与豁免语义变化随批换代)
三变体各 N=20×2 策略重跑;差异面=稀有档候选集少两件(attune_battery/perfect_insurance 零出现)
+完美保险改订阅式后的完美判定面,与用户裁断一致(差异归类见 reports/iter31 实现报告)。
2026-10-19 04:54:17 +08:00
DKChan 072c19b4a5 feat(凭证件裁削): 卡② 同调电池删除+完美保险迁专长+配额净删落地(迭代 31 卡②)
用户 2026-10-18 逐裁四项落码:
- T1/T2 同调电池整件删除:CURIO_KINDS 摘 kind、三字段与三处分发表分支删净、
  runner 侧 _battery_pending/断点键/getter/choose_battery_target 全清(呈现层零接线=有账本无入口)。
- T3 完美保险出池:kind/字段/分发摘除,_pending_insurance 与 level_runner 注入通道
  (voucher_insurance 键、set_voucher_grants 第三参)整链拆除,battle_orchestrator._fx_insurance 删。
- T4 引擎扩签 forgive_seal_miss(EFFECT_KINDS 31→32)+两账相减:新增 _perfect_forgiven 单向累加、
  谓词抽成 perfect_sweep_earned()(有效误标=误标总数−豁免数),_perfect_hit_false 保持纯净=契约 2;
  seal_missed 发射时机与消费点零改动=契约 3(危险直觉·守同事件订阅面在验收组里对拍)。
- T5 feats.tres 第 30 行完美保险专长:rarity rare/cap 省略/domain=battle 显式写出(战斗域首例)/
  desc「本场首次封印落空,不计入完美封印判定」;限次由行 when counter(insurance_used) lt 1 承载,
  do 自带 counter_id 记账由授予段消费点落账(代拍板 3 选型:单行落表,理由见实现报告)。
- T6 配额净删:TIER_QUOTAS rare 9→7、令牌池总量 104→102,validate() 硬断言过;smoke 配额锚/牌库
  构成/专长行数随批换代。
- T7 验收:feat_vouchers_test 39 项全绿(出池反例/断点缺键兼容/账本保留/配额锚/装载/限次一次/
  计数纯净/两账相减真值表/跨战清零/事件不吞)+forge_table 词表闭集断言 31→32。
  变异验证 6 条:5 条证红;「domain battle→adventure」在本 rig 不可观测(未红),已如实登记。
- 存量缺陷顺带修:旧 _emit_row("insurance_used","",…) 空来源会触发行来源断言(旧路径无消费点故从未走红),
  新订阅面给出 source_class=seal_miss。

基线(卡① 合回后 master 4f953ce8):冒烟 1151/0、单元 34 套全绿、探针 --click 全绿(user:// 存档移开态)。
2026-10-19 04:45:49 +08:00
DKChan 2c5cece48d test(代码术语): 卡① 对拍锚重锚(seal_ 标签面,用户裁案甲随批)
三变体 base/attune/shop 各 N=20×2 策略重跑,RUNSUM 面仅标签名换代、数值零差异(差异取证见 reports/iter31 实现报告);jsonl 面 sha256 随新事件名重生。
2026-10-19 03:04:59 +08:00
DKChan 32fdf957fd refactor(代码术语): 卡① flag→seal 全族换代+game/ 禁用词清扫(迭代 31 卡①)
标识符面:flag_*→seal_ 族(含 Godot 信号 flag_judged→seal_judged 与连接/回调同名、
FACTS 两键 flags_count→seals_count/dug_under_flag→dug_under_seal 全链、
.tres 键名与 schema .gd 同批同步);显式豁免零改动=size_flags_*(Godot 布局属性)+_fatal_flag。
中文面:金币→GP(金币袋→GP 袋)/插旗→封印/雷格→危险格/惩罚格→危险格/旗→封印·封印印记族,
game/ 内 *.gd/.tres/.md/.json 四类禁用词与 flag 双双零命中(V1/V4)。
守卫字面量不动(被检查的禁字不是使用):smoke_all V21 零「雷/旗」检查面、
ui_font_asset_test 字形集攻/雷/旗/封 保持原断言逻辑。
代拍板:板面单字槽 glyph「旗」→「封」(禁字纪律+单字位宽,消费面四处同名随动)。
素材换代(2026-10-18 用户裁案甲):assets/art/board/flag_seal.png→seal_mark.png(素材不入 git,
盘上改名+导入重刷),代码两处 res:// 字符串+COL_FLAG/CURSOR_FLAG 常量同步,
闸件四处随批(run_all_gates.sh/render_gate.sh/golden_baseline_refresh.sh/path_check.py)。
anchor.json 键名手改,重锚与改前改后 diff 随本卡收口(同裁案甲)。

基线读数(改前,主区 ed2dfaf6):冒烟 1151 检查 0 失败/单元 34 套全绿/探针 --click
存量红仅 screen_flow_probe(user:// 断点污染在册已知项)。
改后同批读数(本 worktree):冒烟 1151 检查 0 失败/探针 --click 同一存量红、其余全绿。
2026-10-19 02:52:38 +08:00
DKChan d659b065c1 chore(导入): 8 个 .uid 入库——迭代 30 期编辑器刷导入生成,此前一直未跟踪 2026-10-19 01:28:41 +08:00
DKChan 8f66ae1559 docs(roadmap): roadmap 压成「里程碑时间线+迭代总表」+流水线闸注册上电 08c——删除「当前位置」节与主路线表全部巨型行(各迭代过程叙述/T 段明细/读数/闸数字/裁决记录退役归 git 史,116→89 行),新建六列迭代总表 30 行一行一迭代(状态=已完成+落地日期自「✅ 完成/已入库」句提取,迭代 17 任务书日期与文本冲突从文本=2026-10-07;需求卡片列 design/research 实存十卡写实路径、卡片已退役十一迭代写保留字、迭代 1~8/10 无卡片制填「—」;编入时间 9~12/14~30 从文本与编入提交可考取真、其余「—」;预计周期历史行全「—」不做 ≤2 周判;实现报告 iter27/28/29/30 写 reports/ 实存路径、其余二十六迭代写退役保留字),M3/M4 里程碑语义立规注(2026-10-09 用户立规)压缩三行后置于里程碑时间线表后语义全保留,执行纪律/批次 loop 规范/维护纪律三节原样保留(含未迁 process-conventions 的迭代粒度界定等立规),执行纪律第 3 条「当前位置挂起清单」指针随节删除改指 active.md 未决面;pipeline_gate.py 机检扩容对齐新表(需求卡片/编入时间/预计周期三列「—」合法=历史行豁免+实现报告列已完成=存在路径或退役保留字、对「—」维持判红,头注旧格式声明换代),doc-conventions §12.2 四列规则同步补「历史迭代不可考填—」与已完成报告列严格句;run_all_gates.sh 文档域 08b 之后注册「08c 流水线闸」(照抄相邻行形态,闸序其余零改动)+头注 --docs 闸清单补 08c+域横幅 6–8c;baseline.json 手工加入 08c 绿记录(新闸件无基线记录必判闸况变化拦合回收执,其余条目原样保留);06 修存量退役词四笔「随批呈报→顺带呈报」(b4671802 回填批带入、doc_term --strict 首次全量跑暴露,非本批引入)。自检:python tools/pipeline_gate.py=PASS(06 条目 51·总表数据行 30·交叉核 0 链全过)exit 0;bash tools/run_all_gates.sh --docs=六闸全绿无新增红 exit 0 2026-10-18 05:15:32 +08:00
DKChan 80ac80ef1a test(断言三件): 未开格类型微光机检面(迭代 30 卡① T2-①②③)——①冒烟 smoke_all.gd 新增 _smoke_type_glow 八相 24 项(相0 作用集恒等+默认开+已开/r0 零微光/相1 八邻派八型五组逐格映射/相2 清单外"keystone"显式登记+零微光/相3 封锁格零微光零登记/相4 解封复位/相5 off/on 两态+关前快照逐位复现+零玩法写入三面/相6 换图 rebuild 重算/相7 契约 1 同板同序列 on/off 双实例结算逐位一致 12 步 digest 对照);夹具 = seed 4242 L1 板+novice 驱动(初始展开覆盖 8 邻故必驱动)+八邻派型+哈希兜底九型全集;冒烟 1127→1151 项。②单测 type_glow_test.gd 五段 51 检查(归组封闭含清单外 6 负样本+两带并存锚定/冻结色相面 HSV 稽核 ΔH≤0.2°·ΔS≤0.01+群伤 V=0.65 专项/呈现参数锚定 α170·band 0.125·组号域 0-5/伽马合成空间阶梯单调+相邻组模型 CR≥1.20/probe API 形状),登记 run_all.gd(33→34 套件);extends SceneTree+Kit/UiKitScript preload(--script 模式禁 class_name 裸引用)。③ui_input_probe case⑰ 活板面走查(生产身份面:作用集==diggable 键集/真实点击挖开即灭/移动复亮出圈灭/相位门控两态/开关两态零扰动),十八断言全绿。批末变异验证五组反例实证:M1 归组错映(单测+冒烟红)/M2 清单外静默(冒烟红)/M3 相位切换不重算(冒烟+探针红)/M4 α=0 不绘(渲染闸红)/M5 派生路径误触玩法 API(冒烟相7 分叉红)——红输出与还原结论实录见 reports/iter30-实现报告-2026-10-17.md §四。 2026-10-17 10:18:35 +08:00
DKChan d3a616cf9e docs(口径): roadmap 与 tests/README 的闸口径随分域改造同步
漏改即成第二份互相矛盾的清单(本批正是要消灭这种漂移):
- roadmap.md 迭代循环骨架第 5 步「重闸=全量档全绿」→ 按改动域选档;第 8 步收口五步③
  「里程碑移动更新本文件」加注:实现批禁写 roadmap,该步归文档批,实现批在 reports/ 反哺点
  列明该改哪一行。
- game/tests/README.md 门禁行与「本地闸」节的「(全量)唯一入口」→ 按域选档 + 回执含 domain
  + 合回闸按 diff 推域校验。

连带(仓库外本地配置,同批已改):~/.zcode/skills/req-card/SKILL.md 六处——description 版本注、
§5 关联文档同步面(实现批禁写 design/、产出只落 reports/、07 入册转反哺点)、§6 末卡改「产出物
落位卡」、§7 闸口径改按域并禁卡内写死闸件名单、目检两分法落点、变异验证记录表落点。
2026-10-17 00:56:58 +08:00
DKChan 8c18b52ba2 chore(基线): 06 gdd_lint 条目由存量红改回绿——R5 已修,人工确认后重生成
af94ce97 把 06 记为存量红(指纹 454510f66168=01 篇 R5 缺流程图),走的是「容忍存量」路线;
fcb8c3f8 已按 R5 意图补齐流程图把红因消掉,本批 --docs 域实测 06 exit=0(回执判「基线红→现绿(改善)」)。
基线按 baseline.json 自陈口径「人工确认后重生成」改回绿,禁让后续每次跑批都空报一条改善。
2026-10-17 00:41:46 +08:00
DKChan fff4f120d3 merge: 迭代29测试分层与门禁语义修正批入库(十提交, worktree g-plan2-iter29-testlayers) 2026-10-17 00:13:57 +08:00
DKChan af94ce9750 fix(基线): gdd_lint 06 指纹刷新——01-核心循环.md 表格占比越线为存量(非本批引入)
本批零 design/ 改动;主区实测 gdd_lint 同红(共 10 文件 1 不通过=01-核心循环.md 表格
占比 43%),来源=今日 9846a29f 删主菜单副标题行后散文量下降推高表格占比。按「人工确认
后重生成」条款对齐指纹(exit 0/green → 1/454510f66168);文档修复归该文件属批,不在
本批范围。另 09 静态扫描本批转绿(并行会话文件头 R0 载体锁批清偿 127 处存量)——改善项
按规则不拦。
2026-10-17 00:04:45 +08:00
DKChan 1c034f555f chore(冒烟): 菜单 golden 基线主区重采——旧基线锚在字体回退态,05 渲染闸判红消解
触发原因(呈现类改动批换代强制说明项,双成因):
① 字体回退态——入库基线 game/tests/golden/menu_boot.png(dac9a94b 于 menusub worktree 重采)
   的左侧标题与按钮文字是平滑比例字,即自定义像素字体未生效时的回退渲染;当前 master 渲染
   为 Fusion Pixel 像素字。基线锚在回退态违反 Q5「基线禁锚回退态」。
② 右侧世界预览层位置与缩放不同——基线整体偏右约 16px、怪物更淡;shot_probe 日志存
   「Can't change the size of a SubViewport with a SubViewportContainer parent that has
   stretch enabled」警告,该层尺寸随采集容器状态漂,是 worktree 采集与主区采集结果不同的成因。

判定依据:同环境连采两帧逐像素差 0.00%(排除采集抖动),基线 vs 当前 4.61%(47,187/1,024,000
像素,失败线 2%),差异 94.7% 集中在左侧文字区/右侧预览层/右下调试角标三处;差值分布含 14,783
个 129-255 硬翻转像素(两套字形签名)。经用户目检确认当前实现为正确画面。

处置:主区跑 tools/golden_baseline_refresh.sh --menu 重采(禁在 worktree 采,本次即该成因);
render_gate 复验 menu_boot.png changed=0.00%、棋盘三张 0.00%、整闸全绿(exit 0)。

未结案(另一批处理,本提交不含):① SubViewport stretch 警告根因与该预览层目标尺寸/位置的设计
口径;② 重采脚本只守卫字体文件在位、不守卫字体真生效,缺机检自检(整块区域中间灰阶占比方案实测
不区分,需改测标题字形墨点邻域);③ 菜单 golden 整屏一比区的分区化判据。
2026-10-16 23:16:28 +08:00
DKChan 3dc168cd3d merge: 同步 master(60449941 迭代 30 编入批 + 08 状态刷新批)并解决 roadmap 冲突
roadmap 冲突面:本批改了迭代 29 行与「迭代进度/近期主战场」两处,master 同期编入了迭代 30
(UI 呈现三卡批)并把空位行顺延为「迭代 31+」。以 master 为基重新应用本批三处换代:
迭代 29 行(卡片 v1.4→v2.0、门列→实耗、状态→已入库)、迭代进度行、近期主战场行
(下一前沿改指迭代 30,迭代 29 收口遗留注明 11 号闸待批准)。
active.md 与 06 无冲突(自动合并):状态记录 505 在册,快照三行换代保留。
2026-10-16 16:33:15 +08:00
DKChan 7daa92f61f docs(迭代29 T7): 游离脚本台账 + golden 时效判定
台账:game/smoke/ 15 个不带 .tscn、不入任何闸的手动入口件逐个定性成表(用途 + 触发方式 +
结果由谁判),判据=头注自陈用途 + 有无外部引用(工具脚本/产品码/CLAUDE.md 在册入口)。
存疑一律按在役登记并标注(禁「没看见=死件」式清理):adventure_monte_carlo/verifier_batch/
reward_expectation 三项是 CLAUDE.md 在册入口,auto_player/battle_driver/level_autoplay 是被
preload 的库件,board_stat_probe/calibrate_boards 是工具脚本取数端,damage_probe/defense_scan/
skill_rhythm_probe/rhythm_batch/monte_carlo 是诊断与批量采集件,dump_battle/experiment_density
标注为一次性历史取数件。纪律写进表下:新增手动件必须同批登记,退役走 doc-conventions 第 10 节。

golden 时效判定:**先判再动**——跑渲染闸实测棋盘三图 changed 0.00%/0.00%/0.00%、菜单 0.15%,
均远低于 2% 阈值 ⇒ 判有效,基线留在位不重制(禁「重制一下就绿了」掩盖真实视觉回归)。
新建 game/tests/golden/README.md 记载判据纪律与本次判定记录,供后续换代面按同一把尺复核。
2026-10-16 16:06:14 +08:00
DKChan c5a433b1d3 fix(迭代29 T6): 扫描域——S3 路径修正与零命中自检,补 S5 规则
S3 此前扫的是裸路径 `core`(仓根无此目录,2026-09-24 布局迁移后实际为 game/core)⇒ 恒零命中恒绿、
什么都不扫,白守了「数值单一事实源」这条红线。修正为 game/core,并豁免注释行与 config_db.gd 自身
(数值单一事实源的正主,它的单点 load 是本规则的例外)。
补 S5(core 禁裸引用 autoload 全局标识符——--script 模式 parse error):形态=标识符后紧跟 `.`
的成员访问才算裸引用,排除注释行与被引号/斜杠包裹的字符串字面量("[ConfigDB/%s]" 日志前缀、
"/root/ConfigDB" 取节点路径都属文案与路径,不是标识符引用)。core 层实测零命中。

新增零命中自检:每条规则的扫描路径收为单点变量(DIR_CORE/DIR_PRES),规则自己先数一遍扫描面
文件数——数为零一律判红,且规则体包进自检成立的分支(避免判红之后又打出「ok」的自相矛盾输出)。
这样路径写歪时自检会跟着一起歪、一起红,不会再出现「恒零命中恒绿」的静默空转。
变异验证:把 DIR_CORE 改回原错误值 `core` → S3/S4/S5 三条同时判红「扫描面为空」。
2026-10-16 16:01:39 +08:00
DKChan d091c98163 feat(迭代29 T5): L1 覆盖补洞——4 个零指名 core 模块 + 呈现层两件直接单测
新增六套(run_all 27 → 33 套),全部进 manifest,全绿:
· core/board_generator_test(9 条):尺寸与 board_gen 表一致、每个安全格数字恒等于八邻雷数
  (全盘逐格复算)、同种子雷集/数字集逐位一致、可推理性度量与清图判定自洽。
· core/minesweeper_rules_test(12 条):装板带初始扩张揭示且未铺满安全格、安全格余量=总数−已揭示、
  挖已揭示格拒(target_revealed)、挖非相邻格拒(not_adjacent)、fx_reveal 推进揭示并递减余量、
  插旗落旗态与计数、目录外意图被拒。
· core/config_db_resolver_test(8 条):ceil 进度键偏难语义(请求 (1,1) 命中 (1,3) 而非 (1,0))、
  行集按表文件行序返回、ceil 行集、难度乘数 clamp 上下限、未登记坐标返回空修饰。
· core/config_db_cross_validator_test(4 条):正向全对齿零错(防误伤)、悬空 skill_id 必报、
  buff 挂主角侧状态必报(cast_side)。
· presentation/hud_presenter_test(5 条)+ battle_narrator_test(9 条):文案逐拒绝原因正确、
  兜底不吐空串、数值带入、胜负互异、关卡收束态恒定、Boss 名带入。
三屏壳的断言面由 T4 screen_flow_probe 承担(六步流程每步判屏级互斥),不另起第二载体。

变异验证:hud_presenter 的「AP 不足。」改漏句号 → hud_presenter_test 精确见红。
另有一批「写反的断言被实现抓出」的证据(首跑即红、逐条订正后转绿):装板并非零揭示而是带初始扩张、
挖受英雄邻接约束、插旗需 flag_range_free 或相邻且要先给足 AP、技能 type 是 basic 不是 attack、
状态表 id 键是 effect_id 不是 status_id、battle_end_text 在 level_end=true 时恒为「关卡通关!」。

顺带实证本批核心命题:config_db_resolver_test 首跑因诊断回调的 lambda 形参类型写错
(首参是表 id 字符串而非 int)触发 Callable 调用失败——脚本错误不改退出码却让整个解析函数静默
返回 null,套件仍会报「全绿」。正是脚本错误扫描存在的原因。
2026-10-16 15:55:33 +08:00
DKChan 1458d94b0e feat(迭代29 T4): L3 屏壳切换探针 screen_flow_probe,入轻闸默认段
新建 game/smoke/screen_flow_probe.gd/.tscn:走 菜单→营地→菜单→冒险→(关卡屏⇄战斗屏)→放弃→终局→菜单
六步主流程与两条回退路径,每步断言屏级互斥 + 流程状态位。与 ui_click_probe 分工:那件走「点某个按钮
有没有反应」的行为走查(含战斗推进与结算数值面),本件只走屏壳与流程状态,不推进战斗不碰结算数值
——全库 change_scene 零命中、屏切换全靠 visible 互斥,这正是最容易被装配顺序改动悄悄破坏的面。

判据两处订正(首跑实测抓出,都写进注释防复发):
① 屏标记不能裸看 visible——战斗容器 battle_root 在局外也 visible,会把 boot 态误判成「菜单与冒险
   同时在场」;冒险屏改取流程状态位 run_scope.is_adventure。
② 互斥不能用「可见屏计数 ≤1」——终局覆盖层合法叠在冒险内容之上(终局态 is_adventure 尚未收束,
   是设计如此);改为冲突对判定,合法叠加仅「终局+冒险」这一对。
变异验证:boot 后强置 camp_overlay.visible=true → 精确命中「菜单与营地同时在场」两条断言见红。

run_all.gd:负面套件(negative=true)全文输出折叠、只回显结论行——它输出里的 Parse Error 是预期产物,
回显出去会让编排层的日志扫描把集成/负面用例的正常输出误判成真实脚本错误(首跑即撞)。

入轻闸默认段(ui_contrast 之后);轻闸 --quick 墙钟 363s → 405s(新探针约 40s),轻闸上限内。
2026-10-16 15:41:01 +08:00
DKChan c4fa65ef44 feat(迭代29 T3): L2 集成层建承载——integration/ 首个用例 + parity 收编为条件闸件
建 game/tests/integration/(此前只有章程句无实体):首个集成用例 save_rng_roundtrip_test.gd
=存档 ⇄ RNG 快照往返,17 条断言,跨 SaveManager(落盘+版本迁移链)× AdventureRunner(断点消费)
× RngService(续跑零跳号)× 停点态确定性。与 unit/core/breakpoint_resume_test 的分工:那件是单测
只验首战开板一致,本件验跨系统闭环——含「旧版本档经迁移链后断点仍可续玩」这一真实玩家路径。
并入 run_all manifest(27 套,零新机制)。
变异验证:把断点 rng_counter 改坏 → 精确命中「续玩取数号位 = 断点号位」断言见红。

tools/run_all_gates.sh 新增 11 号「回放确定性对拍」**条件闸件**:每次跑批都对 merge-base 做一遍
触面判定(data/tables/rng_service/save_manager/meta_progression/settlement/damage_math/
damage_controller/battle_orchestrator/adventure_monte_carlo),未触面 SKIP;触面也**不自动跑**——
对拍调的是 MC 脚本,属「跑批发起前须用户批准」红线,闸只负责把触面判定做一遍并显式要求批准
(批准后 PARITY_APPROVED=1 重跑),杜绝「该跑却没人记得」。指纹逻辑把 SKIP/NEED-APPROVAL 同记 skip,
两种未跑状态互变不算闸况变化。baseline.json 登记 11 闸条目(新增闸件否则会判「无基线」而红)。

README:目录布局增 integration/;新增「测试三层与承载目录」节(L1/L2/L3 各自的判什么/承载/入闸方式
与分层判据);integration 章程句由「将来落地」改为「已建承载」。
2026-10-16 15:20:25 +08:00
DKChan 853bd12baa docs(迭代29 T2): 术语订正与 CI 残留清除(机械面)
README:CI 残留 6 处全清——头注 CI 行改「门禁=本地闸」+无远端无 CI 声明、目录布局「CI 冒烟统一入口」
→「单元套件统一入口」、Running「CI 调用点」→「本地闸 02 闸调用点」、「CI 旁必须配外部超时」
→「本地闸必须配」、Static Scan「提交前双跑:本地+CI」→「提交前本地跑」、「## CI」整节(含 gdUnit4
安装说明)→ 改写为「## 本地闸(唯一验收门禁)」。
run_all.gd 头注 CI 残留 2 处清除(外部超时改本地闸、探针由 probe_gate.sh 调用)。
CLAUDE.md 单件直跑清单里 run_smoke.py 标注为「系统级断言面」并指路术语表。

术语:新增 README「术语(本项目内的唯一语义)」小节——冒烟=秒级存活检查/单元套件/场景探针/
集成用例四词各归其位,并显式点破两处历史遗留命名(run_smoke.py 与 game/smoke/ 名带 smoke,
实际承载的是系统级断言面与场景探针,判定看语义不看文件名)。「逻辑冒烟」全库清零。
README 套件计数按开工日读数订正为 26(example_test 退出生产 manifest)。
2026-10-16 15:11:17 +08:00