Commit Graph
141 Commits
Author SHA1 Message Date
DKChan 7493aebca8 chore(文档缺陷订正与机检补件): 四份根文件用词与死指订正+新增引用可核机检件
修文档缺陷四处:AGENTS.md「收口」×2、「不得」×3 换白话;roadmap.md:87「对拍」「标旗」换代;
reports/README.md 指向已迁移的 design/gdd/06-待办清单.md 改指仓库根;待办清单 iter19 遗留第⑦项
前半「数据配置.md:223 历史行死指」实查核销(该文件版本史行已随禁写变更记录规约消亡,现 212 行)。
补机检:tools/doc_ref_audit.py 核文档内「文件:行号」指针的目标存在性与行界,带扫描面为空与
引用数为零双自检;双向变异证据——注入不存在路径 EXIT=1、注入超界行号 EXIT=1、还原 EXIT=0。
doc_term 扫描面扩到四份根文件:扩面前实测这批文件自身含 3 处用语表废止词,先改现实再扩面,
扩面后「疑似现行」0、注入「完美排雷」见红 EXIT=1、还原 EXIT=0。
08d 引用可核暂不注册进闸壳:建档须改 game/tests/.gates/baseline.json,触 game/ 即要求代码域全量测试,
文档域批按测试两入口铁规零跑——注册欠账已登记待办清单。内容锚核对实测 81 处出 58 条未命中(约七成噪声),
按建议级交付不判红。文档域闸全绿。
2026-10-21 05:51:17 +08:00
DKChan fc1e802721 merge(迭代32反哺写入批): 29 项反哺点按 2026-10-21 用户裁决全部落文——措辞换代八件+术语表增行+doc_term 补词扩面(变异见红)+architecture v1.9+提案 v1.3+账面四条目,文档域闸全绿 2026-10-21 04:14:57 +08:00
DKChan f2b2558098 docs(迭代32反哺写入批): 卡①卡②两份反哺点清单 29 项按 2026-10-21 用户裁决全部落文
- 措辞换代:八件 design/ 文档「完美排雷」→「完美封印」(art-bible v3.17);术语表「退役词对照」增行成 S11 词表权威来源
- 闸扩面:tools/doc_term_audit.py 词表加「完美排雷」+扫描域扩 design/art(用户裁 2026-10-21);变异验证=注入见红 EXIT=1、还原回绿
- architecture.md v1.9:effect_engine/orchestrator 行与战斗域装配节改 ctx 形态、架构原则补第 8 条「系统无状态」、flag_missed→seal_missed 两处订正
- 提案 v1.3:§7.7/§7.10.3/§7.10.12 三处依卡片 §12 裁①②订正;sim-data/README 纪律③⑦批次例外登记
- 账面:待办清单增反哺专条×2/重锚批准条目/game/ 域欠账条目,无状态原则条「文档设计已闭合」;体验验证清单增 ㉚ 目检五项
- 代拍板两单 14 条用户全部追认(2026-10-21);文档域闸 --docs 全绿(含 08c 流水线闸 70 条目零红)
2026-10-21 03:51:28 +08:00
DKChan feaf01454a docs(验收闭合): 测试规范新增 §9 改动级验收闭合——每个需求点与行为改动都要真实入口断言+撤销证明,合回前独立验收审计
病根=测试规范 §5.2 只要求「每条清单条目至少一个自动断言」,没要求断言从改动的真实入口进入:
裸 EffectEngine 断言可替 BattleOrchestrator 接线,报告写「V1 绿」而 V1 断言并不存在。

- test-conventions §9(9.1–9.8):验收单位=行为改动;四层与真实入口;改动—验收对照表六列
  双端对上(需求点正向、diff 反向、断言挂载测试侧);撤销证明(改既有行为回退变红、新增行为
  变异变红);禁削弱测试;明确不要求 TDD;合回前独立验收审计;旧卡不回头改、开工前补齐
- process-conventions §3:第 7 条挂对照表、第 9 条补撤销证明、第 10 条合回前审计、新增第 16 条
- AGENTS.md 硬性红线新增「验收闭合」,与变异验证并列
- pipeline_gate 新增 C3:卡片须有对照表节、五个必需列、至少一行、必填格非空、全文声明验收审计;
  只查结构不判语义(生效 2026-10-21,按卡片文件名日期追新)
- reports/README 与 batch-closure 同步验收审计报告的落点与退役判据
- 待办清单登记「验收闭合规则——下一次迭代实测评估」,按规则评估红线等真实迭代检验
2026-10-21 03:42:37 +08:00
DKChan 4acdd37656 merge(流程文档迁出GDD批): 待办清单与体验验证清单迁到仓库根并去编号,gdd_lint 体裁后门清零,文档域闸验收通过(回执 commit=7aee5eb7) 2026-10-21 00:10:04 +08:00
DKChan 7aee5eb71a docs(流程文档迁出GDD批): 待办清单与体验验证清单移到仓库根并去掉编号前缀
两文件是流水线流程件而非游戏描述件,此前住在 design/gdd/ 造成三处不适配:
gdd_lint 必须为它们逐条关掉体裁规则、格式权威却写在 doc-conventions §12、
与同族的 roadmap(在仓库根)分居两处。迁到根后按 roadmap.md 的无编号风格改名。

- 迁出:design/gdd/06-待办清单.md → 待办清单.md;07-体验验证清单.md → 体验验证清单.md
- 指向改写 53 个文件:GDD 各系统文档指路存根、四份规约、02 根索引、README/roadmap/AGENTS
- 两份清单自身 74 处出站链接按新基址重指(../art → design/art、systems → design/gdd/systems)
- gdd_lint:待办/体验验证两文件的 R1/R3/R5/R7 豁免行随迁删除(已脱离扫描面),后门表清零
- pipeline_gate 默认路径、log_analysis/render_gate 称谓、repo_structure_audit 根文件白名单同步
- 保护面补写:两份清单列入实现批禁写清单(AGENTS 两类批条 / process-conventions §12 / 架构文档域表),
  条目状态只由流水线各段推进
- 范围外未动(用户令「全不碰」):reports/ 与 design/research/ 的 22 处历史指向、game/ 两处注释
2026-10-21 00:09:40 +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 a9d5ac13db feat(卡② T7-V12): 同种子复放比对器 parity_compare.py + 三组判读记录
--mode parity(off 组整条逐位相等)/--mode input-parity(formed/rules 输入面八字段+顶层字段集恒等+局数种子集一致);
退出码 0/1/2,字段集从基线推导。判读结论:off 组 base==post 逐字节一致(bf084ef3…,确定性零漂移);
formed/rules input-parity PASS(输出面差=已定性预期行为变更);rules≠off 0 局相同(分组非空转)。
基线=master 码+采集器修复重采(卡片 f75acc15 基线因卡① 改 game/ 作废,据 T0 重采,哈希 2d3d4247/0fcbcb26 复现卡片在册值)。
2026-10-20 23:38:33 +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 dafc554093 fix(闸壳): 06b 变更记录节档只报 R4——全规则集归默认档,避免体裁红混入禁设判定 2026-10-20 05:50:13 +08:00
DKChan 8a68c9ea11 merge: 同步 master e92a18e1(卡片落位 reports/+dev→engineering 改名批)——四处版本历史节冲突取本批删除侧,reports 卡片重放禁写变更记录清理,06b 闸扫描面扩 reports/ 2026-10-20 05:46:28 +08:00
DKChan f19d893a08 merge: 同步 master 71b88e3b(卡片落位迁 reports/ 批)——AGENTS.md Project Layout 冲突取双方意图(engineering 行+卡片批新版 research 行),顺带修除 master AGENTS.md 误入库存的未解决冲突标记(上批闸不扫 AGENTS.md 致漏网) 2026-10-20 05:37:36 +08:00
DKChan f406002766 docs(dev目录正名·engineering): design/dev 更名 design/engineering——名实对齐(目录实存=架构+五规约+引擎参考的工程知识域)
- git mv 15 件本体;13 个引用文件 34 处路径同步+熵增闸 DESIGN_SUBDIRS 白名单同批改判
- 白名单漏改时熵增闸当场真红(子目录越界拦截能力实录验证),同步后全绿
- game/tests 三件套注释按用户特别授权批后主区直改(不入本批);reports/research 暂存档按吸收即死原则不改
- 文档域闸全绿:gdd_lint/doc_link/doc_term/流水线闸/熵增闸
2026-10-20 05:33:34 +08:00
DKChan d6356d8dbe merge: 同步 master d5f95e7f(art/ 边界批)——三处冲突=对方 art 改名/迁移 vs 我方路径重基准,取对方内容改动+按新落位换算路径(comfyui-prompts→art-prompts、美术审计件迁 research/) 2026-10-20 05:30:37 +08:00
DKChan 0616af94fb docs(卡片): 需求卡片落位迁至 reports/——路径依赖、规则说明、流水线闸、工作流技能全量同步
用户裁:需求卡片属过程件,不留在 design/;统一落 reports/(不新设目录,卡片靠「需求卡片-」文件名前缀与报告区分)。

搬移:
- 10 张在役卡片 design/research/ → reports/(git mv,历史保留)
- 卡内相对链接全部重基准:../gdd→../design/gdd、../art→../design/art、../../→../、
  同目录 research 引用→../design/research/(营地澄清、playnote、资源配比提案);
  链接解析校验 BROKEN=0

路径依赖(全库 48 处):
- 06 待办清单 10 条卡片路径、roadmap 迭代 31 行 2 条、reports/iter31 报告与反哺点各 1 条
- 代码术语审计报告 2 处、会话提示 1 处、资源配比提案 1 处

规则说明:
- AGENTS.md Project Layout:design/research 行注明「需求卡片不在此」;reports 行扩为「过程件容器」
- doc-conventions §11 暂存地表拆为两处;§12.1 状态机示例改 reports/
- reports/README.md:定位由「迭代批产出物」扩为「过程件容器」并新增需求卡片行

流水线闸:
- pipeline_gate.py CARD_DIR / RESEARCH_RE / 报错文案三处改 reports/(闸 PASS,卡片口径 10 张全过)

工作流技能(.zcode/skills,不入 git):
- req-card :8 落位 / :27 三份已退役范本改指现行卡片 / :92 06 回写口径
- iter :19、iter-plan :28/:66、batch-closure :3/:63/:65
- 用户级副本 C:/Users/DK/.workbuddy/skills/req-card/SKILL.md 同步三处(技能列表启动时加载,需重开会话生效)

未动:design/art、design/qa、提案、playnote、道具退役素材库、会话交接件(归其它会话)。
闸:run_all_gates.sh --docs 验收通过。
2026-10-20 05:28:42 +08:00
DKChan 2b5f1d1a54 docs(art目录边界): art/ 判据定为载体性质——审计报告与调研归 research/,提示词库改名 art-prompts,规约补正文单点维护
art/ 三份审计产物处置:cursor 会话存档与 canvas 转 HTML 两份迁 design/research/(各自头部写明接收方),
2026-10-06 美术资产链路审计报告 HTML 从未入版本库、移入 gitignored archive/ 后从 art/ 清除;
06 与 08 两处裁决录链接、两张需求卡片的四路指针随迁移改指 research/。
comfyui-prompts.md 改名 art-prompts.md(名字指本地 ComfyUI 与实际渠道不符),五处现行指针与链接标签跟随,
版本历史留痕行按文档纪律不改写。
doc-conventions 第 5 节加「正文单点维护」一行(一条规则句只写在 owner 文档,执行侧必须带字面值时豁免但须注明冲突以 owner 为准),
第 11 节「六目录」改「各子目录」;据此把生图操作单里复述封印黑与旗朱色值及沿革的那条注记改成指向 character-design §5.4 的指针。
repo_structure_audit.py 加第六查 design/art/ 内容白名单(只许 .md 与 references/),文首查数与通过行随改;
AGENTS.md Project Layout 的 art/ 与 research/ 两行按新判据改写。
06 新增待裁决一条:candidates 目录在熵增闸退役名单与 asset-path-map 现行目录表里得到相反答案,两份操作单又指它。
变异验证:art/ 放 .html 与放子目录两况均 FAIL,清场后 PASS。
2026-10-20 05:15:02 +08:00
DKChan fe47f48e0c merge: 同步 master e8a29342(qa目录退役批)——四张卡冲突按「卡已退役」取删除,master 侧改动仅为 design/qa/ 路径内联,信息零损失 2026-10-20 03:51:25 +08:00
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 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 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 6d601d23dc chore(禁写变更记录批): 版本历史节/日期批注全面废除——gdd_lint R4 反转禁设+三工具去豁免+48 文档删节+game/README 流水段删+代码注释 900 余行轨迹标签清偿(约束句保留)+规约/skills 五层指令面同批改指 git 沿革 2026-10-20 00:22:18 +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