Commit Graph
16 Commits
Author SHA1 Message Date
DKChan b3f9b448e6 style(类型闸): level_table 图校验 by_id 改参数化字典——清偿迭代35卡② 引入的 S9 存量红
validate_graph 拆段时新写的 `var by_id: Dictionary = well["by_id"]` 命中 S9 R1
(显式非参数化容器注解),使 09 静态扫描在代码域批恒红。改为 Dictionary[int, Dictionary]
+assign 显式收编(Variant 不能隐式赋给参数化字典,实测报错后改此形态),行为逐字不变。
单测 level_table_validate_test 17 项全绿。
2026-10-25 03:28:27 +08:00
DKChan 39cdc4f671 style(迭代35卡②自查): 本批唯一真新增的 S13 质量违规自修——图校验单点 validate_graph(新写函数 72 行/20 分支/12 局部,超阈值且无基线可赖)按判据分段拆成 _check_nodes_wellformed/_check_edges/_check_terminals/_check_reachabilities 四段静态件,短路次序与错误类别词表逐字不变(良构错先于出边错、出边错先于入口终点检、再可达性检),〔v1〕17 条夹具断言复跑全绿零改判据;闸余 12 项经逐条对基线旧值核实为存量债计数漂移(cross_validate 159→107 行/31→21 分支系本批删跨表④所致的改小,level_runner 类变量 40→38、start_level_external 参数 8→7、其文件长度违规已消失,main.gd 1509→1507,resume_adventure 104→108 行为断点代差标记检查)——处置口径待用户裁(随批重生成基线/退 S13 批自修/本批重构),本笔不动 tools/gdstyle_baseline.txt 2026-10-25 00:22:55 +08:00
DKChan 78924fddbd style(迭代35卡②T3): 静态扫描 S9 类型闸归零——R1 无类型容器三处参数化(level_runner 参数档/生成图持有变量、level_table validate_graph 逐节点变量改 Dictionary[Variant, Variant]);产品码类型闸与 node_map_templates 宿主同跑复验绿 2026-10-24 19:11:22 +08:00
DKChan c0dd442060 feat(迭代35卡②T1): 加载校验换代——LevelTable.validate_graph(nodes) 静态单点承载四检+良构基底(①入口≥1 且终点≥1 ②全员从某入口可达且可达某终点 ③终点恒 Boss 且 Boss 无出边 ④出边目标深度严格大于源=无环;良构=句柄唯一·出边全命中·type 五类枚举·battle 带深度),表加载期图校验与旧六判据(Boss 恰一/战斗≥2/单链末 Boss/前三位纯战斗/出度≤2/Boss 编号最大)连同模板池校验分支、BFS 层宽≤5 一并退役,行级校验保留
- 新宿主 tests/unit/core/level_table_validate_test.gd〔v1〕15 条(正例三形:多入口多终点/含岔口单终点/单链退化显式出边;负例八类;范围反证三条:无商店图不报错·双入口合法·缺 next 字段仍拒)+run_all manifest 登记一行(59 套件全绿)
- 判据②与④在 DAG 上互斥的实证:无环图每个源点必为入口、每条极长路必止于终点,故「孤儿/断头」构造不出独立负例——② 保留为 ④ 失效时的纵深防御面,测试以两独立链正证不误伤(该关系拟入反哺点,文档判据②的表述宜注明其兜底定位)
- 旧断言随动四条(声明,非静默放宽):level_shop_economy ③ 段整段改走 validate_graph 并把「入口唯一违例」翻为合法正例、「孤儿」改为非 Boss 终点;level_map_type_vis 夹具注释订正;round_flow_skill_pool 敌表池清单 20→28 行补齐覆盖批八行池克隆键;board_gen_reward「(2,3) ceil 上取」改判精确命中并以临时摘同行的夹具面保留 ceil 能力判据(覆盖批补齐键域后旧判据对象消亡)
- 件核:全仓 grep 六判据消息文本零残留(唯一余留在 level.tres 表尾模板生成史注释,随 T3 模板清出一并消失)
2026-10-24 15:52:21 +08:00
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 6d601d23dc chore(禁写变更记录批): 版本历史节/日期批注全面废除——gdd_lint R4 反转禁设+三工具去豁免+48 文档删节+game/README 流水段删+代码注释 900 余行轨迹标签清偿(约束句保留)+规约/skills 五层指令面同批改指 git 沿革 2026-10-20 00:22:18 +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 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 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 cd1ed95b55 merge: master(04edd55 硬锁v3.1/probe适配四件/出度≤2新模板/血量pct修复)并入修复批——解冲突3处(ui_click_probe三态分派取master侧+ProbeUiUtil助手统一/main.gd锁期点击缓存重放保留+排播变量以RowPacer委托面承接/row_pacer新增pump_ended注入回调承接v3.1演播完边沿重放)+修复解冲突引入的解析错误(三态分派链缩进);闸=冲烟636/0+run_all 15套+headless五探针绿+窗口化三件绿+熵增PASS;ui_click_probe budget耗尽与typed-array错误经纯master对照=1:1同源(master既有,归T17在飞批) 2026-10-02 10:42:52 +08:00
DKChan d1460327a4 T5 core/data结构段: config_db拆R1解析器+跨表校验器两类(门面38消费方签名零变化)+三选一双渠道参数化(_apply_bonus_pick共享/守卫收AuxItems.can_accept/替换子交互保守分轨注记)+rest回血单点+行主序键单点+魔法数结构化(bonus_candidate_count默认3/出生区9/数量域常量——值零改动)+level_runner Phase enum(外部读面零变化)+表访问收口(aux走访问器/行集直扫三处收口/删clamped_pool壳与死变量erow/_minesweeper_ref包装)+tune_sim反向依赖解除(构造注入缺省null兜底)+类型注批量;闸=冲烟636/0+run_all 15套+探针全绿+MC对拍200局逐位一致 2026-10-02 08:46:12 +08:00
DKChan be772cfb2f T17反馈批收官: ①结算演播硬锁v3.1——锁期点击缓存+演播完边沿自动重放(玩家操作零丢失——实机卡死感根因=锁期点击被吞无反馈)②恢复被平反的两修复——血量口径(置满/回血封顶含pct)+选路呈现(干线偏移+非候选降透明)——probe卡死真因=probe未适配迭代10 BonusPickOverlay(假阳性扣压平反)③减动效按钮——文案不刷新bug修+语义命名「结算演出动画:完整/快速」+操作提示内联④出度≤2全套(用户拍板)——level_table第七检fanout_violation+L2L3十张模板重建(tools/t17_fanout2_rebuild.py五骨架出度≤2/层宽≤4/类型序列保持/自校验四检)+层宽上限5废止(数学不相容)改4+钉固断言5处随新图+文档两处(生成v0.6/地图v1.3)⑤probe适配BonusPick三态(替换/result继续/待选确认)+预算耗尽放弃收口+排播豁免;闸=冒烟628/0+run_all 15套+三探针+doc三闸零新增;连带义务=MC读数基线随图变漂移全旧锚作废只测不判,重锚归下一测量批 2026-10-02 08:11:06 +08:00
DKChan 104cea6461 fix(review-batch3): 类型收紧生产清零137处(P1-2三步+延伸)+autoload class_name(ConfigDb/RngServiceCore)与_init标注(P2-1)+validate_skill_pool_links/ShopTable标注(P2-4)+相位enum外String面(P2-2)+typed-rows探针实证.tres装载转换;smoke缝合20处rows.assign+str(bb)同语义;审计生产双归零(240→103/83→59全测试链),单测7套绿,冒烟576/0同基线 2026-09-29 07:01:29 +08:00
DKChan c3c1725db8 rework(iter5): U2返工批 T-A/T-B/T-C——C1两刀终态(percent回退5)+AC v1硬梯度重投(重击手8/重装手9/Boss 8/10/12,杂鱼按T4§一软梯度代拟恢复)+registry三处同步;节点图池按U2两规则全池重生成(L1前三位纯战斗/L2L3层宽4-5,模板0随重排名保持现行后缀)+level_table两规则加载校验+钉固断言期望随新图7处更新;完美L1新杠杆提案(子路②荆棘外延推荐)落design/research;新15张预览图+渲染器两修(纵向自适应/拼图3x5);熵增闸design/qa图像白名单收编(CLAUDE.md同批);冒烟576/0+五探针PASS+doc三闸零新增+熵增闸PASS 2026-09-29 04:16:50 +08:00
DKChan 3f73e16366 feat(m3-iter5-T5): 关卡节点图生成特性批·台阶一全落地——15张骨架(3关×5,模板0=现行图回滚档;L1单链排列变体/L2L3网状图变体,战斗id恒∈遭遇表行集,商店必经位承袭)+node_map扩签(标签不参与派生只进日志,黄金向量零动)+首次冒险固定脚本(存档布尔位唯一新增域,老档迁移=true,收束点置位幂等)+池内全模板加载校验(validate抽出与跨表校验模板感知)+MC分层出数(RUNSUM level_templates逐节点模板名,抽查五模板全被抽中);冒烟558→576(新增17断言:池参数/零scope强制/抽签确定性/N=1等价/首冒分支/收束置位幂等);生成器tools/t5_build_templates.py含生成前自校验 2026-09-28 23:20:00 +08:00
DKChan 13f93c74ff chore(structure): 垂直切片转正——prototypes/dungeon-sweeper-vertical-slice 迁为 game/,26 文件路径同步(CLAUDE.md/tools×4/tests×3/QA脚本×3/GDD×6/架构文档),static_scan S1/S2+S4 规则集首跑收敛(用户拍板 2026-09-24,台账 148) 2026-09-24 04:02:21 +08:00