DKChan
|
55cdf683da
|
docs(卡片): 退役 11 张失归属需求卡片(迭代 20–30 已完成批)+清偿全部指路与死链
按 doc-conventions §11「吸收即死」「删除不留死链」执行:
- 删 11 张:迭代 20–30 各批卡片(含迭代 28 启动装配卡——roadmap 卡片列早已写「已退役」、文件却仍在盘,属漏删)
- roadmap 卡片列 10 行改「已退役(git 历史可考)」(流水线闸对保留字豁免,pipeline_gate.py:303-309)
- reports/iter27–30 四份报告头部卡片路径改保留字,不留指向已删文件的路径
- 保留卡(战斗一屏样张批/二三关棋盘观感批)对已删卡的 6 处指路改结论内联+提交号
(徽章卡 7ffd1dc0/测试分层卡 fff4f120),各加一行「指路订正(2026-10-20)」
- 顺带清偿 2 处既存死链:07-体验验证清单 ㉑ 节、HUD框架 视野迷雾注记(两卡早已退役,历史删卡未做引用面清理)
- 顺带清偿 3 处 game//tools/ 下遗漏引用:theme/README、forge.tres T1 注、parity_anchor.py 头注
保留 10 张未开工卡(迭代 31 两张、06 在册营地五卡+资源配比、被剔除回待设计的样张/观感两张)。
零设计裁决变更、零数值变更。
|
2026-10-20 03:37:31 +08:00 |
|
DKChan
|
becb675aca
|
merge: active.md 残留清理批入库——10-18 五张待执行卡摘「唯一例外=active.md」假指令15处+baseline 08b 死记录再删+recolor 头注出处摘除(全量闸 066a9f7e 全绿,零新增红;09 静态扫描红转绿改善)
|
2026-10-20 01:14:50 +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
|
0e711ac106
|
docs(readme): 根 README 落地为纯指路牌——设计/流程/当前位/待办四个链接零规则重述(用户裁:只要告诉别人怎么开发的介绍,权威各自原文承担);同批两处白名单义务:AGENTS.md Project Layout 根目录行+repo_structure_audit ROOT_FILES
|
2026-10-20 00:36:57 +08:00 |
|
DKChan
|
776f5dc130
|
chore(留档): 摘除旧 GDD 模板 .claude/docs/templates/——解读对象 design/archive 已删,模板内两处 registry 指针随注销批一并消失;doc-conventions 第 1 节与 gdd_lint 头注改指现行口径
|
2026-10-19 20:10:53 +08:00 |
|
DKChan
|
d54cbed7a5
|
docs(registry): 注销 design/registry 两处 yaml——GDD 现在时指针 76 处改指真权威+地形变异/存档序列化/数据配置等同批换代+iter31 反哺点 §三 registry 节删除+doc_term 登记 registry 退役词 --strict 零疑似现行
|
2026-10-19 19:57:00 +08:00 |
|
DKChan
|
049544d1d7
|
docs(rules): registry 注销第一批——规则文本与闸脚本层改指真权威(AGENTS.md/五份规约/6 个 tools)+架构文档补吸收 CJK 字体与呈现层订阅禁令两项
|
2026-10-19 19:50:44 +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
|
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
|
53ad8c9e0b
|
Merge branch 'master' into hygiene-20261018
# Conflicts:
# design/gdd/06-待办清单.md
|
2026-10-18 20:14:02 +08:00 |
|
DKChan
|
76868d7228
|
feat(闸): pipeline_gate 补两条卡片机检 C1/C2——卡片冲突修订批的防回归兜网
- C1 文档义务口径(生效=文件名日期 ≥2026-10-17):关联文档同步面表内目标格指向 design/(含 ../gdd/ 等相对写法)或根规则文件、义务格仍写「随批」者红——req-card §6 改口径后旧措辞「机械面随批」不得再入卡
- C2 设计事实源声明(生效 ≥2026-10-18):全文既无「设计事实源」也无「唯一事实源」者红;两种合格写法都认(独立小节/头部「来源:…(唯一事实源:…)」),避免按小节名字面判死全库卡
- 只追新规生效日之后的卡,更早的卡属已实现批次历史留档,不回头改(同「换代清零+定期跑批」先例,不设豁免清单、不加编辑期钩子)
- 负向验证已做:临时卡注入两处违例→两红(design 目标红、game/README 行不误红)→删除复跑绿;文档域闸全绿无新增红(回执 commit=ad48d2a2)
- 同批另修两份技能文件的「设计事实源」字面对齐(.zcode/skills 与 .qoder/skills 双写逐字一致)——两目录均被 gitignore,该改动只在本机盘上、不入 git
|
2026-10-18 19:56:11 +08:00 |
|
DKChan
|
c167affae2
|
chore(卫生): 闸域表口径对齐机器+删退役仪表盘工具+清基线 08b 记录(2026-10-18 用户点令三项)
①architecture.md 闸域表第三列与机器侧不一致已修:原写代码域触发含 `game/`、`tools/`、`artwork/`,而 worktree-guard 现行判定只有 `_p.startswith("game/")`(:149-151)、run_all_gates.sh 头注也只认触及 game/——`7bdf53e3` 改判时漏改的第二处。同时查出 roadmap.md:88「重闸」步仍带同一条旧口径与「改闸件本身→全量」旧条款(该义务已由 7bdf53e3 换成「闸件自身改动不占合回全量,质量义务=落批时变异验证」),一并换代。
②删 `tools/loop_dashboard.py`(529 行):roadmap 早在 2026-09-27 重整批就宣布它退役、职责交 06 与状态记录,全仓现行文档/闸序列/技能零调用(git grep 只命中自身);它的主要数据源之一 active.md 快照节已于本日废除,「台账健康」栏(撞号检测与下一编号建议)随编号方案一起失效。它唯一不重复的能力=引用版本与被引文档现行版本的落后比对,已按现存格式重立为 `doc-consistency-check` 技能第 10 项人工核对(比对面从已消失的 07「当前批次来源」行改到 06 的闭合凭据)。试跑该新件即命中真问题:06 有一条凭据写「元进度.md v1.0」而该文档现行已 v1.21,另有一条 character-design.md v1.9 取不到现行版本可核。
③删 `game/tests/.gates/baseline.json` 的「08b active.md 体量」记录(基线 13 闸→12),本批 diff 因此触及 game/,按域判据跑全量档(代码域+文档域)。附带 `tools/path_check.py` 去掉已失效的 active.md 跳过项并把注释里「排除台账类文件」的旧说法改成与实际扫描面一致的表述(实查该工具扫的只有 .gd/.tscn 与 design/art/*.md,从未跳过 *checklist*/*memory*)。
|
2026-10-18 16:18:13 +08:00 |
|
DKChan
|
27812167ef
|
refactor(状态规矩): 废除根目录会话状态文件 active.md 与全套执法件(2026-10-18 用户裁)
判据(对 869 个 ZCode 会话与 16 个 Qoder 会话的读写统计):active.md 被整文件读 448 次、
单次中位数 14 KB、累计 6.09 MB 进上下文,311/320 个碰它的会话把它当第一个工具调用读;
但 7311 个提及它的思考片段的语境分布是——写入与编号簿记 327 个会话、并行冲突与避让 234 个、
退役与失真核对 162 个,而明确写「从它所载内容得知某事实」的只有 20 个会话。
逐条核 41 个条目:独特且现行 2 条(另 3 个子句)、别处已有权威源 14 条、陈旧或自相矛盾 7 条、
已完结批次的历史叙述 18 条;按字节约 95% 属后三类。失实样本:architecture 版本记 v1.6 实为 v1.8、
规则文件数记 7 份实为 6 份、迭代 27/28 记「位预留追加卡」而 roadmap 记已完成、三个已删 worktree
仍记「在盘待删」、同一条既宣称「文档禁列闸清单」又自行列出 01–11 全套闸。
执法件已建一轮仍拦不住:08b 体量闸只测条目数/行数/编号/死链,测不出语义失真;钩子不随仓库传播,
只有 ZCode 在跑;10-15 清到 8.6 KB、10-17 回到 40 KB,用户为「只写不删」连续三次发火。
改动面:
- 删 active.md 与 tools/audit_active_state.py;run_all_gates.sh 摘除 08b 闸件与头注、
baseline.json 删 08b 记录(现存 12 闸)、repo_structure_audit.py 根文件白名单去 active.md
- doc-conventions §10 改写为「仓库根不设状态文件」并留裁决与判据(保持 §11/§12 编号不漂);
§11 表两行去状态文件口径;§4 适用范围去 active.md
- process-conventions §1 第 2/3 条(合回前查尾号防撞号、豁免面)、§3 第 12 条(批次完成后的
登记义务)、§6 分级周期口径(闸件清单不再在文档重列)四处换代
- code-conventions「实现批收尾双登记」改为单登记;CLAUDE.md 目录节、规范导航行、worktree 豁免
行三处换代,红线新增「仓库根禁止设会话状态文件」一条
- roadmap.md 顶部新增「当前位」三行(阶段/迭代位/下一步)接替原快照职责,头注、执行纪律第 3 条、
loop 规范第 8 条、维护纪律四处改指 06 与本文;reports/README.md 与 sim-data/README.md 两处
现行指路改口;architecture.md 文档域闸表行去 active.md 体量闸与触发路径
- 06-待办清单迁入七条真残值(原仅载于该文件):卡片入库纪律悬空待办、req-card 两副本取齐、
魔法道具与罕见残留(实数 23/17 处,旧记约 30/18)、通关口径统一(gdd 内 188 处,旧记 273)、
黑话第二波待发令、数据整改批九条存疑待抽查(该批未提交面所载)、发布前删除 main.gd:196 调试
入口写死行(工程直入·待写卡)
harness 侧另批处理(.zcode/ 与用户级技能不入 git):session-snapshot.sh 与 config.json 注册、
worktree-guard.sh 的 active.md 豁免白名单、active-closing 技能、doc-consistency-check 第 8/9 项、
iter 与 req-card 技能里的「唯一例外=active.md」与查尾号条款。
|
2026-10-18 07:28:48 +08:00 |
|
DKChan
|
bbd49abfb0
|
docs(术语): 设计文档术语刷新批全量入库——2026-10-18 用户裁定(金币/插旗/旗/雷格/惩罚格 五词)design/+tools/ 域落文
- 术语表 v1.13:GP 唯一正式命名(删「局内金币」别名)+旗/控制词条更名封印/控制+封印定性由「插旗的对外表达」更正为正式动作名(全库统一、非比喻)+禁用字面从对外命名扩为全库+删「机制文档内部用语不受限」条款+退役词对照表补三行(金币→GP/插旗→封印/旗→封印印记)+危险格词条「被旗控制」→「被封印控制」+B3 豁免例举去旗
- 机检扩容 tools/doc_term_audit.py:RETIRED_TERMS 新增 金币→GP、插旗|标旗→封印 两行(DEFAULT_DIRS 不变,game/ 扫描归代码批);拔旗|撤旗行继任措辞随批换代(插旗不可逆→封印不可逆)
- GDD 全域正文换代约 200 行/31 文件:金币→GP(金币袋→GP 袋)、插旗/标旗→封印、雷格/惩罚格→危险格(2026-10-11 退役批存量补扫)、旗概念→封印印记(旗判定→封印判定/标中旗→封印标中/标错旗→标错封印/旗格→封印格/旗位→封印位等复合词系);00-游戏概念「封印降级为类型风味词」定性翻转;修订记录/版本历史/禁令引举/更名记载等留档行零动
- registry/entities.yaml(信标网络可达性/事件序/回执驱动三处)+art 五件(art-bible 封印印记六处/comfyui 背旗→背负封印印记/两清单)+dev 七件(architecture 旗集→封印集/code-conventions-cases/test-conventions/架构图 html json 四件)随批换代
- tools 四脚本注释与图内标注换代(clear_dominance_audit/render_sample_sheet×2/analyze_playtest;代码标识符零动归代码批)
- design/qa/代码术语审计报告-2026-10-18.md 随批入库(本批参考素材,06:578 引用闭合 doc_link 死链)
- 06-待办清单/术语表两在途脏件(代码术语批 06 登记+A 表头「不用→禁用」)随批一并入库
自检:doc_term_audit --strict 零疑似现行(45 文件 434 命中全留档类);文档域六闸验收通过无新增红(gdd_lint R3 对 00 正文修订注记一次打回已去注记化改写;doc_link 死链经报告入库闭合);正文残留仅 06:73「拔旗」一处(件派生动词白名单豁免语境、机检同款豁免,设计意图记录不动)
|
2026-10-18 06:15:38 +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
|
25a7c85bf1
|
gate(domain): 合回闸推域改 game/ 唯一触发——tools/artwork 出代码域,跨领域执法禁绝(2026-10-18 用户裁「只有改了 game 的才需要代码域全量测试验收,其他修改只跑自己领域相关的验证,不要跨领域执法」)——worktree-guard.sh 推域逻辑逐路径重写(触 game/→要求 code;不触 game/ 的一切路径——design/、根规则文件、tools/ 工具脚本、.zcode/ 配置、其余一切→要求 docs;同批混触两域→两域都要=全量档;删 CODE_PATHS/DOC_PATHS 三前缀判码与分支,artwork/ 死条目随之消失,「未登记按最严」被新逻辑自然吸收)+报错指引文案同步(--code=触及 game//--docs=不触 game/ 一切改动/不带参数=同批混触 game/ 与文档面;「跨两域或改闸件本身跑全量」口径全数退役)+process-conventions §3 第10条域划分细则重写+闸件自身改动不占合回全量(质量义务=落批时变异验证 test-conventions §6+闸崩溃 fail-closed 无回执即拦,不以合回全量为兜底)+第11条合并后复跑按域缩水(触 game/ 批全量复跑维持;纯文档批文档域档秒级)+§4 分级周期口径同步+run_all_gates.sh 头注三档触发条件换代(闸序本体零改动)+CLAUDE.md 运行与验证首条同步。钩子为 gitignored 本地件不入库(.gitignore .zcode/;499 批先例「hooks 属各 harness 私有配置不随仓库传播」),改动落主区唯一生效副本(.zcode/config.json 绝对路径指向)。变异验证五例 stdin 直喂全过:①仅 tools/ 夹具分支=本批核心修正面:错域回执拦且指明要求域=docs、正域 docs 回执放行(旧逻辑此例误拉 code 全量)②仅 game/:要求域=code、code 回执放行③game/+design/ 混合:docs 回执拦显缺 code+code 回执拦显缺 docs(合证两域都要)、full 放行④无回执拦⑤回执 commit≠分支尖拦(full 域也拦)+附检 quick 模式拦(五况其余未波及)。夹具走 git 底层命令(hash-object/read-tree/commit-tree)零工作区触碰,分支 zz-domain-test 验完即删零留痕。本批为旧推域规则下最后一次全量自付(diff 触 tools/ 按旧判跨两域,全量闸自付见收尾回执)
|
2026-10-18 03:44:52 +08:00 |
|
DKChan
|
31bdecd6d5
|
tools(pipeline): 流水线闸对齐 doc-conventions §12 状态段累积制——+切段数不限逐段合法(废双轨恰两段上限),新增在场约束(下游段在场须上游闭合段,带日期特批豁免)与双轨设计阶段恰两段且一文档一美术;roadmap 卡片列 <br>/换行多卡逐卡校验存在性且免整格长度叙述红(§12.2 一格一行一卡),预计周期超 2 周带日期特批放行;交叉核依据收窄为同状态行已写卡段括号路径;变异验证 34 变体(6 绿 28 红)全过+还原回绿
|
2026-10-18 01:42:52 +08:00 |
|
DKChan
|
1651bc8d7d
|
tools(pipeline): 新增流水线闸——06 条目状态机(标题元数据/属性齐备/状态词白名单/条件凭据/双轨/特批/零命中)+roadmap 迭代总表六列+已编迭代↔卡片列交叉核一处,变异验证 25 变体全红+基准绿;暂不注册 run_all_gates(第二批数据整改后上闸,对现行旧格式 06/roadmap 红属预期)
|
2026-10-18 00:59:02 +08:00 |
|
DKChan
|
4a65f9eb6d
|
Merge branch 'master' into art-standee-20261006
# Conflicts:
# design/art/art-bible.md
|
2026-10-17 17:31:22 +08:00 |
|
DKChan
|
b27e4710b6
|
feat(闸): 验证闸按改动域分跑 + 迭代批禁写 design/ + 新建 reports/ 收实现批产出物
用户裁定(2026-10-17)五条:①代码批只跑代码闸、文档批只跑文档闸;②迭代批是代码实现批,
禁写 design/,文档只读、是实现批写测试与代码的输入依据;③迭代实现报告不写在 design/ 内;
④不设文档编写 skill——文档由用户在会话中讨论后落地;⑤本批属工具/规则面,不占迭代号。
一、tools/run_all_gates.sh(域划分唯一出处)
- 新增 `--code`(01 冒烟/02 单元/03 探针 --click/04 探针 --full/05 渲染闸/09 静态扫描/11 回放对拍)
与 `--docs`(06 gdd_lint/07 doc_link/08 doc_term/08b active.md 体量);10 熵增闸两域都含
(文档批新增或挪动 .md 同样会绊它,且纯文本秒级);不带参数=全量,改闸件本身或跨两域时用。
- 域外闸不入 NAMES,不产生假变化;同时修「基线绿 → 现 SKIP」被误判为闸况变化(--quick 回执
此前永远自带三条假红)。
- 回执增 domain 与 not_run 字段。
- 导出 PYTHONIOENCODING=utf-8:GBK 控制台下 06/10 两闸打印 ✅/✗ 直接崩(假红)、09 的 FAIL 行
写成乱码字节致指纹漂移(假「红项清单变化」)、末尾汇总自身崩打不出结论——2026-10-16 实踩。
- 新增代码域素材齐盘预检:game/assets/art/** 与一切 *.import 边车都不入 git(2026-09-29 裁定),
worktree 冷检出必空盘 → main_theme.tres 解析失败 → 冒烟 V1 七项假红。缺位即拒跑并列缺哪件,
附处置命令(cp 主区素材 + --editor --quit 刷导入;--import 不生成新素材边车)。
二、tools/render_gate.sh(空跑判绿改判红)
- 棋盘/菜单两段 golden 在素材缺位时原为 SKIP,而闸末照样打印「全绿」exit 0——一个像素都没比
却报通过。2026-10-16 菜单废基线事故正是靠这个信号盲区混过 worktree 自检的。现改判红。
三、reports/ 新顶层目录(实现批唯一可写目录)
- 收迭代实现报告/代拍板追认单/GDD 反哺点清单;repo_structure_audit.py TOP_DIRS 与 CLAUDE.md
Project Layout 两处白名单同批改齐(熵增闸自陈的强制口径);reports/README.md 立范围与生命周期。
四、规则文本五处同步
- CLAUDE.md:验收口径改按域;硬性红线新增「两类批」条(迭代批禁写 design/ 与根规则文件、
产出只落 reports/、只跑代码域闸;非迭代批不占迭代号);Project Layout 登记 reports/。
- process-conventions:§3.10 批末按域验收;§3.12 补 active.md 例外(会话状态唯一源,钩子本就
豁免);§3.13 重写为「实现批禁写文档、产出物落 reports/、反哺点由文档批裁决后写入」;
§4 分级周期口径改三档;§2 三段流程「三·实现」行加禁写面。
- doc-conventions 载体分工表:迭代实现报告落位由 design/qa/ 改 reports/。
- architecture.md「测试与质量域」:新增「改动域划分」节(域表+唯一出处声明+素材预检缘由),
本表是现状登记非第二份清单。
- 06-待办清单:登记本批两处代拍板(active.md 例外读法、reports/ 新顶层目录)与旧实现报告
iter27/iter28 两份仍在 design/qa/ 未迁位的欠账。
五、连带(不在本仓库,gitignored 本地 harness 配置)
- .zcode/hooks/worktree-guard.sh:合回校验由「不碰 game/ 即全免」改为按 diff 路径推定所需域、
要求回执 domain 覆盖之;未登记路径按最严处理,禁默认放行。旧豁免的漏洞:改闸件本身反而零验证。
- ~/.zcode/skills/iter/SKILL.md:顶部加批性质与闸域两条强制声明;批末重闸移出 doc 三闸;
总收口产出物改落 reports/、roadmap 换代移出本批;定义面入库注明是搬运非撰写。
验证:--docs 域全绿(06 由基线红改善为绿,因 fcb8c3f8 已补 01 篇流程图);素材预检反例实测
(移走 button_stone.png → 拒跑 exit 1,还原后正常);渲染闸缺盘反例实测(exit 1 并报 FAIL);
--code --docs 互斥与非法参数 exit 2;guard 内嵌 python 编译通过并按 docs 域回执放行 docs 批。
|
2026-10-17 00:40:53 +08:00 |
|
DKChan
|
fff4f120d3
|
merge: 迭代29测试分层与门禁语义修正批入库(十提交, worktree g-plan2-iter29-testlayers)
|
2026-10-17 00:13:57 +08:00 |
|
DKChan
|
cc575b2ce3
|
feat(闸): 文件头闸增补 R0 载体锁死——头注非空时首行必须 ## 文档注释开头
清偿批落地后按 §1.4.1 收尾条款生效;盲测=旧式 # 头注命中/## 与无头注放行
|
2026-10-16 23:28:09 +08:00 |
|
DKChan
|
9a72394652
|
chore(代码卫生): 头注存量清偿批——82 文件按两类白名单改写为 ## 文档注释载体
按 code-conventions §1.4.1 第三轮定稿执行:core 22+schemas 18+presentation 根 14+views 28,全部头注 #→##、删日期/变更叙事/GDD 与架构反向链接/字段与域清单/机制描述,保留职责摘要+真实使用约束(防事故禁令/单一入口/信号契约每信号一行)。main.gd 31→5 行、save_manager 45→5 行、adventure_runner 37→5 行为最大单件。子代理分模块执行(波一 core+schemas、波二 presentation+views,并发≤2)。验收=tools/verify_comment_only_change.py 逐字节校验(82 文件头注区外逐行一致=零行为变更)+audit_file_headers 全绿;纯注释批免冒烟(先例 5843270)
|
2026-10-16 23:28:07 +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
|
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
|
8c82d3bf56
|
feat(迭代29 T1): 本地闸三硬闸落地——退出码/脚本错误扫描/断言数下限
①退出码为唯一权威判据:probe_gate.sh 八件探针(轻闸 4 + full 4)判定统一走 verdict 函数,
退出码≠0 即红,PASS 串降级为附加判据(ui_click_probe 本就走退出码语义,签名标记传它自己的
click_probe 串,不强加 PASS)。
②脚本错误扫描闸件 tools/error_scan.py(标记 import 自 run_smoke.py,禁第二份清单):
probe_gate 逐探针段扫日志;run_all 侧因 --script 子进程的 stdout 管道恒空(OS.execute 在本机
Godot/Windows 组合下拿不到输出,且 GUI 子系统 exe 的 stdout/stderr 句柄无效),改为整条命令
交给系统命令解释器重定向落盘再读,退出码原样回传——引擎二进制取 *_console 版(GODOT_BIN 优先)。
③断言数下限:Kit.finish 在 checks==0 时返回专用退出码 2(不是 1——致命类套件期望 1,返回 1 会被
expect 协议放过);run_all 汇总校验实跑套件数 == manifest 条目数。
④example_test.gd 退出生产 manifest(协议活样板,文件保留;同类先例 fog_lantern 摘除)。
变异验证(三反例 T0 判绿、T1 后全部判红):零断言套件 exit=2 判红/脚本错误套件命中 SCRIPT ERROR
判红/探针打印 PASS 后 quit(1) 判红「PASS 串不抵」。
本卡附带裁决落地(均已用户裁准):
· fx_grant_gp 补进行来源断言豁免表(grant_segment 的专长 GP 入账行无棋盘来源格,每局触发 7 次
断言失败却因脚本错误不改退出码长期漏过;迭代 21 同款修过 fx_reveal)。
· manifest 增 negative 字段,仅 reward_dangling_treasure 一件(坏表是其测试目标,错误扫描误伤)。
· config_db_test 的 rows 定型数组赋值改 rows.assign——原写法触发 Invalid assignment 中断整个函数,
敌人表行集三条纪律 10 条断言从未执行过(31 处 check 实跑 21 条);修复后 26 条全跑,其中两条正向
断言见红,根因是夹具缺 depth-0 锚行(validate 的 anchor 规则),补锚行后全绿。
· system_contracts_test 的 RngStub/UnitContainerStub 空桩换真实实例(定型成员赋值报 type 空)。
|
2026-10-16 15:08:13 +08:00 |
|
DKChan
|
9846a29f4c
|
fix(呈现): 主菜单副标题「扫雷的因 · 逐行兑现的果」整个删除(2026-10-16 用户令——无意义标语,玩家可见面禁扫雷字眼)
- ui_assembler.gd: 副标题 label 两行删除(标题与分隔线之间;局部变量无外部依赖,VBox 回流)
- shot_probe.gd: menu_sub 文字锚/自检腿退役(menu_title 保留)+ 菜单段头部历史注记换代
- shot_checker.py: 菜单·副标题 box/presence 两断言腿同撤(_meta 记录端随 pair 列表自断),不重锚
- golden: menu_boot.png 基线换代——触发原因=副标题件删除画面少一行字(呈现类批内换代,Q6 口径;提交说明强制成因即本条)
- 文档四面同步: 01-核心循环 节标题改「一场战斗的流程」(口号句无承载价值,正文已释流程);HUD框架 双舞台段删口号句保留因果论点并句;教学引导 P0 最小集合候选删「归因提示」项;07 ㉗ 目检判据删副标题字样
- 验证: shot_probe 问题=0;render_gate 全绿(shot_checker PASS / 棋盘三屏 golden OK / 菜单 golden changed=0.00% / 残留 Godot=0);改动面 7 文件(含基线 PNG)
|
2026-10-16 04:33:17 +08:00 |
|
DKChan
|
e8ceb27243
|
chore(闸门): doc_term 升级为硬判定(2026-10-16 用户令,用语规范批第二步)——tools/run_all_gates.sh 文档三闸段 08 doc_term 加 --strict:疑似现行 ≥1 即该闸红 → 回执红 → worktree-guard 拦截合回主分支;专项补扫通道(随批/台账)本并入同一判定。通电验证——现状全绿 exit 0、注入违规行 exit 1、删除回绿;基线零漂移(此前全库疑似现行已随换代批清零,exit 码不变)。按用户令不做编辑期钩子(每编辑起 Python 进程的性能损耗否决,改为定期跑批扫描),不做豁免清单机制 tools/doc_term_known.txt
|
2026-10-16 02:55:36 +08:00 |
|
DKChan
|
4d3f8d6653
|
merge: master 二次吸收(ADR 体系废除批+布局闸入库)
# Conflicts:
# design/gdd/02-系统清单.md
# design/gdd/systems/冒险循环/冒险结构.md
# design/gdd/systems/表现与支撑/数据配置.md
# design/gdd/ux/battle.md
|
2026-10-16 00:08:01 +08:00 |
|
DKChan
|
19d036ce2c
|
merge: 布局闸入库(layout_probe 补回分辨率几何断言·两档)
档位表是数据、断言是一份函数据——测试代码量与档数无关,增删档只改数组一行。
档位按 battle.md 现登记的两档(1280×800 / 1920×1080),未新增。
修正旧探针的假断言:headless 下 get_window().size 不改变视口(实测),
正确接口是 content_scale_size。旧探针「1920 档恒定」永远为真。
变异验证两发:B区高度撑爆→5 条红✓;注入全幅兄弟控件→未见红✗(边界已如实标注)。
挂 probe_gate 默认必跑段。全量闸 9绿1存量红,回执 commit=5af6c8a8。
|
2026-10-15 23:55:53 +08:00 |
|
DKChan
|
6c2dbc37c1
|
docs: ADR 体系废除 + architecture.md 确立为架构唯一事实源(2026-10-15 用户令:决策记录归 git commit log,不另存决策文档)
- 删除 design/dev/architecture/adr-0001~0007 共 7 份文件(内容留 git 历史可查)
- architecture.md:删「ADR 审计」「ADR 立项清单」两节;清除全文 ADR-000X 注记、QQ 表/S 表 ADR 引用;未决表关闭已落定项(QQ-01/02/03),立项清单在途事项转登记 QQ-11~14;补 A1 生成姿态事实、autoload 四件清单、board_generator 性能姿态;文档状态立「事实源地位」条
- CLAUDE.md:恢复 RNG 单点硬性红线(去 ADR-0007 引用);新增「架构事实唯一源」红线;规范导航架构行标注唯一事实源
- doc-conventions:§5 增「架构事实唯一源」行;§11 活文档清单补架构文档
- registry:architecture.yaml 删 18 处 adr 字段、autoload_set 补 SaveManager/MetaProgression、board_rending 更新为 Node2D 已落地事实;entities.yaml 12 处引用清除
- game/ 代码注释约 60 处清 ADR-000X 引用(事实与日期保留);豁免标记 ADR-0007-exempt → rng-seed-exempt(main.gd/static_scan.sh/architecture.md/06/iter27 五处同步)
- GDD/qa 实现报告/research 卡片/roadmap/tests README 引用全清;死链校验 1206 链接 0 死链、gdd_lint 0 不通过
- 代码中 adr/adr5 等为 adventure_runner 既有局部变量名(非 ADR 引用),未动
|
2026-10-15 23:52:30 +08:00 |
|
DKChan
|
5af6c8a8b4
|
feat(布局闸): layout_probe 补回分辨率几何断言(两档·一份断言函数据)
背景:孤儿探针 ui_layout_probe 退役后1920 档布局几何无机器承载。重建但改形态——
「档位表(数据)+ 一份不变量断言(代码)+ 循环代入」,测试代码量与档数无关,
增删档位只改 VIEWPORTS 数组一行。这与业界 Playwright parametrize/projects 同构:
同一个 test body 跑多档,变的只是输入表与基线图张数(数据非代码)。
档位按 battle.md §验收现登记的两档:基座 1280×800、16:9 全屏 1920×1080。不新增档。
关键修正——旧探针那条「1920 档几何恒定」断言是假的:
设get_window().size = 1920×1080 → 逻辑视口仍是 1280×800(headless 下不生效)
设 content_scale_size = 1422×800 → 逻辑视口 = 1422×800(真生效)
Godot 文档指定的运行时改基座接口是 content_scale_size;旧探针用错了 API,
其断言永远为真、当年报 PASS 是假绿。本探针改用正确接口。
断言面(每档跑一遍):三区非零/不越视口/两两不重叠/board_view ⊆ board_zone/
格子边长 ≥36px(battle.md §棋盘格尺寸公式 1280 档 12×12 → 36px)。
变异验证(CLAUDE.md 第9条)两发:
① battle_stage_view B区 252→700 → 5 条红(两档都中)✓ 还原后 PASS
② 注入全幅 ColorRect → 未见红 ✗ —— 判据只点名三区不覆盖第四个兄弟,
该缺陷类不在拦截面内。已在代码注释标明边界,未过度设计补递归遍历
(递归全子树查重叠极易误报容器父子关系)。
挂 probe_gate 默认必跑段(轻闸即跑)。S10 文件头闸本批零新增。
|
2026-10-15 23:46:39 +08:00 |
|
DKChan
|
c963004236
|
merge: master 吸收(收口机制批+闸收敛批二+10-15 文档落库)——冲突五件解毕:术语表/02/数据配置取本批超集(用语规范节/同源两行/死链史实版),元进度 v1.12 与天赋树 v0.5 取主区侧(更名记载显示文字保真),doc_term_audit 语境豁免并集(主区六组+本批 buff 组)
|
2026-10-15 23:32:01 +08:00 |
|
DKChan
|
59fdb15567
|
docs(gdd): 用语规范批 W2——systems 十九篇词面换代 74 处(收口 21/不得 13/报错 7/若干 8/对拍 3/在飞 1/落文 2/随批 2 等按 A 表与语境义改写)+死链修复 2 处(武器锻造→锻造工坊漏改指路)+锻造工坊文头 v0.7→v0.8 失同步补齐;doc_term_audit 增设随批/台账专项补扫通道(白名单自豁免词的版本历史节外可见性)。秘宝充能 2 处与对照性收口 3 处按豁免保留
|
2026-10-15 22:45:56 +08:00 |
|
DKChan
|
20f4a7dc01
|
feat(收口闸): active.md 体量闸并入全量闸清单——收口漏删旧条目在合回时被拦
- tools/audit_active_state.py:判四条可机械测的膨胀签名(状态记录条目数>30、
快照行数>10、条目编号重复含并行撞号、指向 design/qa|research 中间文档的死指针),
另加快照整行自我重复一项(换代不彻底只往顶部 prepend 的签名)。
- 变异验证:对换代前的 34 条版本报 5 项红(A1/A2/A3/A4/A5 全见红),
对退役后的 3 条版本报绿;两态实测 RC=1/0。
- 入 run_all_gates.sh 为 08b(脚本即清单,不另立第二份闸清单),baseline.json
随批补 08b 绿项(本分支内实测绿,非臆造)。
- 规约挂指针两处:doc-conventions §10 机械闸句、process-conventions 批次清单 12。
- active.md 按 §10 退役:状态记录 34→3 条,快照 21 行自我重复压回 10 行,
删「项目当前位置」整节(滞后且与 roadmap/快照重复),未决面按迭代 27/28 重列。
- 不动 Stop 钩子:回合末判收口时机错配(一轮答完≠任务完成),机械层交合回闸,
语义层交收口技能。
|
2026-10-15 22:23:53 +08:00 |
|
DKChan
|
eb5e892456
|
fix(闸收敛批三): .gates/.gitignore 入库 + 脚本自愈重建
合回 master 时发现:.gates/.gitignore 未入库,receipt.json 被纳入版本管理——
它是每跑批覆写的当次回执,属中间产物。
成因:重跑闸前用 rm -rf game/tests/.gates 清目录,把 .gitignore 一起带走了;
脚本自身不重建,跑得再多次也不会回来。
- .gates/.gitignore 入库(挡 receipt.json 与 *.log)。
- run_all_gates.sh 启动时自愈:.gitignore 缺失则重建,杜绝复发。
|
2026-10-15 22:07:13 +08:00 |
|
DKChan
|
3105052c51
|
docs(tools): 用语规范批 M8——doc_term_audit 吸收用语规范 A 表 10 词(对标/若干/不得/报错/buff/收口/在飞/对拍/销账销号/落文)+用语规范节入节级豁免+buff 行内代码语境豁免;术语表对外命名纪律 不得→禁止(A 表自洁)。随批/台账系白名单信号自豁免不列扫,注释在案
|
2026-10-15 21:54:40 +08:00 |
|
DKChan
|
94f1bba840
|
fix(闸收敛批二): gdd_lint 分域豁免 + doc_term 语境豁免 + 孤儿探针退役
用户令四条:清单类与术语表免 GDD 规范性检查、退役词统一处理、文件头另处解决、
无使用的探针全删。
- tools/gdd_lint.py:新增 RULE_EXEMPT(规则粒度分域豁免,**按规则不按文件**)——
06 免 R3/R4/R7、07 免 R3/R5/R7、术语表免 R2/R5。
理由逐条写进代码注释:R3 禁修订注记与「登记处条目要能回答谁在何时裁的」直接冲突;
R4 版本历史节与 06「解决即移除」的状态登记体裁冲突;R5 是节名含「流程」即触发的误匹配
(07 的「㉖全流程走查」是目检清单节、术语表「开发流程」是词条节);
R7 长括注在登记处是常态。
**机械可判的完整性规则 R6/R8/R9/R10/R11 一律不豁免**,真缺陷不得藏起来。
- design/gdd/术语表.md:版本号撞号订正(10-12 那条 v1.2→v1.9,两条 10-13 顺延 v1.10/v1.11),
按真实时序重排。原撞号源于 2026-10-11 与 10-12 两批各写一个 v1.2。
- tools/doc_term_audit.py:五组退役词按语境豁免而非改正文——
充能(秘宝主动件现行机制,扩 exempt 信号)、可选类道具与雾格(否定式引用「现行池内无可选类」
「不做清单」——替换会毁掉句意)、伏击/heavy_multiplier(battle.md 占位表里的退役敌人 id,
现行规格在 敌人系统.md)、拔旗(06 待办「件派生动词白名单」是待评估设计意图非在用机制)。
疑似现行 6 处 → 0。
- 孤儿探针退役:ui_layout_probe 与 ui_audit_probe 共 6 文件(.gd/.uid/.tscn)删除——
两者均无任何闸脚本执行(全仓仅注释与历史报告提及)。
连带清理 render_gate.sh 头注、board_view.gd cell_size 注释、game/README.md roster 行。
**遗留**:ui_layout_probe 原承担 1920 档布局机检面,现无承载,已在 render_gate 头注标明待补。
- roadmap.md 迭代循环第 4/5 条:轻闸/重闸改指 run_all_gates.sh,闸清单不再散落第四处。
闸况:9 道绿(含 gdd_lint / doc_link / doc_term 三闸全绿);static_scan S10 文件头 125 处
按用户令不在本批处理,已落 baseline.json 作为存量红。
|
2026-10-15 21:42:35 +08:00 |
|
DKChan
|
1d4ac91e3b
|
feat(闸收敛批): 验收闸唯一入口 run_all_gates.sh + 合回闸回执强制 + t17 探针隔离修复 + 文档闸清单单一事实源
用户令「迭代完成前必须全量跑一遍所有测试」。起因是 iter27 台账只记 probe --click 未记
--full,t17_defer_probe 红了整个迭代无人发现——根因是闸清单散落 CLAUDE.md /
process-conventions.md / test-conventions.md 三处、彼此不一致、且无任何机器校验。
- tools/run_all_gates.sh(新):全部验证闸的唯一入口与唯一清单,串跑冒烟/单元/探针
--click/--full/渲染/doc 三闸/静态扫描/熵增闸共十道,写回执 game/tests/.gates/receipt.json。
与 baseline.json 比对判定:基线红且红项清单未变=存量红零新增(不判失败),
基线绿转红或红项清单变化=新增红(判红)。python 解释器自动解析带 PIL 的解释器
并前置 PATH(渲染闸三个脚本依赖 PIL,用错解释器会假红)。
- .zcode/hooks/worktree-guard.sh:Bash 分支加合回闸——merge/rebase/cherry-pick 进
master 前按目标分支反查 worktree 回执,校验 commit 匹配/非 quick/无新增红三态,
任一不满足 exit 2 拦截(九态实测:匹配放行、commit 错/quick/含红/无回执/rebase 全拦)。
- game/smoke/t17_defer_probe.gd:隔离面从 main.save_manager = iso_c 改
ProbeUiUtil.isolate_save(iter27 已确立口径)。原写法对 getter-only 属性赋值无效
——组合根 save_manager/meta 是 autoload 读视图,隔离必须落在单例上。修复后 --full 转绿。
- doc_link 三处死链归零:数据配置.md 已退役探针指路、元进度.md/天赋树.md 已改名文档链接。
- CLAUDE.md / process-conventions.md §3第10条 / test-conventions.md §4 三处
「交付前跑什么」统一为一句话=跑 run_all_gates.sh,删散落清单。
闸况:冒烟 0 / 单元 0 / --click 0 / --full 0 / 渲染 0 / doc_link 0 / doc_term 0 /
熵增 0;gdd_lint 与 static_scan 为存量红,已落 baseline.json 待判读清偿。
|
2026-10-15 21:16:38 +08:00 |
|
DKChan
|
67342c690e
|
feat(迭代28 T4): 渲染面内容断言三件(探针自检+墨色判据+启动态菜单 golden)
①shot_probe.gd 两条自检进 _problems:boot 态顶层可见层=start_overlay(内容层树遍历——屏壳容器不当候选,camp 壳透明实证);菜单标题/副标题 label is_visible_in_tree 且 rect 落屏内;隔离档 refresh_resume 开=菜单截图不依赖真实档断点态。②shot_checker.py 增 F 字在判据:菜单文字框与中位灰度差>60 像素占比带 [2%,55%](极性无关——亮字暗底同判;实测标题 13.07%/副标题 11.47% 定 provisional 阈值;对比度只判反差不判字在的缺口由此补)。③启动态菜单 golden:帧差前置验 0.0000%/max_diff=0(光柱静态贴片零动画);golden_baseline_refresh.sh 扩 --menu 模式(shot_probe 取材→game/tests/golden/menu_boot.png,字体+按钮石纹素材守卫);render_gate.sh 补菜单 golden 对比段(素材缺位 SKIP 同 Q5 口径)。闸=render_gate 全绿(探针问题=0+checker A-D/F 全过+棋盘 golden 0.00%×3+菜单 golden 0.00%)。注:本机 render_gate 需 gamedev venv Python 前置 PATH(闸机脚本调 python(PIL),本机默认 python 无 PIL——用户侧环境自带)
|
2026-10-15 07:28:38 +08:00 |
|
DKChan
|
a2d6e03df2
|
feat(规约): 文件头≤8行白名单制第二轮立规+头注机器闸S10(2026-10-15 用户令)
code-conventions §1.4.1 换代:## 文档注释载体+8行上限+五类白名单+黑名单+写法权威参照(Google Python Style Guide §3.8 + PEP 257,GDScript 官方指南无文件头条款不自造标准);§2.1 信号契约改入发送方 ## 文档注释每信号一行、计入上限;CLAUDE.md 硬性红线同步换代;新建 tools/audit_file_headers.py(R1行数/R2日期/R3变更叙事,正例反例边界例盲测通过:恰好8行过/机制词结算批不误伤/无头注过),static_scan.sh 挂 S10。纯规则与工具零行为变更;实测存量 125 处约 90 文件,清偿批在册待发令
|
2026-10-15 04:45:00 +08:00 |
|
DKChan
|
b605022001
|
feat(迭代27 T5): 波五a 类型闸拉起+存量收口——审计器 0 存量+warning 配置在位
P1-6 类型闸(须 T1-T4 全落后——本波按执行顺序锁殿后):
- tools/audit_type_hints.py 新机器闸(V7): R1 无类型容器注解/R2 有值返回缺返回类型/
R3 参数缺类型三规则+行级 # type-hint: ignore 显式白名单通道;产品码 core/data/presentation
- 存量收口: 368 处显式 Array/Dictionary 非参数化注解→机械参数化(Array[Variant]/
Dictionary[Variant, Variant] 零行为面);13 处参数真类型(SaveManagerCore/ConfigDb/
BattleOrchestrator/MinesweeperRules/LevelRunner/SettingsStore 等)
- 白名单豁免四处: board_generator generate/_attempt/legality/_finalize 的 db 参——
测量面 _BoardRowStub 冒烟夹具鸭子型注入(typed 参拒 stub)
- project.godot 拉起 gdscript/warnings/untyped_declaration=1(V7 源码断言在 smoke _smoke_type_gate)
- static_scan 新 S9 类型闸规则;顺修历史 cd 错位(9-24 布局迁移后 /.. 落 game/ 致守卫
恒跳过静默空转——修复后 S1-S4/S9 首次实跑全绿)+S1/S2 增 ADR-0007-exempt 标记豁免通道
(main _seed_value 引擎熵源=文档化豁免面)
验收: 冒烟 1081/0(+V7×2)+run_all 27 套+static_scan 全绿+probe click+render golden+对拍三变体全同
|
2026-10-15 01:05:17 +08:00 |
|
DKChan
|
fc7fee03bd
|
chore(迭代27 T0): 逐位一致对拍锚冻结+探针迁移对照表
- tools/parity_anchor.py: 三变体(base/attune/shop)×40局 RUNSUM+JSONL 双面哈希对拍(V1 核心验收载体)
- anchor.json: 重构前锚(种子面 71000/72000/73000 错开,覆盖 base/同调账/商店-GP 账三类重构面)
- 探针迁移对照表: 11 挂载面逐一列成员依赖与迁移方向(卡片 T0.3)
|
2026-10-14 19:15:05 +08:00 |
|
DKChan
|
af2d834e78
|
feat(迭代25): UI 全局主题批 T0-T2——全局主题资源挂载+两处局部做法退役+冒烟 V1-V6 断言
- T0: game/assets/theme/main_theme.tres 挂 project.godot gui/theme/custom——
15 类型全覆盖(V/HScrollBar·ScrollContainer·H/VSlider·TooltipPanel/Label·
LineEdit·SpinBox·H/VSeparator)+预盖 CheckBox/CheckButton/OptionButton/
PopupMenu 弹层;default_font 显式指现役同字体(V6 中文字形防御);
位图生成脚本 tools/gen_theme_icons.py(9 张纯色/几何小位图→assets/art/ui/gen/,
按 .gitignore 政策本地生成不入库);色值溯源表 game/assets/theme/README.md
- T1: ui_kit.gd 删 tooltip_theme()/_tip_theme 与 styled_slider()、ui_assembler.gd
删挂载行(旧实现同批删除);settings_overlay 几何内联、debug_overlay 双轨消隐
- T2: 冒烟 _smoke_global_theme() 38 断言(V1 类型覆盖+Button/focus 双红线+
V2 冻结值 5.49:1+V3 预盖证词+V4 退役零残留+V6 字体防御)
- 引擎事实(4.7.2 源码+默认主题链双查):CheckButton 与 CheckBox 同套
checked/unchecked 图标名;Slider 无 grabber_pressed 槽;ScrollBar 柄=StyleBox
|
2026-10-13 21:39:01 +08:00 |
|
DKChan
|
c5a09fd90c
|
refactor(改名批): 暂停层/暂停角标→状态面板/状态角标——用户令全量改名(文案4处+标识符全套PauseOverlay→StatusPanel/pause_overlay.gd→status_panel.gd/成员方法族+探针快照键+注释与探针消息86处清零;行为契约四件零动——只读R4/模态遮罩P2甲/输入锁R3/零动效P4甲)+render_gate截图键shot_pause→shot_status同步+文档六面(元进度v1.19/07/生涯/06条/architecture json+html;camp零命中;08-Alpha版本标准untracked禁碰留置)——冒烟938/0+run_all24套+probe --click/--full+render_gate全绿;rg 暂停|pause game/归零
|
2026-10-13 05:41:59 +08:00 |
|
DKChan
|
5a292859ba
|
docs(fix): 定时检查呈报项④⑥修复(roadmap当前位置节换代+doc_term_audit充能词义豁免;纯文档零测试)
④roadmap.md「当前位置」节 2026-09-29→2026-10-11 刷新:旧节停在 M-2/M-3 时代(已达成/挂起清单全是已闭项)且把 stage.txt 当现行阶段引用——重写为当下事实(里程碑语义换代注指针 M3=Alpha完整实现现行/M4=Beta不排期;迭代19五卡已入库+迭代20头卡待发令+21/22冻结;近期主战场=文档治理连续批+下一前沿=专长/秘宝实装批写卡与迭代20卡A;实时状态归 active.md 快照节,stage.txt 定性旧开关仅存档)
⑥doc_term_audit.py 词级语境豁免机制:充能词条退役的只是挖掘期/战斗段充能(2026-09-19),秘宝主动件「每冒险充能」(同调件使用次数账,迭代11起在役)系现行机制共用该词——新增 TERM_CONTEXT_EXEMPT(充能行含秘宝/同调/主动件/每冒险等语境信号即不算命中);疑似现行 20→3(=iter19 基线三元组,定时检查不再每轮误报 17 处)
闸:lint 2 不通过(=06/07 基线存量)/死链 1(=数据配置221 存量)+06:505 worktree 环境假象/term 疑似 3(基线)/熵增 PASS
|
2026-10-11 16:57:42 +08:00 |
|
DKChan
|
081027c579
|
docs(fix): 文档一致性修复批(定时检查呈报项①②:死链7处+lint三文件清零;纯文档零测试)
①死链修复7处:秘宝.md 10-10目录归位批漏网5处改指 systems/跨局循环/秘宝.md(01-核心循环v1.6行/02-系统清单v1.3行/奇物.md v3.5行〔连反斜杠路径一并改正〕/地形变异.md负责表+依赖表两行)+camp.md树面板行两处补../systems/前缀(天赋树/HUD框架);数据配置.md:221存量挂账维持(iter19基线在册)
②gdd_lint三文件清零:01-核心循环 R10版本历史v1.5同号顺延(10-10分界尺行→v1.7)+R5「生命周期轴(五档)」节补五档嵌套字符画〔报错原文误记「死了之后」系工具prev/cur错位——tools/gdd_lint.py R5报错节名一行修正〕+「死了之后」节顺带补死亡重开环字符画;02-系统清单 R6术语表行多余版本列摘除+R3三行状态格改写现行白话句并换代(天赋树v0.4换代定稿29节点/武器锻造v0.2/奇物27件扩容后)+版本v1.21;03-内容规模 R1超长段拆两段+目录计数换代15→12件(普通7/优秀3/稀有2——回能器删/换装券撤/第四只手删三轮漏网面)+版本v1.3
闸:gdd_lint 9文件2不通过(=06/07基线存量,01/02/03转绿)/doc_link死链2(=06:505 worktree环境假象待主区复验+数据配置221存量)/熵增PASS;版本行01 v1.8/02 v1.21/03 v1.3
|
2026-10-11 16:14:08 +08:00 |
|
DKChan
|
442cd511a0
|
修复: design/结构批——diagrams 迁入 dev/architecture(案甲,熵增闸红灯清零)+旧档 GDD 引用全量摘除(31处/29文档+code/schema头注13文件+registry 5行)+doc双工具摘design/ux死路径(工作日志 412)
|
2026-10-09 03:29:09 +08:00 |
|
DKChan
|
514c32ddfb
|
修复: 总收口批——账面与交付物(doc_link_known 登记数据配置 v0.4 历史行死链=卡①删件连带/06 存量欠账登记〔gdd_lint 3+熵增 diagrams+奇物双死链+拔旗术语旗,T0 基点复测确认非本迭代新增〕/台账 405/快照前置/stage.txt 换代 Iteration 19 Closed/实机目检总清单+代拍板追认单交付)
|
2026-10-08 19:40:27 +08:00 |
|