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
|
f22adb5564
|
docs: 落库 10-15 日间未提交文档改动——architecture.md v1.5(测试与质量域节迁入+中文化+现状同步)/ CLAUDE.md 规约导航表去 adr 指针(同 diff 删了 RNG 单点红线一行,疑似误删,由 ADR 清除批处理)/ 02-系统清单补 08-Alpha 登记行(10-13 遗留)
|
2026-10-15 23:02:55 +08:00 |
|
DKChan
|
07a0ae6e31
|
merge: 收口机制批(active.md 体量闸 08b + 退役清理 + 收口 skill)
- tools/audit_active_state.py:五条膨胀签名(条目超 30、快照超 10、编号重复、快照整行自我重复、design/qa|research 死指针)
- 并入 tools/run_all_gates.sh 为 08b,由既有合回闸回执强制,不另立第二份闸清单
- active.md 严格退役:118 行/34 条 → 45 行/4 条,快照换代为 10 行
- doc-conventions §10、process-conventions 记机械闸与豁免面(补 .qoder/)
|
2026-10-15 22:55:22 +08:00 |
|
DKChan
|
99a09ad6a0
|
docs(收口机制批): 台账按合并现状校正——499 去掉「待发令合回」失真措辞并补记 hooks 不随仓库传播(Qoder 侧活体探针未被执行、成因待诊断,Claude 侧配置为空,仅 ZCode 在跑);快照与未决面按 gatefix-20261015、ci-removal-20261015 已合入 master 换代,t17 存量红改记「曾有」
|
2026-10-15 22:54:52 +08:00 |
|
DKChan
|
de8d28b630
|
merge: 闸收敛批四(合回闸入库)
修流程性错误:worktree-guard 的合回闸代码此前只改了主工作区未提交,
master 上 hook 仍是旧版(只拦 commit 不拦 merge),闸机制实际未生效。
八态实测通过。回执 commit=a4fba15e。
|
2026-10-15 22:45:18 +08:00 |
|
DKChan
|
a4fba15eac
|
feat(闸收敛批四): 合回闸入库(worktree-guard 拦 merge 前校验全量回执)
修自己的流程性错误:合回闸代码此前只改了主工作区的 .zcode/hooks/worktree-guard.sh,
从未提交——.zcode/ 是 worktree 铁律的豁免直改面,但豁免直改不等于豁免提交,
改完必须 commit 进库。结果是 master 上的 hook 仍是旧版(只拦 commit 不拦 merge),
闸机制实际未生效。
Bash 分支加第三路:merge/rebase/cherry-pick 进 master 前按目标分支反查
worktree 回执(git worktree list --porcelain 定位,兜底扫 sibling 目录),
校验三态——回执 commit == 分支 tip、非 --quick 档、无新增红项;任一不满足 exit 2。
八态实测:匹配回执放行 / commit 错拦 / quick 档拦 / 含红项拦 / 无回执拦 /
worktree 内 commit 放行 / 只读命令放行 / rebase 拦。
|
2026-10-15 22:35:06 +08:00 |
|
DKChan
|
28265773af
|
docs(收口机制批): 台账 499 条入档 + 豁免面补 .qoder(本机 harness 配置不入 git,走 worktree 带不进去)
|
2026-10-15 22:33:37 +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
|
458085ed32
|
merge: 闸收敛批三(.gates/.gitignore 入库 + 脚本自愈重建)
修合回时发现的 receipt.json 误入库——它每跑批覆写,属中间产物。
成因是重跑闸前 rm -rf .gates 把 .gitignore 一起带走,脚本自身不重建。
|
2026-10-15 22:16:54 +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
|
4a8d57bca0
|
merge: 闸收敛批全量入库(验收闸唯一入口 run_all_gates.sh + 合回闸回执强制 + 存量红清零)
两提交:1d4ac91e 闸收敛批一(唯一入口脚本 + 合回闸 + t17 隔离修复 + doc_link 死链归零
+ 规则单一事实源)/94f1bba8 闸收敛批二(gdd_lint 分域豁免 + doc_term 语境豁免 +
孤儿探针退役 + roadmap 同步)。
闸况 9 道绿:冒烟/单元/--click/--full/渲染/gdd_lint/doc_link/doc_term/熵增;
static_scan S10 文件头 125 处按用户令不在本批处理,已落 baseline.json 作存量红。
回执 commit=94f1bba8(合回闸校验通过)。
|
2026-10-15 22:06:08 +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
|
81c0ee2bb6
|
merge: 规则文件审计与目录划分批——150行上限/领域拆分/范本密度二刀+迭代28变异验证规则吸收(2026-10-15 用户令)
|
2026-10-15 16:34:50 +08:00 |
|
DKChan
|
8bfe7f6d1b
|
merge: master 吸收——迭代28变异验证硬规则按新结构归位(细则迁 test-conventions §6+批次清单插第9条+红线索引一行)
|
2026-10-15 16:34:10 +08:00 |
|
DKChan
|
5858629719
|
docs(规约): 第二刀按真实范本密度压缩——CLAUDE.md 67行祈使句体+流程纪律独立成文(2026-10-15 用户令)
- 对照实测范本(anthropics/claude-code 40 行、openai/codex ≈250 行纯祈使句等七份)逐类清除叙事层:
- CLAUDE.md 140→67:三段开发流程/批次清单/分支纪律/两入口与MC细则/像素纪律全部降级出主文件;红线压成一行一条祈使句+指路;呈报六问压缩为单条索引行
- 新增 process-conventions.md(86 行):三段流程表格化+批次清单 14 条+两入口/MC 触发/分级周期/MC 档位/闸机轮次细则+像素结构件纪律——批次开工时加载
- 新增 code-conventions-cases.md(55 行):全部反面案例+缺陷对照表迁入(不常驻加载);code-conventions 148→92 行纯规则
- doc-conventions 149→120:总纲收一行、论证段压括注、骨架与生命周期条款表格全保
- 规则名全保(两入口铁规/文档同步闸/MC 触发细则等外部按名引用零断链,已全仓扫描核实)
- 机械闸:七文件≤150 ✓ IMPORTANT=0 ✓ 日期残留=0 ✓ 主文件叙事残留=0 ✓ 熵增闸 PASS ✓ doc 两闸零波及 ✓
- 行为验证:全新上下文子代理六问导航 6/6 正确(新增流程/像素面全命中)
|
2026-10-15 15:38:16 +08:00 |
|
DKChan
|
0d308d7156
|
docs(active): 迭代28 台账 495 开工条 + 496 收口条(主区侧写——本批台账不入分支避合并互撞)
|
2026-10-15 15:19:40 +08:00 |
|
DKChan
|
5b958ff61d
|
Merge branch 'iter28-bootlife-20261015'——迭代28 启动装配与生命周期验收补全批(冒烟 1125/0;甲裁:--full t17 存量红认列不阻合并)
|
2026-10-15 15:11:55 +08:00 |
|
DKChan
|
674f88a0cf
|
docs(迭代28): 实现报告成文(含类型闸自纠与 static_scan 结果)
|
2026-10-15 08:24:52 +08:00 |
|
DKChan
|
140e440896
|
fix(迭代28 T1 补): 类型闸 S9 归零(main.gd 合同装配容器注解)
_apply_layer_contract 内 `var tags: Array` 未带元素类型,被 static_scan S9
(tools/audit_type_hints.py R1 无类型容器)判红——iter27 立的类型闸本批唯一
新增违规,随批修为 Array[Variant](与项目机械参数化口径一致)。
S9 由 FAIL(存量 1 处) 归零;冒烟复跑 1125/0 不变。S10 文件头闸存量 125 处
系 2026-10-15 新立规的清偿批在册项,非本批引入,不动。
|
2026-10-15 08:24:12 +08:00 |
|
DKChan
|
18e22f1b44
|
docs(规约): 规则文件审计与目录划分批——150行上限+领域拆分+日期注记清零(2026-10-15 用户令)
- CLAUDE.md 137→140:日期注记全清;文件头红线收敛为指针(全表唯一权威=code-conventions §1.4.1);测试两入口/闸机轮次/MC 档位超长红线拆子条目(MC 精度数字收敛为 sim-data/README 档位表指针);规范导航补 test-conventions/concept-conventions 两行
- code-conventions 210→148:§3 测试纪律拆出独立成文;缺陷对照表与版本历史表退役(历史归 git);反面案例去日期化;与 §1.5 重复的流程条目合并
- doc-conventions 210→149:概念封装/引用纪律/归档三节拆出 concept-conventions.md(原 §7–9 合并桩节标注);§10/§11 保号——active.md 与 tools 脚本存量引用零断链;数值纪律强制收口条款移出表格单元格
- 新增 test-conventions.md(49 行):探针标配/回归断言/提交前全量验证/验收清单落码规范
- 新增 concept-conventions.md(54 行):概念封装建模/跨文档引用纪律/归档与事实源
- 机械闸:五文件行数≤150 ✓ IMPORTANT=0 ✓ 日期残留=0 ✓ 熵增闸 PASS ✓ doc 三闸(gdd_lint/doc_link_audit/doc_term_audit)对改动文件零波及(存量 GDD 基线失败与本批无关)
- 行为验证:全新上下文只读子代理五问导航 5/5 正确(含两份新文档命中与 §10/§11 交叉印证)
|
2026-10-15 08:07:09 +08:00 |
|
DKChan
|
db1bf42322
|
docs(迭代28 T6): 变异验证硬规则落文+机械面文档同步闸
规范落文三处(本批新硬规则「验收函数无变异红记录不算验收成立」):
- CLAUDE.md:批次工作流实施段新增第 9 条(原 9-14 顺延 10-15)
- design/dev/code-conventions.md:新增 §3.6 变异验证操作细则
(注入→最窄闸见红→git 精确还原→记录四步;变异不红二选一处理;
判据强弱分层:运行期断言/golden 逐像素/占比统计类三档)
- req-card 技能(仓外 ~/.workbuddy/skills/req-card/SKILL.md §7 验证闸,
ZCode 副本同步;CodeBuddy/Qoder CN 无此技能副本,不动)
机械面文档同步:
- roadmap.md:迭代 28 行换代为已入库(冒烟 1086→1125/0)、近期主战场
前沿改迭代 29+ M4
- design/gdd/06-待办清单.md:登记条销号改写为已入库收口 + 新增 GDD 反哺点
三条专条(装配合同/boot 后置条件/生命周期矩阵,待用户逐点裁决)
- design/gdd/07-体验验证清单.md:新增 ㉗ 启动态菜单目检节五观测项
顺带清理(非本批引入,基线带入):07-体验验证清单.md v1.0 行处残留
<<<<<<</=======/>>>>>>> 合并冲突标记(iter27-techdebt-20261014 分支合并进
master 时漏解)——两侧均有效故全留(qa 收尾批人闸核销行 + ㉖ 目检节登记行
与正文节),版本号顺延 v1.1,清理注记入 v1.2 行。
doc 三闸对基线零新增(lint 三件/死链 3/术语 5 组均与 master 39c6544 同)。
|
2026-10-15 07:59:25 +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
|
77075e6e7a
|
feat(迭代28 T3): 生命周期存活性矩阵冒烟段(_smoke_lifecycle_matrix 九阶段×五引用面)
驱动复用:V3 debug seed 开局路径+_auto_play_round 活战斗模式(phase/round 守卫+choose_dig)+ui_struct resume 夹具模式,不另起点击链。阶段=闲时/开局停点(地图选路停点态合并)/战斗中/结算后(胜利停点)/选路页/终局面/回菜单收束/各模态开合后(菜单域四模态)/两连局/续玩断点。五引用面=_treasure_ui 2/_bonus 6/_camp_pres 3/_modal_flow 4/_row_pacer 5 句柄+2 Callable+run_scope 13 成员;判据=恒活面有效+会话三面阶段存活态(alive/null/both)+现值回调与 run_scope 成员同源(回调链无悬挂)+收束/续玩换会话无真空窗+旧局 queue_free 消亡。三处判据订正实录:隔离后刷新续玩钮定基/战斗收场判 is_battle_live(胜利停点 settlement 陈旧有效非 null)/调试浮窗开不隐菜单。冒烟 1097→1125/0
|
2026-10-15 07:18:54 +08:00 |
|
DKChan
|
a35581e441
|
feat(迭代28 T2): boot 链路时序后置条件冒烟段(_smoke_boot_chain 六断言)
挂 _split_tail(协程纪律 await):V2a ConfigDB 就绪+表载/V2b 设置已应用(Master 总线 mute/volume_db+UiKit.motion_scale=settings_store 现值,一致性判据与真实设置文件内容无关)/V2c 启动态菜单可见/V2d 续玩钮态==断点在档态(boot 路径关系判据+隔离新档双向:无断点隐/合成断点显/清断点回隐)/V2e 闲时会话在树/V2f 调试浮窗态==DS_DEBUG 门控(两侧同判据)。存档隔离 attach_path 禁碰真实档。冒烟 1087→1097/0
|
2026-10-15 07:07:44 +08:00 |
|
DKChan
|
6f71509421
|
feat(迭代28 T1): 装配语义合同单点化+装配序修复+V2 断言重写
合同常量 LAYER_CONTRACT(16 层全视觉层序唯一事实源:屏壳/两全屏态/12 模态,level_screen 宿主/camp_screen 同槽/curio 对位三特例数据化);_apply_layer_contract 统一落位单口(add_child 后排序+登记同源派生,两处散落 move_child 删除);装配序修复=冒险屏先挂菜单屏后挂(F5 见战斗界面坏事实);V2 断言重写=V1a 启动态顶层可见层=start_overlay(内容层遍历,屏壳容器不当候选——camp 壳透明实证)/V1b 菜单壳在冒险壳之上/V1c 合同树序链逐对保序/V1d 落位单口源码断言;ui_struct_probe career 专属登记序契约推广为全模态 _modal_registry_contract(旧件同批退役)。红→绿记录:修复前 1086 项 3 失败(V1a/b/c),修复后 1087/0。代拍板=合同数据形态(有序数组+host/shell/tags 特例字段)
|
2026-10-15 07:04:02 +08:00 |
|
DKChan
|
39c6544783
|
docs: 迭代28定义已入库(启动装配与生命周期验收补全批)
坏事实三件(main.gd:207-210 装配序错/smoke_all.gd:176 V2 断言保护 bug/菜单截图无内容断言);M4 数值批占位行顺延 29+;需求卡片(不入 git)=design/research/需求卡片-启动装配与生命周期验收补全批-2026-10-15.md
|
2026-10-15 06:30:45 +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
|
58432701df
|
merge: 文件头零工作日志红线+全仓头注清偿(2026-10-15 用户令)
|
2026-10-15 04:09:02 +08:00 |
|
DKChan
|
5f9d8e7b77
|
chore(代码卫生): 文件头零工作日志红线落文+全仓头注变更叙事清偿(2026-10-15 用户令)
- CLAUDE.md 硬性红线新增「文件头零工作日志」;code-conventions.md 新增 §1.4.1(含反面案例)
- 全仓 .gd 文件头注清偿:删除全部带日期条目、批次叙事段与迁移退役叙述,保留并改写为
现在时的职责、接口契约、GDD 锚内容(main.gd 头注 42→31 行、save_manager.gd 49→45 行)
- 纯注释改动零行为变更,按用户令免测试免冒烟
|
2026-10-15 04:08:38 +08:00 |
|
DKChan
|
d5eea25f9c
|
merge: 迭代27卡片核对补遗(V8断言+两条登记+漏网Callable+resolver幽灵通道)
|
2026-10-15 03:03:52 +08:00 |
|
DKChan
|
9a9fa7e8be
|
fix(迭代27收口补遗): 卡片核对缺口三项+resolver 幽灵通道断根
- V8 卫生 grep 断言落地 smoke(字符串 Callable 产品码零命中/FeatsEngine 退役/死代码抽查/GP 影子账零残留)
- 06 补登卡片两条义务(长函数余量 14 件+lambda 连接 76 处防回归)
- 漏网字符串 Callable×2 补装+validator 头注/main 死注记清理
- resolver 幽灵通道断根: reset_warn_dedup 门面参从未存在(字符串 Callable 零校验藏死引用,
方法引用换装编译期暴露)——删参,注册表清空归 resolver 本类方法(门面 :115 直呼即正道)
- 实现报告补核对结案段
闸: 冒烟 1086/0(+V8×5)+类型闸归零
|
2026-10-15 03:03:29 +08:00 |
|
DKChan
|
dd418e5d7d
|
merge: 迭代27 代码架构技术债修复批全量入库(七提交, worktree g-plan2-iter27-techdebt)
五波: T1 场景拆分+会话物化/T2 _settle 五段/T3 RunLedger 账本收口/T4 ModalFlow+模态互斥域/T5+T6 类型闸+卫生件
核心验收: 同种子完整局输出逐位一致——parity_anchor 三变体五跑全同; 冒烟 1055→1081/0; run_all 25→27 套; static_scan 修复后全绿
|
2026-10-15 01:46:17 +08:00 |
|
DKChan
|
eea345882b
|
feat(迭代27 T6+T7): 波五b 卫生件包+文档同步闸——对拍全同
T6 卫生件(P2 组收口):
- 死代码 13 函数删除(审计 16 处复核=ui_kit:486 实读现役不删,追认单#14)+FeatsEngine
整文件退役(class_name 注销)
- 字符串 Callable×10 位→方法引用形态(编译期方法存在性校验;语法实证 METHOD_REF=true)
- 状态机 enum 化: adventure State(外部 String 契约 getter 词表逐位一致+外部纯读实证)/
standee HeroState(register/set String 形参零变化+probe 面恒等)
- ConfigDB _fatal 退出归根(核心层去 quit/crash→_fatal_flag,决策归组合根 fail-fast 通道)
+resolver 诊断/数据通道全面 Callable 化(ConfigDb↔Resolver 类型环断根)
T7 文档同步闸:
- 实现报告 design/qa/iter27-实现报告-2026-10-14.md(五波+闸表+追认单十五项+反哺点两条+目检五件)
- 06 迭代 27 条销号+GDD 反哺点两条新条;07 ㉖ 目检节+v1.0 版本行;roadmap ✅ 换代
- 审计报告本体按退役规则 git rm(吸收即死;修正计数由卡片承载);卡片来源行改指路
闸: 对拍三变体全同(第五跑)+冒烟 1081/0+run_all 27 套+probe click+render golden+static_scan 全绿
|
2026-10-15 01:41:37 +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
|
8b9e55673f
|
refactor(迭代27 T4): 波四 ModalFlow 抽取+互斥域 tags 化+双 context——对拍全同
P1-5/P2-7 组合根可测化+模态协议内聚(场景拆分后重估结论=抽取面收敛为模态编排域):
- modal_flow.gd 新纯逻辑类: 依赖仅 ModalStack+查询 Callable(审计处方)——开合编排
(挂起兜底/排播排空/遮挡记账/开合同步)/棋盘输入锁谓词(三例外注入)/双形制角标谓词;
V6 modal_flow_test 19 断言直接 new() 进 run_all(26→27 套)——测试抓出并修正
挂起兜底 divergent return 一处(原 main 语义=先结挂起后继续开本层不短路)
- ModalStack 互斥域随层登记: register(m, tags) + TAG_NON_LOCKING/TAG_SCREEN_STATE
封闭词表 + has_open_excluding_tags 组查询;原 has_open_excluding/_any 调用点拼装退役
(main 五处判据迁移);main._modals=flow.stack(ui_struct _list 登记序断言缝保留)
- P1-5 控制器构造收拢 context: curio 16 参→CurioFlowContext/camp 13 参→CampFlowContext
(字段逐一同名迁移,控制器可独立实例化)
验收: 对拍三变体全同;冒烟 1079/0+run_all 27 套+probe click+render golden 全绿
|
2026-10-15 00:31:36 +08:00 |
|
DKChan
|
5a188f3ff0
|
merge: qa/ 实现报告未处理项清零·收尾批(14 条反哺落文+29 项追认+孤儿 7 项补登+人闸核销+14 份报告退役)
|
2026-10-15 00:25:11 +08:00 |
|
DKChan
|
4fba0d036e
|
docs(qa收尾): 实现报告未处理项清零——14 条反哺落文+29 项追认+孤儿 7 项补登+人闸核销+14 份报告退役
用户四裁(2026-10-14):反哺点 14 条全部按呈报落文 / 追认单 29 项全部追认通过 /
孤儿遗留 7 项全部补登 06 / 实机目检已全部完成(回报未呈报问题)。
反哺落文 14 条:
- iter24 五条 → 敌人系统.md v0.18(敌表 attack_type 字段行+矩阵消费面双向在役/
技能错峰两轨/敌种表两行池构成/hobgoblin 缺口登记)+ 难度曲线与Boss.md v0.29
(N1/N2/N3 只测不判读数登记,数值终值归 M4)
- iter25 三条 → art-bible.md v3.14 §7.6(二) 原生控件组件规格 + 06「UI 元素细节修」
条①措辞订正(「同一个深棕色」不符代码面,实为 2.84:1)+ §7.6 末注主题色值双源
- iter26 四条 → art-bible.md v3.14(§7.6(一) 按钮五态矩阵 / §4.1 三 token 语义岗
登记+色板 42→45 / §7.6(三) 氛围层两派并存留样张批 / §8.2 Nearest+LINEAR 豁免清单)
追认单 29 项全追认(iter24 §四 8 含 #6 敌方克制消费补行=验收闸强制最小补点 /
iter25 §四 8 / iter26 §四 13),三报告追认单节已标注;iter20/21 按前序既有裁决
记录补齐簿记标注(十条/十二条前序已裁)。
孤儿七项补登 06 专条「qa/ 实现报告收尾·孤儿遗留七项」(design/diagrams 越界/
开场行后缀认加算区/STONE 外溢位/迷雾三关扩对/字面量墨收测前置/TG_* 装饰带判据/
数据配置 223+商店房截图纳屏)。
人闸核销:07 ⑮真人半+⑳㉑㉒㉓㉔㉕ 七节加核销注记(版本行升 v1.0)+iter20 五件
与 V20+iter19 存活八项+迭代18 清单 18 项(卡④ 提灯三项与卡③ 盯梢项标过期失效)。
报告退役:qa/ 下 14 份迭代实现报告删除(iter19 七份+iter20/21/24/25/26 本批+
iter22/23 前会话已删件经用户确认一并清出)——清理口径三条件(反哺全落文+追认全
通过+无报告自身未结项;07「不阻塞」人闸不计入)全部满足;保留 ui-audit 目录/
ui-audit-vs-demo/迭代18 清单(非实现报告)。06 五处指向已删报告的链接改
「已退役,git 历史可考」措辞。
闸:doc 三闸对基线零新增(gdd_lint FAIL=06/07/术语表基线三件;doc_link 死链=
存量 2;term 命中=存量 3)。git 历史可恢复全部已删报告。
|
2026-10-15 00:24:31 +08:00 |
|
DKChan
|
b93d27e33f
|
merge: 闸机轮次纪律补共享件例外句(worktree g-plan2-gate-exception)
|
2026-10-14 23:58:47 +08:00 |
|
DKChan
|
35301f4ff9
|
docs: 闸机轮次纪律②补共享件例外——全套即最小充分单元(文本验证实证的缺口补齐)
|
2026-10-14 23:58:25 +08:00 |
|
DKChan
|
4c245306f3
|
merge: 闸机轮次纪律入库(根规范闸分级同域新增四条钉子,worktree g-plan2-gate-discipline)
|
2026-10-14 23:33:34 +08:00 |
|
DKChan
|
677b2271eb
|
docs: 闸机轮次纪律落文——孤立验证先行/调试期最窄确认/长批试车/开工坑册扫描(迭代27 T0/T1 全套闸白跑复盘立规)
|
2026-10-14 23:33:15 +08:00 |
|
DKChan
|
6fd7d782cc
|
refactor(迭代27 T3): 波三 账本收口——RunLedger 单类持四账+刷新双账删副本+gp_final 键删影子账——逐位一致对拍全同
P1-4 共享账本 Ledger 类化(裁点②甲 单类持四账):
- game/core/run_ledger.gd: attune_charges/vision_counter/adventure_counters/bonus 四账
单类承载;战斗侧只拿 read/append 原语(attune_charge_has/set/consume、vision_count_add、
counters_seed_snapshot/merge_export、bonus_add_axis)——战末 export/开局 seed 时点语义不变
- AdventureRunner 持账(run_ledger)→ LevelRunner set_run_ledger+sync_attune_inventory
(原四散 setter 收口)→ enc 单键 ledger 下传;编排器三裸引用成员退役为 _ledger 原语调用
- 调试/单场缺省新账=零扰动面(vision_counter 缺省空=不计,原 enc 缺键守卫语义保留)
P1-2 刷新双账收口:
- main 刷新计数副本(run_scope.refresh_used_round)删除;单一事实源=编排器受理计数
- presentation_snapshot 成文面升键 refresh_used(can_refresh 邻位)——HUD 余量/遥测
round_refresh_index 单源读快照;V5 快照一致性断言×3(smoke+ui_click HUD 文本比对)
P1-3 GP 影子账收口:
- adventure_runner summary 增 gp_final 键(close_wallet 清账前快照)
- gp_shadow_ledger.gd 全件退役删除;main 委托缝/会话账本成员删除;终局面板 GP 行
取数=summary 键;ui_probe 影子账断言换代为 summary 键断言
验收: 逐位一致对拍三变体全同;冒烟 1079/0+run_all 26 套+probe click+render golden 0.00%
|
2026-10-14 23:25:45 +08:00 |
|
DKChan
|
26301baa9c
|
refactor(迭代27 T2): 波二 _settle 五段拆 Segment+_resolve_hero_attack 拆步——逐位一致对拍全同
P1-1 结算巨函数拆段(裁点③甲 审计五段):
- game/core/settlement/ 五段类: GrantSegment(授予段体+旗判随段迁入+counter_add 五位/
grant_material 三位分支单点化)/AuraSegment/CombatSegment(原 _combat_segment 体)/
DecaySegment/VerdictSegment(返回裁定,终局早退语义留宿主)
- 编排器 1725→1325 行退为段序编排+行发射/开单原语单点;_judge_flag/_combat_segment
旧实现同批删除;smoke 白盒 rig 随段迁址(orch._grant_seg._judge_flag)
姊妹病灶(同批):
- damage_controller _resolve_hero_attack 148 行拆四步: _hero_attack_ctx(命中面/按序改写
族四拍)→_hero_attack_base_value(加法族/计数器施加/倍乘)→_hero_attack_redeem(掷点/池乘/
rider/落地/击杀)→_hero_attack_deliver(状态/交付行);ctx/redemption 字典穿线算序逐字保留
验收:
- V4 settle_segments_test 16 断言进 run_all(25→26 套)
- 逐位一致对拍三变体全同(RUNSUM+JSONL 双面零漂移);冒烟 1077/0+run_all 26 套
+probe click+render golden 0.00%
|
2026-10-14 22:09:29 +08:00 |
|
DKChan
|
7a0d57ddb0
|
feat(迭代27 T1): 波一 场景拆分+局生命周期物化——逐位一致对拍全同
P0-1 三屏场景化(契约2 只拆不重写):
- menu_screen/camp_screen/adventure_screen 三 .tscn 屏壳+壳脚本(视图代码原样构建,
40+ views 零 .tscn 化);adventure 屏壳内含 level_map/battle 两容器
- main.gd _build_ui 解体=三屏实例化+模态装配+接线;组合根句柄全部保留(探针挂载
假设 main.X 一级路径零迁移);树序=屏壳在前全模态之下(视觉共存对逐对验算)
- 屏壳根 mouse_filter=IGNORE(ui_input 实证:全屏 STOP 壳吃下层模态鼠标输入)
P0-2 会话物化(裁点①甲 autoload+手工清单消亡):
- run_scope.gd 节点持全部局态(adventure/runner/settlement/7+ 局态旗/账本);
_begin_session 建会话、终局整节点 queue_free()——_reset_run_scope 三项+
_on_battle_end_continue 置空四件手工清单删除
- SaveManager/MetaProgression 升格 autoload 3/4 号位(类名加 Core 后缀沿 RngService
先例;--script 模式编译器不解析裸 autoload 标识符——组合根留读视图属性 get_node 形态)
- 探针隔离改 attach_path 原地重置(set_master_seed 先例);10 探针+pacing 测试迁移
验收(V1 核心=逐位一致对拍):
- parity_anchor 三变体 base/attune/shop×40 局 RUNSUM+JSONL 双面逐位全同(零行为漂移)
- 冒烟 1055→1077/0(+V2 屏壳独立实例化 11 断言+V3 两连局复位 11 断言)
- run_all 25 套+probe click 全绿+render_gate golden 0.00%×3
|
2026-10-14 20:28:53 +08:00 |
|
DKChan
|
7a67c64213
|
merge: 美术审计 canvas 页转 HTML 入库(自包含单文件,worktree g-plan2-art-audit-html)
|
2026-10-14 19:28:42 +08:00 |
|
DKChan
|
7825dd0755
|
docs(美术审计): Cursor canvas 审计页转自包含 HTML——组件语义映射+双主题+行色条,浏览器渲染已验
|
2026-10-14 19:28:24 +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
|
4f6d073d3f
|
merge: 美术审计 Cursor 会话存档入库(canvas 审计页终版+两轮会话记录,worktree g-plan2-art-audit-archive)
|
2026-10-14 18:25:53 +08:00 |
|
DKChan
|
f122df5571
|
docs(美术审计): Cursor 会话「Game UI and art optimization」全量存档——canvas 审计页终版+两轮会话记录(周额度中断,末条回复自会话库补齐)
|
2026-10-14 18:25:32 +08:00 |
|